请教一下关于binary bomb的问题

kneone 2017-03-27 05:49:18
0x08048ce8 <+0>: sub $0x1c,%esp
0x08048ceb <+3>: movl $0x804a56f,(%esp)
0x08048cf2 <+10>: call 0x804922b <string_length>
0x08048cf7 <+15>: add $0x1,%eax
0x08048cfa <+18>: mov %eax,(%esp)
0x08048cfd <+21>: call 0x8048870 <malloc@plt>
0x08048d02 <+26>: movl $0x21776f57,(%eax)
0x08048d08 <+32>: movl $0x61724220,0x4(%eax)
0x08048d0f <+39>: movl $0x206c697a,0x8(%eax)
0x08048d16 <+46>: movl $0x62207369,0xc(%eax)
0x08048d1d <+53>: movl $0x2e6769,0x10(%eax)
0x08048d24 <+60>: movb $0x62,0xb(%eax)
0x08048d28 <+64>: mov %eax,0x4(%esp)
0x08048d2c <+68>: mov 0x20(%esp),%eax
0x08048d30 <+72>: mov %eax,(%esp)
0x08048d33 <+75>: call 0x804924a <strings_not_equal>
0x08048d38 <+80>: test %eax,%eax
0x08048d3a <+82>: je 0x8048d41 <phase_3+89>
0x08048d3c <+84>: call 0x8049545 <explode_bomb>
0x08048d41 <+89>: add $0x1c,%esp
0x08048d44 <+92>: ret

这个是在gdb里面显示的内容,0x08048cfd <+21>: call 0x8048870 <malloc@plt>这一行我不太理解是什么作用。
X/S查看了 0x804a56f,是一段string。
实在不理解这这个bomb该怎么解决。。
...全文
281 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这是一个非常初级的代码,就是把输入的串参数和临时构造的一个串"Wow! Brazilbis big."(不包括引号)比较,不一致则执行explode_bomb代码,估计是显示你没成功破解之类的。
636f6c696e 2018-12-07
  • 打赏
  • 举报
回复
0x08048cfd <+21>: call 0x8048870 <malloc@plt> 就是调用glibc里的malloc接口申请内存
636f6c696e 2018-12-07
  • 打赏
  • 举报
回复
0x08048cfd <+21>: call 0x8048870 <malloc@plt>
木咋 2018-12-06
  • 打赏
  • 举报
回复
IDAPro6.6_part1 IDAPro6.6_part2 可以直接看汇编的C语言代码
赵4老师 2017-03-28
  • 打赏
  • 举报
回复
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧