拆弹实验-phase_1

准备

1、32位虚拟机
2、安装gdb

通关操作

通关操作
首先,将bomb反汇编。
命令如下:

objdump -d bomb > 1.txt

找到phase_1函数:
phase_1

可以看到,调用了strings_not_equal函数,找到strings_not_equal函数:
strings_not_equal
第10和13行调用了string_length函数,推测前面几行的寄存器内存放有目标字符串的地址。所以,我们可以在调用string_length函数处设置断点,然后查看前面几个字符串存放地址的内容。
设置断点
我输入的字符串是test bomb,用disas命令反汇编。
反汇编查看
i r 命令查看寄存器内容,推测ebx内是一个字符串地址。查看一下。
找到我输入的字符串
test bomb是我先前输入的字符串,也可这么查看:
查看2
继续运行,查看寄存器内容:
查看r
推测edi或esi中有目标字符串:
找到目标字符串
或者这么做:

(gdb) x/s 0x403144
0x403144:       "Verbosity leads to unclear, inarticulate things."

现在找到了目标字符串,通关操作如下:
通关操作
当然,也可以用其他方法,一般找到的字符串有些特别,执行strings bomb 然后从一堆字符串里找也行。
strings bomb
可以看到,这一堆句子里Verbosity leads to unclear, inarticulate things. 有些特别,揣测其就是我要找的句子,事实证明就是它。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>