pwn5
运行文件,所以我们直接下载文件在虚拟机里运行即可(命令./......)
原理:
用IDA打开elf,里面只有一个start函数,IDA反汇编的结果是将dword_80490E8指向的内容写入后退出,进入dword_80490E8查看写入的东西
对16进制"R"一下转化为字符,得到下面的字符串,因为是小端序,所以字符串的正确形式应该是"Welc",和下面的字符串连起来就是"Welcome_to_CTFshow_PWN"
其实对16进制"A"一下就能直接变成下面这样
pwn6
asm文件是汇编文件,可以直接用记事本查看内容,内容为汇编语言中的一些基础操作方法,出题人也是十分贴心,给出了所有注释。求立即寻址方式结束后eax寄存器的值,查看汇编,根据注释可以知道eax = 11 + 114504 - 1 = 114514
pwn7
求寄存器寻址方式结束后edx寄存器的值,根据注释可以知道edx的值就是ebx的值,即0x36d,0x是16进制的前缀
pwn8
求直接寻址方式结束后ecx寄存器的值,根据注释可以知道ecx的值为msg的地址,需要借助IDA查看
pwn9
求寄存器间接寻址方式结束后eax寄存器的值,根据注释可以知道,esi的值为msg的地址,即上一问的答案,eax的值为[esi],在汇编中表示esi指向的地址的值,即msg地址的值
在IDA中可以看到值为636C6557h,h表示16进制