20155325 Exp1 PC平台逆向破解(5)M

Exp1 PC平台逆向破解(5)M

阶段性截图

1071478-20180317202614555-1701399957.png

1071478-20180317202623220-859684271.png

1071478-20180317202631648-1587591861.png

1071478-20180317202638780-1720589928.png

基础知识

掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码

汇编指令作用机器码
NOP“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。90
JNE条件转移指令,如果不相等则跳转。75
JE条件转移指令,如果相等则跳转。74
JMP无条件转移指令。段内直接短转Jmp short;段内直接近转移Jmp near;段内间接转移Jmp word;段间直接(远)转移Jmp farEB;E9;FF;EA
CMP比较指令,功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。

掌握反汇编与十六进制编程器

  • objdump -d
    从objfile中反汇编那些特定指令机器码的section。
  • xxd - 做一次十六进制的输出或者反操作

    在vi命令状态下:
    :%!xxd :%!od 将当前文本转化为16进制格式

==参考链接==: objdump命令linux 命令 xxd linux下查看二进制文件

1071478-20180317202653006-280373830.png

1071478-20180317202658946-195142137.png

  • 47d-4ba = c3ffffff
    所以 修改d7为c3
vi 程序名

1.按ESC键

2.输入如下,将显示模式切换为16进制模式
:%!xxd

3.查找要修改的内容
/e8 d7

(里面这个空格必须输,否则找不到)

4.找到后前后的内容和反汇编的对比下,确认是地方是正确的

5.修改d7为c3

6.转换16进制为原格式
:%!xxd -r

7.存盘退出vi
:wq

能正确修改机器指令改变程序执行流程

1071478-20180317202711769-1893837149.png

能正确构造payload进行bof攻击

1071478-20180317202746552-775923079.png

1071478-20180317202755818-336092920.png

break *address
在程式运行的内存地址处停住。
1071478-20180317202813467-1246385033.png

1071478-20180317202818981-1244825188.png

1071478-20180317202825982-769990855.png

1071478-20180317202831054-539862440.png

1071478-20180317202837027-878251663.png

1071478-20180317202934401-346282208.png

1071478-20180317202942312-1733938848.png

1071478-20180317203008263-1103898683.png

遇到的问题及解决

  • 在配置Kali和实验的过程中有时会遇到以下这种问题,当然是选择安装它啦

1071478-20180317203320462-1862077267.png

  • 安装中文输入法

搜狗输入法安装失败后,选择安装google的,参考: [分享] kali linux 中文输入法(弄了一晚综合各种帖子终于弄好了)

参考链接

转载于:https://www.cnblogs.com/GDDFZ/p/8592539.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值