VMPWN

感谢Freedom师傅

小结

如果制作一个VM虚拟机,那么我们至少要为程序准备一个寄存器和栈进行数值的传递,为程序要输出的字符串准备一个缓冲区BUFFER

常见设计
1.初始化分配模拟寄存器空间
2.初始化分配模拟栈空间
3.初始化分配模拟数据存储空间 : data段
4.初始化分配OPCODE(机器指令)空间 : text段

常见运行流程:
1.输入OPCODE
2.分析转化为伪汇编指令,逐条执行

各种复杂算法的作用:将机器码转化伪汇编指令,本质:相当于一条汇编指令

常用的算法gadget:
a1 & 0xf:最低一位字节
HIBYTE(a1):最高一位字节

通杀方法

核心是逆向出伪汇编指令,摸清每个指令的含义
常见漏洞:读写越界引发的漏洞

上一篇:REVERSE-PRACTICE-BUUCTF-12


下一篇:zookeeper事务处理-Follower