有关壳与脱壳方法

壳的概念

壳最早出现是一种专用加密软件技术,用于保护程序不被静态分析。
某些病毒木马程序也利用加壳技术来躲避杀毒软件的查杀。

壳是一段专门保护软件不被非法修改或反汇编的程序。它们一般都是先于程序运行,拿到控制权。

加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段。加壳过的程序可以直接运行,但是不能查看源代码。要经过脱壳才可以查看源代码。

常见的壳主要分两类

  • 压缩壳:压缩壳的特点是减少软件体积大小,加密保护不是重点。
    常见的压缩壳有:UPX、ASPack、PECompact

  • 加密壳:最主要的目的是保护程序,一些加密壳除了提供加密功能外,还提供注册机保护功能。
    常见的加密壳有:ASProtect、Armadillo(穿山甲)、EXECryptor、Themida

脱壳

脱壳就是找到程序的入口点OEP,然后dump内存中数据到文件,并修复成一个可运行文件。也就是将加壳后的程序恢复原来状态。脱壳成功的标志是文件能正常运行。

  • 手动脱壳主要分四步
    1、查壳:PEiD等查壳工具
    2、寻找OEP:通过OD动态调试跟踪到入口处
    3、Dump文件:OD、LoadPE等工具读取内存数据并写入文件
    4、修复:利用ImportREC等工具修复输入表或手动修复

脱壳方法

一、ESP定律法

ESP定律的原理是堆栈平衡,ESP定律适用于几乎全部的压缩壳,部分加密壳。但是在何时下断点避开校验,何时下断OD才能断下来,这还需要多多总结和多多积累。

  • 使用ESP定律追踪OEP的常见步骤:
    1、基于ESP原理,我们可以通过F8步进,注意右面寄存器FPU的显示,当有且只有ESP和EIP为红色时,我们可以用ESP定律了。
    2、右键ESP后面那个地址,然后选择在数据窗口中跟随。<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值