当前位置 博文首页 > KOOKNUT的博客:E8/E9/FF 15/FF25指令--汇编学习笔记

    KOOKNUT的博客:E8/E9/FF 15/FF25指令--汇编学习笔记

    作者:[db:作者] 时间:2021-07-02 21:27

    E8/FF 15:这两个指令都是call指令,两个指令后面跟的数据有不同的含义。

    011472A1 E8 9F A3 FF FF       call        Sub_1 (01141645h) 
    011472B6 FF 15 D0 00 1A 01    call        dword ptr [__imp__MessageBoxW@16 (011A00D0h)]  
    

    如上面代码所示:
    Sub_1的地址是 011472A1 + 5 + FFFFA39F = 目标地址
    也就是说E8后面跟的是偏移地址,再加上5个字节的偏移。
    MessageBoxW是 FF 15指令后面直接跟的绝对地址。

    E9/FF 25:这两个指令时jmp指令,两个指令后面跟的数据有不同的含义。

    01141645 E9 D6 3A 00 00       jmp         Sub_1 (01145120h)  
    

    E9指令和E8的计算方法是一样的:
    01141645 + 5 + 00003AD6是目标地址。
    FF 25指令后面跟的是绝对地址。
    “To live is to risk it at all.”

    cs