逆向常见指令笔记

test eax, eax

用来判断eax是否为0, 为0则跳转

cmp eax, 0 在比较时几乎一样

1
2
3
if (eax == 0) {
// do something
}

eax = eax == 0 ? 1 : 0

1
2
3
neg eax                  ; cf = if eax != 0 { 1 } else { 0 }
sbb eax, eax ; eax = -cf
inc eax ; eax = -cf + 1

总结:

eax = eax == 0 ? 1 : 0

cf = eax == 0 ? 1

lea eax, [rsp + 0x20]

相当于 eax = rsp + 0x20 如果是mov的话, 是 eax = [rsp + 0x20]


逆向常见指令笔记
https://simonkimi.githubio.io/2024/07/13/逆向常见指令笔记/
作者
simonkimi
发布于
2024年7月13日
许可协议