小编mav*_*951的帖子

二进制炸弹阶段3卡住

老实说,我感到非常困惑,因为我的炸弹第三阶段看起来不像我的任何同学或教授给我的例子。任何帮助将不胜感激。我有我最近使用的终端机的一个副本,但在5个小时的大部分时间内我一直在努力尝试这一点,我已经知道了%d%d是所请求的布局,并且它要求2个数字,我相信其中一个是负数。由于这里有比较语句和jg

   0x08048fbb <+39>:    cmp    $0x1,%eax
   0x08048fbe <+42>:    jg     0x8048fc5 <phase_3+49>
Run Code Online (Sandbox Code Playgroud)

同样,它要求再次比较同一个值,我认为这是这里的第一个

   0x08048fc5 <+49>:    cmpl   $0x7,-0xc(%ebp)
   0x08048fc9 <+53>:    ja     0x8049032 <phase_3+158>
Run Code Online (Sandbox Code Playgroud)

让我失望的是,所有的加法和减法都是蝙蝠,总的来说,所有加法和减法都挤在了底部。

我应该在哪里找到可以与这些语句实际一起使用的值,如果我将它们加起来就等于多少。在这一点上,我什至不知道它是否正盯着我。所有比较如下

   0x08048fbb <+39>:    cmp    $0x1,%eax
Run Code Online (Sandbox Code Playgroud)

0x08048fbe <+42>:jg 0x8048fc5

 0x08048fc5 <+49>:    cmpl   $0x7,-0xc(%ebp)
   0x08048fc9 <+53>:    ja     0x8049032 <phase_3+158>

   0x0804903c <+168>:   cmpl   $0x5,-0xc(%ebp)
   0x08049040 <+172>:   jg     0x8049047 <phase_3+179>
Run Code Online (Sandbox Code Playgroud)

但目前我需要对此问题重新审视。如果有任何帮助,将不胜感激。

That's number 2.  Keep going!
0 1

Breakpoint 1, 0x08048f9a in phase_3 ()
(gdb) disas
Dump of assembler code for function phase_3:
   0x08048f94 <+0>:     push   %ebp
   0x08048f95 <+1>:     mov    %esp,%ebp
   0x08048f97 <+3>: …
Run Code Online (Sandbox Code Playgroud)

x86 assembly gdb reverse-engineering

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

assembly ×1

gdb ×1

reverse-engineering ×1

x86 ×1