第五步: 运行api并在oep处设一个无限循环
现在到了执行writeprocessmemory一次了. 我们有两条路可走,可以选择执行到返回它将会执行直到ret,然后按一次f7. 第二个选择是去stack第一行在那儿设一个bpx最后运行它.
在stack第一行提示程序会返回到5f94a4, 我们到那儿bpx (f2)然后运行它(f9).

现在该用pupe了. pupe是一个西班牙工具.你可以在www.google.com搜索一下. 通过下面几行代码我们将要在son的oep设置一个无限循环.这会使son休眠直到我们叫醒它.
这是一张pupe的图片.我们可以看到有两个进程, the son and the father.上面那个是son. 在右边我们可以看到进程句柄.

选择上面那个getright.exe然后右击选择"parchear".

写下出现在对话框中的original bytes然后用无限循环代码eb fe代替,如下面的对话框中所示.
最后一步就是"parchear"然后infinite loop就准备好了.

第六步: bp waitfordebugevent 和 nop the api
不要清除先前断点writeprocessmemory,是时候写入新断点了.键入bp waitfordebugevent回车, 然后按f9运行

它停下时

你必须记住never ever run this api.在转储窗口"dump window"看一下report, 然后去堆栈窗口(stack window).

正如我们看到的如果我们运行这个api我们应该去5f751d,所以让我们通过"前往 表达" 5f751d到主窗口.

再一次提醒不要run this api.所以右击5f751d选择"新建起源".这是跳过这个api的方法.

现在我们必须nop the call to the api以及有关的push.

所以在这些行上按空格键然后写入nop.当你完成这项工作时,将会如下图所示. 这一步结束了.

发表评论