黑客拆解二进制炸弹的游戏的简单介绍
本文目录一览:
全网公敌第一个炸弹地址为什么是圣诞路
因为新闻推送时间是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
这条密码输入后存在于当前函数帧中黑客拆解二进制炸弹的游戏, 你可以看一看。