【逆向学习笔记5】夏令营直播课0810病毒分析(第2天)

壳与脱壳

分类

在这里插入图片描述
分类:
压缩壳在CTF竞赛中,UPX可能会出现得更多。在这里插入图片描述
脱壳方法:使用脱壳机/手动脱壳

PE文件格式

参考书:《WindowsPE权威指南》
工具:Stud_PE,CFF_Explorer,010Eiditor
在这里插入图片描述
查壳工具
在这里插入图片描述

壳的加载过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

脱壳过程

寻找OEP

在这里插入图片描述
E8+… >> jmp(短距离,如1字节)
E9+… >> 远jmp(操作数有四字节)
找到该指令后下断点,运行后按F8跟过去。
在这里插入图片描述
操作:pushad指令处的栈顶设置硬件断点(eg.4字节)
在这里插入图片描述
操作:“内存布局”->“upx0”->设置一次性执行断点->运行
在这里插入图片描述
前提:OEP在code段。
二次内存断点法:
在这里插入图片描述

Dump内存

在这里插入图片描述
在这里插入图片描述
若在前面找到的OEP指令出调用x32dbg自带的Scylla插件,会发现OEP已经被自动写好了:
再点击"Dump",生成的exe文件就是已经脱了壳的。
在这里插入图片描述

IAT修复

上面Dump出来的程序一般无法直接运行,原因:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

反调试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SMC动态加解密技术

申请内存空间 -> 写入shellcode的字节码 -> 执行shellcode
在这里插入图片描述

例题:天津垓

先拖进ida64
1.过Enumfunc
Patch 改成jmp
2.
在这里插入图片描述

Str全局,还有两处调用
VirtualProtect:改变函数内存的属性。0x40:设置为可修改。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

静态混淆手段

花指令的识别与去除

在这里插入图片描述

更高级

在这里插入图片描述

乱序

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值