【发布时间】:2016-03-14 11:10:02
【问题描述】:
我尝试拆卸 ropasaurusrex。这是 CTF 的问题。您可以从以下链接下载可执行文件。我使用 Hopper 进行拆卸。 here
上图是本程序的主程序
请看上图中的红线。
数组的声明好像在这里。
lea eax, dword [ss:ebp+var_88] =====> char buffer[128];
为什么? 128bytes看不懂?
【问题讨论】:
-
分配发生在前一点,在
mov esp, 0x98。除了为buffer分配0x80,它还为该范围内的其他变量分配0x18。lea指令只是为了确定buffer在栈上的地址。 -
谢谢你的评论!我明白了。
-
谢谢你的评论!我知道了。但是,我还是不明白。对不起。为什么要为缓冲区分配 0x80?为什么你会找到 0x80。谢谢!
-
@stackosiete:
0x80是128的十六进制表示。
标签: c assembly x86 reverse-engineering 32-bit