这集视频的主要内容是修改call的返回值,达到破解的目的。
- PEiD查壳
- 输入假码
打开程序,输入用户名和假码,会提示“注册失败”的对话框。 - 寻找关键跳
用OD打开程序,搜索关键字“注册”,关键字越简单越好,结果找到了一个注册成功的字符串,双击过去看看。 - 观看关键跳
找到关键跳后,往上看,会找到一个call。这个call的返回值决定了关键跳,所以叫它关键call。
在这个关键call处下断点。
自己想法
之所以不修改关键跳,而是关键call。因为这个call可能会被调用多次,而修改一次这个call就可以把每次调用都修改了。
- 运行程序
程序会断在关键call。然后F8,运行到关键跳je。此时,je执行了,跳过了注册成功的部分 - 修改关键call
再次运行程序,输入用户名和假码,又会断在了关键call。
在关键call的开头,把汇编代码改为:
mov eax, 1
retn
自己想法
为什么改为1?因为在步骤5中,eax为0的时候关键跳je执行了。要想让je不再执行,就把eax改为1,从而进入注册成功的部分。
- 保存破解后的exe
复制修改部分,右键——“复制到可执行文件”——选择,会弹出另一个窗口,再次右键——“保存文件”。 - 运行破解后的exe
网友评论