vm Pwn题目小结
ez_op题目分析首先根据入口点找到main函数,一般入口点就是IDA里Export窗口的start函数。 可以看到上面main函数的逻辑是: 使用mallocinfo函数为操作数分配空间,为操作码分配空间。 读入操作码至buf中,并将其转换成整数形式保存在opcode中;操作数同理保存在oprand中 进入大循环loop函数,就是本题的虚拟机,后面详细讲解。 使用freeinfo函数释放分配的空间 loop函数就是虚拟机,主要逻辑是一个大循环,每次循环完成一个操作码对应的功能。那么怎么知道每个操作码对应什么功能呢,我觉得对我来说只能慢慢逆向+猜吧。这个题目的功能有save、load、push、pop、加减乘除,最后逆出来的效果就是下面这样: 漏洞点在于load和save都没有检查是否越界..
Read more安洵杯 MIPS wp
题目题目链接 https://github.com/Q1IQ/ctf/blob/master/mips/pwn2 题目名字就叫做mips,肯定是mips架构的了。 $ file pwn2 pwn2: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked, interpreter /lib/ld-, not stripped 直接运行程序会显示下面的信息。 所以首先是搭建环境,搭建环境的目标是: 能运行题目程序 能用python脚本和题目程序进行交互 能够调试题目程序 mips mip汇编知识: https://ray-cp.github.io/archivers/MIPS_Debug_Envir..
Read more