亲爱的,关注我吧
9/21
文章共计2761个词
预计阅读7分钟
来和我一起阅读吧
引言之前一直没去了解过vm-pwn,做一些题目对vm-pwn进行一个大体上的了解,算是入门。
前置知识对指令有过了解
有耐心(感觉vm程序的代码量有点大)
canary
没开启
fetch函数较为简单,即取出pc值,以pc值作为下标返回指定的指令
可以看到指令是由几个部分组成的,其实execute
函数就是一个指令表,我们通过指令表输入相应的指令就可以完成相应的操作。
指令表
操作码|操作数1|操作数2|操作数3
op |num1 |num2 |num3
---------------------------
操作码
0x70: reg[num1] = reg[num3]+reg[num2] | add指令
0xB0: reg[num1] = reg[num3]^reg[num2] | 异或指令
0xD0: reg[num1] = reg[num2]>>reg[num3] | 右移指令
0xFF: 若reg[13]为0,则退出,否则打印指令集
0xC0: reg[num1] = reg[num2]
关注
打赏
立即登录/注册


微信扫码登录