前言
本次是该系列的的第0x1a篇,本篇介绍了一种自定位方法,可以定义当前指令的地址,常用于shellcode。
实验环境:
- Windows10 + VS2022 + masm
0x1a
代码片段链接:xorpd | xchg rax,rax 0x1a
call .next
.next:
pop rax
代码分析
call指令相当于先jmp然后push rip
配合pop,两条指令连着用,直接可以获得到当前语句的内存地址
测试代码:
.code
main proc
call next ; jmp next push rip
next:
pop rax ; pop rax
ret
main ENDP
END