《第1期-20 退出暗桩的解决方法》学习笔记
2018-06-26 本文已影响0人
听说我在混吃等死
-
程序还是用的这个:
1.png
我们保存下来的所有修改过的程序:
2
一一运行,会发现大部分要么提示需要父窗口,要么能够正常运行出现窗口,
出错提示
但是其中一个 push 0x52010001 却运行起来就自己退出了。我们怀疑它是用了暗桩:直接退出而不运行。
那么我们的想法就是能不能把这个暗桩给弄了,直接让程序正常运行呢?
-
我们的思路还是很简单的,既然是退出,那么对ExitProcess下断点不就行了。 OD会断在这里:
ExitProcess断下来了.png
我们在堆栈窗口中观察,看到在中间有一个“返回到 push_0x5.004D0660”的文字,那么在这一行右键——“反汇编窗口中跟随”,这样就找到了关键call,就是这个call调用了ExitProcess来让程序退出的。上面真好有一个jle能够跳过这个关键call,那么它就是关键跳了。
找到关键call和关键跳
修改关键跳为无条件跳转jmp,保存修改,运行修改后的程序,就搞定了暗桩,出来了主窗口。
主窗口