OD 实验(十二) - 对一个 Delphi 程序的逆向

运行程序

OD 实验(十二) - 对一个 Delphi 程序的逆向

界面显示的是未注册

点击 Help -> About

OD 实验(十二) - 对一个 Delphi 程序的逆向

点击 Use Reg Key

OD 实验(十二) - 对一个 Delphi 程序的逆向

这里输入注册码

用 PEiD 看一下

OD 实验(十二) - 对一个 Delphi 程序的逆向

该程序是用 Delphi 6.0 - 7.0 写的

逆向:

用 OD 打开程序

OD 实验(十二) - 对一个 Delphi 程序的逆向

右键 -> 查找 -> 所有参考文本字串

然后右键 -> 查找文本

OD 实验(十二) - 对一个 Delphi 程序的逆向

搜索

OD 实验(十二) - 对一个 Delphi 程序的逆向

这里有个是 accepted 为接受,failed 为失败

双击到 accepted 处

OD 实验(十二) - 对一个 Delphi 程序的逆向

如果程序执行到这里则说明,注册码是可以的

在 Delphi 中,push 后的 retn 指令相当于 jmp 指令

OD 实验(十二) - 对一个 Delphi 程序的逆向

在该 push 处下一个断点,然后跑一下程序

OD 实验(十二) - 对一个 Delphi 程序的逆向

输入注册码,点击 Register

程序没有停在断点处,我们往上看程序

OD 实验(十二) - 对一个 Delphi 程序的逆向

可以看到很多的 call 指令

这也是 Delphi 语言的特性

OD 实验(十二) - 对一个 Delphi 程序的逆向

在提示信息之后下一个断点

重新跑一下程序

OD 实验(十二) - 对一个 Delphi 程序的逆向

输入注册码,点 Register

OD 实验(十二) - 对一个 Delphi 程序的逆向

程序停在了断点处

OD 实验(十二) - 对一个 Delphi 程序的逆向

程序会出现这样的对话框

点击“确定”,然后按“Register”

再按 F8 往下走

OD 实验(十二) - 对一个 Delphi 程序的逆向

走到某个地方会跳到动态链接库处

按“-”后退一步看看在哪跳的(“+”为向前一步),已经执行,只是向前或向后看一下

OD 实验(十二) - 对一个 Delphi 程序的逆向

在 call 上面的 mov 指令下一个断点

OD 实验(十二) - 对一个 Delphi 程序的逆向

运行程序,停在该断点处

如果继续执行的话,会弹出刚才那个错误的对话框

OD 实验(十二) - 对一个 Delphi 程序的逆向

把 call 语句改为 nop

OD 实验(十二) - 对一个 Delphi 程序的逆向

接下来有个 jbe 跳转语句会进行跳转

OD 实验(十二) - 对一个 Delphi 程序的逆向

跳转到下面的地方

OD 实验(十二) - 对一个 Delphi 程序的逆向

按 F8 继续往下走

OD 实验(十二) - 对一个 Delphi 程序的逆向

这里有两个跳转,这两个跳转都是未实现的

如果这两个跳转都没跳的话,将会弹出错误的对话框,所以要让其中一个进行跳转

je 跳转的地方为

OD 实验(十二) - 对一个 Delphi 程序的逆向

jnz 跳转的地方为

OD 实验(十二) - 对一个 Delphi 程序的逆向

jnz 跳转到退出的位置

所以,让 je 指令执行跳转,把 je 改为 jmp

OD 实验(十二) - 对一个 Delphi 程序的逆向

je 执行跳转之后按“F8”继续往下走

OD 实验(十二) - 对一个 Delphi 程序的逆向

这里有个已实现跳转的 jnz 跳转

OD 实验(十二) - 对一个 Delphi 程序的逆向

如果它实现跳转的话,将会跳过成功的对话框,所以不要让它实现跳转

把该指令改为 nop

OD 实验(十二) - 对一个 Delphi 程序的逆向

然后继续按 F8 往下走

OD 实验(十二) - 对一个 Delphi 程序的逆向

走到这个地方会弹出成功的对话框

OD 实验(十二) - 对一个 Delphi 程序的逆向

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
相关资源
相似解决方案