破解目的

image.png

思路1:resource hacker

image.png

思路2:反汇编EnableWindow

image.png

思路3:找按钮对应的点击函数OnBnClickdOK()

image.png
我们需要用vs2013写一个有按钮的MFC程序,再提取这个 按钮点击函数的特征码,最后通过特征码找到按钮点击函数
image.png
这个函数是我们自己写的,所以每个程序中的OnBnClickdOK()这个函数的opcode码肯定是不相同的,那我们就要通过相同的特征来找到这段代码怎么办呢?
这时我们应该从这个函数开始往上回溯,看看是哪个函数调用的这个OnBnClickdOK()函数,如果是系统调用的,那么我们可以从那里提取出特征码
image.png
红线圈住的都是可以找特征码的地方,我们就提取前三行吧,把opcode提取出来 “8B F4 8B 4D 08 FF 55 F8”
然后我们就可以拿着这个钥匙去OD里面找我们想要找的那串代码了
复制那串特征码,在OD中查找二进制字符串,就会跳到对应的位置,Ctrl + L 就会跳到下一个特征码相同的地方,我们就一个一个的看
image.png
那么这个CALL中肯定就是OnBnClickdOK()函数函数
image.png
image.png
image.png

适用于vs2019的MFC按钮特征码
VS19-按钮: 8B 4D 08 FF 55 B8 3B F4
0091852B 8B 4D 08 mov ecx,dword ptr [pTarget]
0091852E FF 55 B8 call dword ptr [ebp-48h]
00918531 3B F4 cmp esi,esp

Debug 动态、静态编译
CALL DWORD PTR SS:[EBP-8]

Release 动态编译
CALL DWORD PTR SS:[EBP+0C]

Release 静态编译
CALL DWORD PTR SS:[EBP+14]