pwn100的解题过程
一.先将pwn100这个文件放入到ida中,这是一个32位的文件,F5后点击main函数和getflag函数对pwn100进行分析。
首先,read函数是一个可以将0x100个字节传输到buf指针所指的内存中(0x100u是一个16进制的数,即256,u表示无符号),read函数很容易出问题,点进buf看一看,发现它的内存小于256,大约只有64+4=68。
由于ida栈分析存在不准确性,所以我们还需要到虚拟机上看看,用虚拟的gdb对pwn100进行调试,
出现这种情况的原因是我此时电脑上面的pwn100不是符合的“file or directory”,而是一个大的文件夹,见图
所以我们需要做一些改变,将文件夹改为pw