2018-3-7 20155317 王新玮 Exp1 PC平台逆向破解(5)M
2018-03-07 15:06
369 查看
2018-3-7 20155317 王新玮 Exp1 PC平台逆向破解(5)M
任务要求:手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。
NOP、JNE、JE、JMP、CMP汇编指令的机器码:
NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)JNE:条件转移指令,如果不相等则跳转。(机器码:75)
JE:条件转移指令,如果相等则跳转。(机器码:74)
JMP:无条件转移指令。段内直接短转Jmp short(机器码:EB)段内直接近转移Jmp near(机器码:E9)段内间接转移Jmp word(机器码:FF)段间直接(远)转移Jmp far(机器码:EA)
CMP:比较指令,功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。
在开始之前,我们首先要学会两样东西
1.反汇编objdump -d pwn1(文件名)|more
这条命令的用途是将可执行程序进行反汇编,变成机器指令
2.其次呢我们要学会使用vi编辑器, 我们用vi查看pwn1,输入:
vi pwn1
vi pwn1(文件名) linux下的vi编辑器功能十分强大,不仅可以编辑任何一个文件,而且可以以不同进制进行查看,如下图,进入编辑界面后,敲入
:%!xxd
,则以16进制进行查看。
本次实验要做的是通过修改指令,修改指令间的跳转:在完成本次任务之前,我们先来看一下本次实验的原理:
如下图所示:我们可以看到,在机器语言中,调用指令最根本的是找到了指令所在的偏移地址,例如下图中main的地址为080484af,而call指令后面的8048491对应的是foo函数的地址。所以说,如果想要改变指令的调用,那么我们只需要修改偏移地址的值就可以了。而且从下图中我们可以看到,前后两者是一一对应的,也就是说,如果改变前着的值,那么对应后面的指令跳转我们也能相应的改变。
完成这些之后呢,我们就能知道e8对应的就是call指令,而e8之后的数字代表着调用函数的偏移地址,我们只需要将foo函数的地址变成getshell函数的地址就可以了
从上图中我们可以看到,foo函数的地址为08048291,getshellh函数的地址为0804847d,用16进制的减法我们可以精确的算出getshell比foo低了14,也就在原来的基础上减去14即可。而在linux环境下,采用小端存储的方式,也就是说d7为低位,就是说将到d7减去14即可,也就是变成c3。完成这些以后,我们采用vi编辑器进行修改。
我们在下面输入:/e8表示查询e8.然后,点击i键进行修改。将d7写为c3,然后按下esc,输入:wq保存退出。
/e8 d7 \\查找
%!xxd - r \\恢复二进制格式 :wq \\保存退出
再次进行objdump -d 进行查看
这样我们就完成了本次任务的实验操作。
实验过程中可能出现的问题:
如果是64位的卡里虚拟机,无法运行可以参考老师写的博客:http://www.cnblogs.com/zl20154312/p/8511455.html,其中如果出现源链接连接不上的情况,可以填入以下链接 :deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free相关文章推荐
- 网络对抗技术 2017-2018-2 20152515 Exp1 PC平台逆向破解(5)M
- 20155338《网络对抗技术》 Exp1 PC平台逆向破解
- 20155306 白皎 《网络攻防》Exp1 PC平台逆向破解——逆向与Bof基础
- 2017-2018-2 《网络对抗技术》 20155319 第二周 Exp1 PC平台逆向破解(5)M
- 20155326刘美岑 《网络对抗》Exp1 PC平台逆向破解
- 2017-2018-2 20155303『网络对抗技术』Exp1:PC平台逆向破解
- Exp1 PC平台逆向破解(5)M
- 20155227《网络对抗》Exp1 PC平台逆向破解(5)M
- 20155208徐子涵 《网络对抗》Exp1 PC平台逆向破解
- 20155213 《网络攻防》 Exp1 PC平台逆向破解
- 20155312张竞予 Exp1 PC平台逆向破解(5)M
- 2017-2018-2 《网络对抗技术》 20155322 第二周 Exp1 PC平台逆向破解(5)M
- 2017-2018-2 20155315《网络对抗技术》Exp1:PC平台逆向破解
- 20155203 杜可欣《网络对抗技术》Exp1 PC平台逆向破解
- 20155321 《网络攻防》 Exp1 PC平台逆向破解(5)M
- 2017-2018-2 《网络对抗技术》 20155302 第二周 Exp1 PC平台逆向破解(5)M
- 20145221高其_PC平台逆向破解_advanced
- 20145232韩文浩《网络对抗》PC平台逆向破解
- 20145329 《网络对抗技术》PC平台逆向破解
- 20145302张薇《网络对抗技术》PC平台逆向破解