复试结果出来,心终于踏实了,继续做完之前断掉的二进制拆炸弹题目。
二进制拆炸弹phase_5:
(放下的时间太久,再回顾一下步骤)
先在虚拟机用ifconfig命令找到ip地址;在cmd中双反斜杠加地址打开共享文件夹。
用Notepad打开txt文件(汇编代码),ctrl+F查找phase_5,选择语言:assembly。
在虚拟机下,进入到/home/shareFloder/bomb3/执行gdb bomb。
第一题答案:You can Russia from land here in Alaska.
第二题答案:1 2 4 8 16 32
第三题答案:1 -200
第四题答案:36 3
接下来进入正题,分析phase_5:
-
调试bomb,在phase_5设置一个断点。
-
找到一个明码地址,进去看一下。
-
进去之后,发现一串字母。
maduiersnf otvbyl So you think you can stop the bomb with ctrl-c,do you?
0123456789 ABCDEF (十六个字母,联想到和16进制有关系,因为明码地址也是用16进制表示的)
flames
9F1057
-
找到下一个明码地址
-
进去看一下
-
-
调用了string_length函数,返回长度是eax,可以得出,是一个长度为6的字符串。
-
想办法将16进制还原成十进制,这样才是我们要输入的。十六进制的从六十多到七十多,对应的是我们ascii码的一个字母的大小写和一些标点符号。
变成 69 6F 61 60 65 67,对应ASCII码:ioa’eg
好像不太对..还得再研究研究..