lpdj 发表于 2010-12-22 16:13

汇编问题

那位大侠知道下面这段代码的作用吗?   多谢!!

         pushl   ebp
         call    1f
         1:   
         popl    %eax
         jmp   *6(%eax)

mik 发表于 2010-12-23 13:12

得到 eip 值,继续往下执行,这种代码其实写得非常差


倒不如:

   mov eax, next
       jmp eax
next:
       ... ...

accessory 发表于 2010-12-24 07:02

我是来围观MIK的

omycle 发表于 2010-12-27 12:24

发生函数调用的时候,EIP是压栈的。*6(EAX),就是把EIP取出来吧。

zongyaotang 发表于 2010-12-27 13:05

这要看call    1f
的调用中是否改变 ESP,
如果改变,要去读 1f 处的代码。
如果不变,则应跳到 EBP 所指的地址加6那里所指的地址去。
EBP很可能指的是个数据结构。
这里 1f 是个地址,不是标号。
所给信息不足,无法准确回答。

readkernel 发表于 2011-01-12 14:29

病毒头
页: [1]
查看完整版本: 汇编问题