首先把安装好的软件拖入PEID,看看它是用什么语言写的

然后用OD载入程序,查找关键字,步骤看上一个笔记

双击到达代码处,发现这在一个跳转里面。可能第一反应是修改跳转,经试验后发现这是没用的所以放弃

重新来过一遍,再次来到这里,仔细看发现决定是否跳转的是al,al的值,然而al的值使上一行的命令给的。所以在这下一个断点。

重新载入程序,运行来到断点处。看注释,发现这这个值调用了两个地址。点击注释那一行右键转到那两个地址下断点

点击enter键回到刚刚那个断点处,然后给另一个地址下断点


重新载入程序运行,来到断点处(是后来下的两个断点中的一个)


重新运行来到断点处,发现这个断点处推入的值和另一个断点推入的值是一样的


再仔细看发现,al的值决定于esp+4,而esp+4也就是0012E024,而esp+4决定于eax的值。eax上面的call的返回值回影响eax的值,所以这个call是关键点。所以把断点改成这里,下面那个断点去掉

重新载入程序,运行来到断点处

f7进入程序,推测这是一个程序加密的验证过程,f8一直往下走

经过一个跳转之后来到这,试着修改al的值

修改之后保存

重新载入之后运行,就成功了
