Kev*_*ica 22 x86 assembly disassembly
在我正在分析的一个反汇编程序中,我找到了命令
sar %eax
Run Code Online (Sandbox Code Playgroud)
这是做什么的?我知道sar有两个参数执行右移,但我只能用一个参数找不到它的含义.
该程序是为Intel x86处理器编译的.
Nec*_*lis 26
看起来像诈骗者使用的SAR EAX,1是具有操作码的短手0xD1F8.如果立即数不是1,也就是SAR EAX,xx操作码0xC1F8 xx,请参阅英特尔指令参考,卷.2B,4-353.
小智 5
当只有一个操作数时,隐含的移位为 1。
所以....
SAR %EAX 暗示签名 %EAX >> 1
因此,
SAR %eax = SAR $1, %eax
Run Code Online (Sandbox Code Playgroud)
我已经成功地证明了这一点,分析了 GDB 中的一些代码。