用call压参字符串

Author Avatar
Aryb1n 12月 11, 2017

逆向工程核心原理的p278中提到的一个技巧

使用call指令将包含在代码间的字符串压入栈内, 执行了一条call相当于执行了push和jmp, 只能用于汇编编写的程序…(因为C写的程序…字符串是不会直接放在代码段的)

代码大致如下

002D002E    call 0x002D003F -----+
                                 +
002D0033    'R'                  +
002D0034    'E'                  +
...         ...                  +
002D003E    'E'                  +
                                 +
002D003F    <--------------------+

利用这个call把0x002D0033处这个字符串压入了栈里, 然后跳到0x002D003F继续执行…call是不一定要返回的…
这个trick会不会给反汇编工具带来错觉呢==

我的xp虚拟机起不来了…==顿时想格调硬盘重新开始….这样子前四部分也看不完了….准备跳到第六部分先