《第1期-05 EAX决定胜负》笔记

这集视频的主要内容是修改call的返回值,达到破解的目的。

  1. PEiD查壳
  2. 输入假码
    打开程序,输入用户名和假码,会提示“注册失败”的对话框。
  3. 寻找关键跳
    用OD打开程序,搜索关键字“注册”,关键字越简单越好,结果找到了一个注册成功的字符串,双击过去看看。
  4. 观看关键跳
    找到关键跳后,往上看,会找到一个call。这个call的返回值决定了关键跳,所以叫它关键call。
    在这个关键call处下断点。

自己想法
之所以不修改关键跳,而是关键call。因为这个call可能会被调用多次,而修改一次这个call就可以把每次调用都修改了。

  1. 运行程序
    程序会断在关键call。然后F8,运行到关键跳je。此时,je执行了,跳过了注册成功的部分
  2. 修改关键call
    再次运行程序,输入用户名和假码,又会断在了关键call。
    在关键call的开头,把汇编代码改为:
    mov eax, 1
    retn

自己想法
为什么改为1?因为在步骤5中,eax为0的时候关键跳je执行了。要想让je不再执行,就把eax改为1,从而进入注册成功的部分。

  1. 保存破解后的exe
    复制修改部分,右键——“复制到可执行文件”——选择,会弹出另一个窗口,再次右键——“保存文件”。
  2. 运行破解后的exe

你可能感兴趣的:(《第1期-05 EAX决定胜负》笔记)