当前位置: 首页 » 破解服务 » 黑客拆解二进制炸弹的游戏的简单介绍

黑客拆解二进制炸弹的游戏的简单介绍

作者:hacker 时间:2022-12-24 阅读数:336人阅读

本文目录一览:

全网公敌第一个炸弹地址为什么是圣诞路

因为新闻推送时间是12.25号黑客拆解二进制炸弹的游戏,遇刺的泰坦员工Coral恢复意识黑客拆解二进制炸弹的游戏,所以地点是圣诞路99号。

第一次拆弹输入地址黑客拆解二进制炸弹的游戏:圣诞路99号,完成拆弹。

第二次拆弹输入地址:高瓴大道1号,完成拆弹。

选项选择【强行启动EMP】。

最后一次拆弹,先输入地址:兹曼大街7号,入侵Van的秘密工作站,然后再输入地址:彼得大街17号,完成拆弹。

选项选择【反抗】。

全部达成后,后面跟着剧情指示走就可以了。

游戏背景:

2021年,人们的生活已经和互联网密不可分。全网公敌是一款剧情向黑客解密游戏,玩家扮演一名“黑客”,通过网络搜索和社工手段获取目标人物信息,其所有爱好、生活习惯、人际关系和隐藏最深的秘密都无处遁形。明星,政客,网红,商人。

每个人都可能成为黑客拆解二进制炸弹的游戏你的猎物,你要做的就是利用互联网窥探隐私,找出他们不为人知的一面。随着剧情的发展却是草蛇灰线,伏脉千里。当所有事件串联起来,竟隐藏着惊天的秘密。

二进制炸弹,汇编代码解读

CMU二进制炸弹实验介绍- - 二进制炸弹是作为目标代码提供的,运行时它提示用户输入6个不同的字符串。如果其中任何一个不正确,炸弹就会“爆炸”:打印出一条错误信息。学生通过反汇编和逆向工程来确定是哪六个字符串,从而解除他们各自炸弹的雷管。该实验教会学生理解汇编语言,并强制他们学习怎样使用调试器。

二进制炸弹第二2

看到你说是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,也就是n0。

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

二进制炸弹phase_4

0x0000000000400f2c +0: push %rbx 保存rbx黑客拆解二进制炸弹的游戏的值

0x0000000000400f2d +1: sub $0x20,%rsp 将栈黑客拆解二进制炸弹的游戏的长度增加0x20以便字符串存储 0x0000000000400f31 +5: mov %rsp,%rsi 将栈顶的的地址送给指针寄存器故这一帧rsp为字符窜首地址

0x0000000000400f34 +8: callq 0x4013a1 read_six_numbers 调用函数读取六个字符(应该会把字符串首地址给rsi 也就是放在上一帧栈顶rsp)

0x0000000000400f39 +13: cmpl $0x1,(%rsp) 将第一个字符与 1比较

0x0000000000400f3d +17: je 0x400f44 phase_2+24 如果相等跳到下下句

0x0000000000400f3f +19: callq 0x4017f5 explode_bomb 否则你完蛋了。。

0x0000000000400f44 +24: mov $0x1,%ebx ebx是计数器

0x0000000000400f49 +29: movslq %ebx,%rdx rdx一起来计数吧。。

0x0000000000400f4c +32: mov -0x4(%rsp,%rdx,4),%eax 循环中的 c[i-1]。。。

0x0000000000400f50 +36: add %eax,%eax 2*c[i-1]...

0x0000000000400f52 +38: cmp %eax,(%rsp,%rdx,4) 比一下2*c[i-1] 与 c[i]

0x0000000000400f55 +41: je 0x400f5c phase_2+48 如果相等就下下句

0x0000000000400f57 +43: callq 0x4017f5 explode_bomb 否则有坑。。

0x0000000000400f5c +48: inc %ebx i++……

0x0000000000400f5e +50: cmp $0x5,%ebx i=5...

0x0000000000400f61 +53: jle 0x400f49 phase_2+29 如果还没到最后一个字符 循环继续

0x0000000000400f63 +55: add $0x20,%rsp 栈减小

0x0000000000400f67 +59: pop %rbx 。。

0x0000000000400f68 +60: retq 。。

End of assembler dump.

第二句就是给当前栈一个空间 来存储字符串这个局部变量

密码是1 2 4 8 16 32

这条密码输入后存在于当前函数帧中黑客拆解二进制炸弹的游戏, 你可以看一看。

  • 评论列表
  •  
    发布于 2022-12-26 01:32:24  回复
  •  cmp %eax,0x18(%esp,%ebx,4) 8048be4:74 05             je 8048beb phase_2+0x378048be6:e8 2a 05 00 00  

发表评论: