boom二进制 解出该密码,密码为6个整数,题目如下,请大神帮忙解一下!!!

08048bb4<phase_2>:8048bb4:53push%ebx8048bb5:83ec38sub$0x38,%esp8048bb8:8d442418lea0x1... 08048bb4 <phase_2>: 8048bb4: 53 push %ebx 8048bb5: 83 ec 38 sub $0x38,%esp 8048bb8: 8d 44 24 18 lea 0x18(%esp),%eax 8048bbc: 89 44 24 04 mov %eax,0x4(%esp) 8048bc0: 8b 44 24 40 mov 0x40(%esp),%eax 8048bc4: 89 04 24 mov %eax,(%esp) 8048bc7: e8 70 05 00 00 call 804913c <read_six_numbers> 8048bcc: 83 7c 24 18 00 cmpl $0x0,0x18(%esp) 8048bd1: 79 22 jns 8048bf5 <phase_2+0x41> 8048bd3: e8 3d 05 00 00 call 8049115 <explode_bomb> 8048bd8: eb 1b jmp 8048bf5 <phase_2+0x41> 8048bda: 89 d8 mov %ebx,%eax 8048bdc: 03 44 9c 14 add 0x14(%esp,%ebx,4),%eax 8048be0: 39 44 9c 18 cmp %eax,0x18(%esp,%ebx,4) 8048be4: 74 05 je 8048beb <phase_2+0x37> 8048be6: e8 2a 05 00 00 call 8049115 <explode_bomb> 8048beb: 83 c3 01 add $0x1,%ebx 8048bee: 83 fb 06 cmp $0x6,%ebx 8048bf1: 75 e7 jne 8048bda <phase_2+0x26> 8048bf3: eb 07 jmp 8048bfc <phase_2+0x48> 8048bf5: bb 01 00 00 00 mov $0x1,%ebx 8048bfa: eb de jmp 8048bda <phase_2+0x26> 8048bfc: 83 c4 38 add $0x38,%esp 8048bff: 5b pop %ebx 8048c00: c3 ret 展开
 我来答
捣蒜大师Edison
2017-11-05 · TA获得超过2964个赞
知道大有可为答主
回答量:3825
采纳率:77%
帮助的人:1348万
展开全部

看到你说是6个整数,虽然不知道<read_six_numbers>函数的代码,看下面这段代码是比较了7个4 bytes的整数,它们分别存储在0x18(%esp)、0x1C(%esp)、0x20(%esp)、0x24(%esp)、0x28(%esp)、0x2C(%esp)、0x30(%esp),所以猜测这其中前6个就是你说的6个整数!不过仅仅是猜测,因为“没看到<read_six_numbers>函数的代码”,其中是怎么样不知道。

8048bda:89 d8             mov %ebx,%eax
8048bdc:03 44 9c 14       add 0x14(%esp,%ebx,4),%eax 
8048be0:39 44 9c 18       cmp %eax,0x18(%esp,%ebx,4) 
8048be4:74 05             je 8048beb <phase_2+0x37>
8048be6:e8 2a 05 00 00    call 8049115 <explode_bomb> 
8048beb:83 c3 01          add $0x1,%ebx 
8048bee:83 fb 06          cmp $0x6,%ebx 
8048bf1:75 e7             jne 8048bda <phase_2+0x26>

注意这段代码,依次检测这7个4 bytes的整数,可以看出这7个数字的关系。假设第一个数字是n,那么这7个数字必须为:n、n+1、n+3、n+6、n+10、n+15、n+21才不会爆炸。

这7个数字中,只有确定了其中一个,那么其余6个数字随之确定。

8048bcc:83 7c 24 18 00    cmpl $0x0,0x18(%esp)
8048bd1:79 22             jns 8048bf5 <phase_2+0x41>
8048bd3:e8 3d 05 00 00    call 8049115 <explode_bomb>

看这里比较了0x18(%esp)和0,只是说了0x18(%esp)大于0,也就是n>0。

还有一些细节就不知道了啊!调用本函数时的压栈信息不知道。

追问

<read_six_numbers>函数内容

飞人待N
2017-11-05 · 超过28用户采纳过TA的回答
知道答主
回答量:125
采纳率:6%
帮助的人:21.6万
展开全部
没看出来,但是8位二进制ASCII码翻译是WeAreMS6Cer
大写分割 应该是:We Are MS 6 Cer
没看懂,具体还要看看你在什么情况下看到这个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式