|














这是由从Table 2中获得的值产生的完整的一个跳转列表,它们和最终的那个跳转有关。这个列表将会非常有用,在其它Armadillo中从Table 2中获得的值产生的完整列表将有所不同。
改回ECX=04; 在Crusader的帮助下,我们知道如果EAX的值是 1,那将是一个跳转,但是如果EAX的值是0,将不是跳转,稍加跟踪你将会看到属于数字04的代码是:
005C750E |> \B0 01 MOV AL,1
;
这里把 AL的值改变为1,所以无论标志的值是什么它都会跳转。然后属于04 的跳转类型就是JMP。
现在我们需要知道它将跳向哪里。答案在走出这个CALL之后。

这里测试了EAX里的值,如果值是1,就跳。它带领我们去Table 3,在那儿父进程计算出新的EIP,就是子进程将要跳向的地方。
。

上图中的第二行是Table 3的起始值。这个表告诉我们所有的跳转将要跳向何方。
TABLE 3

上一页 1 2 3 4 5 6 下一页 |