修复路由器环境

前言

本篇文章是按照家用路由器里面的内容来叙述的.

过程

在目录~/my_file/_dir605L_FW_113.bin.extracted/squashfs-root-0/下 运行cp $(which qemu-mips) ./
而后运行命令:sudo chroot . ./qemu-mips ./bin/boa(注意:书上是有错误的,chroot 后面缺少了一个.
而后报错:
Initialize AP MIB failed!
segmentation fault
这里写图片描述
而后按照书上命令sudo chroot ./qemu-mips -g 1234 ./bin/boa
而后使用IDA动态调试,这里要写一下IDA的设置,因为书上没有详细的 说明;
1.将boa这个文件拖进IDA里面;
2.在IDA里面设置一个断点
3.Debugger–>select bugger——>remote GDB debugger
4.Debugger–>Process Options—->Hostname 这里写127.0.0.1,为本地 主机,PORT填写1234
5.Debugger–>start process
这里写图片描述
而后继续按照书上的步骤来,将apmib.c拷贝至~/my_file/_dir605L_FW_113.bin.extracted/squashfs-root-0/下:
而后使用命令mips-linux-gcc -Wall -fPIC -shared apmib.c -o apmib-ld.so编译得到apmib-ld.so这个文件:(这里的apmib-ld.so是最终的,书上分了两步才得到这个文件,我这里偷懒了,直接得到最终的.so文件)

这里写图片描述
还有一步需要做的是需要将交叉编译环境下的libgcc_s.so.1动态库 复制 到DIR-605路由器根文件系统下面的lib目录下(就是上图的lib文件夹里面).
使用LD_PRELOAD环境变量加载apmib-ld.so文件,劫持apmib.so文件里面的apmib_init()函数,指令如下:

chroot . ./qemu-mips -E LD_PRELOAD="/apmib-ld.so" ./bin/boa

这里写图片描述
可以看到Initialize AP MIB failed!已经被修复!
而后继续使用指令:

chroot . ./qemu-mips -E LD_PRELOAD="/apmib-ld.so" -g 1234 ./bin/boa

这里写图片描述
可以看到boa已经在运行了!!!
用netstat查看当前网络连接:
这里写图片描述
发现已经开启 了80端口的web服务!!!

总结

这里主要总结一下IDA动态调试的一些步骤:
1.将相关文件拖进IDA里面;
2.在IDA里面设置一个断点
3.Debugger–>select bugger——>remote GDB debugger
4.Debugger–>Process Options—->Hostname 这里写127.0.0.1,为本地 主机,PORT填写1234
5.Debugger–>start process
注意:如果是在物理机里面远程调试的话还需要将linux_server上传于相关目录下面!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值