20155301PC平台逆向破解
2018-03-11 11:05
197 查看
20155301PC平台逆向破解
1.掌握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指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。
2.掌握objdump命令、vi基本命令、查看寄存器的命令
1.objdump -d test:反汇编test2.info r:查看寄存器
3.:%!xxd:查看二进制文件
实验过程
1.利用objdump -d + 文件名
将可执行程序进行反汇编,变成机器指令
![](https://images2018.cnblogs.com/blog/1072918/201803/1072918-20180311110257432-1656966806.png)
2.利用vi编辑器打开文件,并用:%!xxd将文件以16进制的形式打开
![](https://images2018.cnblogs.com/blog/1072918/201803/1072918-20180311110330744-2062076030.png)
![](https://images2018.cnblogs.com/blog/1072918/201803/1072918-20180311110338289-2005643373.png)
3.我们如果想要用到shell功能,就要使main函数不调用foo函数,而是调用getshell函数,这一点我们可以通过直接修改机器指令做到。
4.找到与调用foo函数有关的机器指令,由图可得,call 8048491是汇编指令,即,将调用位于地址8048491处的foo函数;对应机器指令为e8 d7ffffff,所以我们要将机器指令中foo函数的物理地址改为getshell函数的物理地址
5.由汇编指令及其对应的机器指令,我们可得:0xd7ffffff+0x80484ba = 0x8048491
即:call机器码 = 跳转地址 - call指令的下一个eip 所以可以算出调用getshell函数的机器码为e8 c3ffffff,所以我们只要将d7修改为c3即可
6.输入/e8 d7搜索所在位置,找到后按回车,按i进入编辑模式,将d7改为c3,按 esc退出编辑模式,输入:%!xxd -r退出16进制模式,保存退出。
![](https://images2018.cnblogs.com/blog/1072918/201803/1072918-20180311110410012-1063478261.png)
![](https://images2018.cnblogs.com/blog/1072918/201803/1072918-20180311110431106-787109000.png)
7.运行程序
![](https://images2018.cnblogs.com/blog/1072918/201803/1072918-20180311110440291-1685295026.png)
相关文章推荐
- 网络对抗技术 2017-2018-2 20152515 Exp1 PC平台逆向破解(5)M
- 20155227《网络对抗》Exp1 PC平台逆向破解(5)M
- 20145234黄斐《网络对抗技术》PC平台逆向破解
- 20145201李子璇《网络对抗》PC平台逆向破解
- 20155326刘美岑 《网络对抗》Exp1 PC平台逆向破解
- 20155208徐子涵 《网络对抗》Exp1 PC平台逆向破解
- 20155306 白皎 《网络攻防》Exp1 PC平台逆向破解——逆向与Bof基础
- 20155213 《网络攻防》 Exp1 PC平台逆向破解
- 20155312张竞予 Exp1 PC平台逆向破解(5)M
- 20145219《网络对抗》PC平台逆向破解
- 20145218张晓涵 PC平台逆向破解_advanced
- 20155203 杜可欣《网络对抗技术》Exp1 PC平台逆向破解
- 20145219《网络对抗技术》PC平台逆向破解之逆向与Bof基础
- 20145312 《网络对抗》PC平台逆向破解:注入shellcode和 Return-to-libc 攻击实验
- 20145206邹京儒《网络对抗技术》 PC平台逆向破解
- Exp1 PC平台逆向破解(5)M
- 20145240《网络对抗》PC平台逆向破解_advanced
- 20145331魏澍琛 《网络对抗技术》 PC平台逆向破解
- 20145333 《网络对抗技术》 PC平台逆向破解
- 2017-2018-2 20155303『网络对抗技术』Exp1:PC平台逆向破解