循环是高级语言中可以进行反向引用的一种语言形式,其他类型的分支语句(比如IF-THEN-ELSE等)都是由低向高地址区域走的.因此,通过这点可以较方便的将循环语句识别出来.如果确定某段代码是循环,就可以分析其计数器,一般是用ecx寄存器做计数器,也有用其他方法来控制循环的,如/"test eax,eax/"等.
看一个简单的循环代码:
如果上面的代码用C来表示的话:
或者:
用C写一段比较复杂的循环:
反汇编的结果如下
另一种反汇编出来的情况是
循环是高级语言中可以进行反向引用的一种语言形式,其他类型的分支语句(比如IF-THEN-ELSE等)都是由低向高地址区域走的.因此,通过这点可以较方便的将循环语句识别出来.如果确定某段代码是循环,就可以分析其计数器,一般是用ecx寄存器做计数器,也有用其他方法来控制循环的,如/"test eax,eax/"等.
看一个简单的循环代码:
如果上面的代码用C来表示的话:
或者:
用C写一段比较复杂的循环:
反汇编的结果如下
另一种反汇编出来的情况是