添加了

时间:2017-03-21 05:02:30

标签: assembly binary

我正在制作一个二元炸弹,这个炸弹需要三个以上的论据,这里是我不理解的炸弹的一部分:

0x08048db2 <+0>:    sub    $0x3c,%esp
0x08048db5 <+3>:    lea    0x2c(%esp),%eax
0x08048db9 <+7>:    mov    %eax,0x10(%esp)
0x08048dbd <+11>:   lea    0x27(%esp),%eax
0x08048dc1 <+15>:   mov    %eax,0xc(%esp)
0x08048dc5 <+19>:   lea    0x28(%esp),%eax
0x08048dc9 <+23>:   mov    %eax,0x8(%esp)
0x08048dcd <+27>:   movl   $0x804a56d,0x4(%esp)
0x08048dd5 <+35>:   mov    0x40(%esp),%eax
0x08048dd9 <+39>:   mov    %eax,(%esp)
0x08048ddc <+42>:   call   0x8048900 <__isoc99_sscanf@plt>
0x08048de1 <+47>:   cmp    $0x2,%eax
0x08048de4 <+50>:   jg     0x8048deb <phase_5+57>
0x08048de6 <+52>:   call   0x8049535 <explode_bomb>
后来炸弹将0x27(%esp)的内容与数字进行比较。但是在0x08048ddc&lt; + 42&gt;,0x27(%esp)的内容被更新,即使我查看该函数,我也无法弄清楚它是如何做到的。 如果我的输入为&#34; 1 -997 1 2 301&#34;,则0x27(%esp)的内容为301 如果我的输入为&#34; 0 7 817 8 9&#34;,则0x27(%esp)的内容为55

炸弹还用&lt; __ isoc99_sscanf @ plt&gt;更新了0x2c(%esp)的内容。功能。我无法弄清楚0x2c(%esp)的内容是什么。 谢谢!

0 个答案:

没有答案