记:破解MFC小程序00

在很久很久以前,有几个加密过的小程序
然后,他们被我破解了….
这里写图片描述

首先来看第一个,如下图:
这里写图片描述

我们需要把“开启MFC之门”的这个按钮点亮
有两个思路:

      ①:首先用资源编辑器查看一下程序的资源有哪些,尝试一些解题的方法
      ②:查看反汇编代码,通过修改反汇编代码来达到破解题目的目的

方法 一:

      把exe文件拖进资源编辑器中查看资源

这里写图片描述

      我们看到有一个以正常方式打开文件时没有显示的“确定”按钮,并且这个按钮应该是可以点击的。如果是这样的话,我们可以通过 Tab键来切换程序界面中的焦点,把焦点切换在“确定”按钮上来点击,也可以通过点击“确定”按钮来点亮“开启MFC之门”按钮。

      然后,我们通过资源编辑器打开文件的目的基本达到了,但是既然通过点击“确定”按钮可以点亮“开启MFC之门”按钮,那么把他们的ID互换之后是不是可以解开“开启MFC之门”按钮的禁用?

这里写图片描述

      更改按钮ID之后,编译一下脚本,再保存下来

这里写图片描述

      成功点亮!

方法 二:

      把按钮禁用的函数是EnableWindow,使用OD打开程序,先查看程序有没有使用EnableWindow函数,如果有使用这个函数,在命令行出输入“bp EnableWindow”,在EnableWindow函数出下断点。

这里写图片描述

      断点断在这里。

      这里是EnableWindow函数内部,我们找到上一层,传参数的那一层。
这里写图片描述

      这是调用EnableWindow函数的那层,这层是系统生成的代码,跳过,再往上找一层

这里写图片描述

      来到这么一层,我们看不到任何系统生成的痕迹,肯定就是程序员写的代码,EnableWindow有两个参数一个是窗口句柄,一个是BOOL类型的,如果是false则窗口被禁用,是true则被启用。

      我们看图片,有两个push 一个是push 0x0,一个是push 0x3E8,这个0x0很有BOOL类型参数的嫌疑,如果怀疑,我们就修改一下汇编代码试一试,将push 0x0修改为push 0x1,保存成另外的exe文件。
这里写图片描述

      打开新保存的exe文件,就会显示“开启MFC之门”的按钮被点亮了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值