花生肉泥 Blog

破解MFCApplication1

2016/05/31 Share

方法一:字符串查找

首先用ollydbg打开我们要破解的软件

upload successful

按F9使程序运行起来

upload successful
我们想要知道点击”买入“按钮以后,程序调用了什么方法实现的。
接下来开始破解:
首先点击“买入”按钮,可以看到

upload successful
接下来我们通过

upload successful
中文引擎搜索,搜索我们刚才看到有有关信息,例如“Hello”

upload successful
然后双击
upload successful这个地址,跳转到MFVAppli中:

upload successful
首先就在当下设置一个断点(F2),然后重新开始,
点击“买入”按钮时,就会暂停到如下界面

upload successful
按F8单步调试,发现到01316703 FF15 70C23201 call dword ptr ds:[<&USER32.MessageBoxA>] ; user32.MessageBoxA
的时候窗口弹了出来

upload successful
所以这个01316703就是弹出窗口的函数,接下来点击确定关掉窗口后继续调试。

upload successful
到retn返回

upload successful
这里可以看出在10277503上面有一个call,我猜想也许就是从这里调用的,接下来取消之前的断点,再10277500上添加一个断点。然后重新开始,按F9执行,点击“买入”按钮,

upload successful
程序果然断在这里,证明我的猜想是没有错的(我之前试了N多遍才试出来)
然后按 F7进入这个函数,可以看到

upload successful
调用了MFCAppli.CMFCApplication1Dlg::OnBnClickedButton1这个方法,再接着调试下去,

upload successful
这里就是我们之前找到的地方,连起来就是点击了“买入”按钮以后,程序调用MFCAppli.CMFCApplication1Dlg::OnBnClickedButton1这个方法下面的MessageBoxA函数。

为了验证下正确性,找到MFCApplication1的源代码:

upload successful
无误,至此查找完成。

方法二:按钮事件查询找

首先同上打开软件运行起来,然后打开程序窗口
upload successful
可以看到如下界面

upload successful
(如果没有的话右键->刷新)
然后我们在”买入”按钮上设一个消息断点

upload successful
202的按钮弹起消息

upload successful
然后点击买入按钮,程序暂停,打开内存窗口Alt+M

upload successful
找到如下信息,在该信息上设置内存访问断点,记得删除之前的断点,以免影响之后的操作。

upload successful

CATALOG
  1. 1. 方法一:字符串查找
  2. 2. 方法二:按钮事件查询找