壳、加壳、脱壳

什么是壳?

在计算机软件里有一些专门负责保护软件不被非法修改或反编译的程序。他们一般都是先于程序运行,拿到控制权,然后完成他们保护程序的任务。由于这段程序和自然界的壳在功能上很相似,我们就把这样的程序称为“壳”

加壳

全称应该是可执行程序资源压缩,是保护文件的常用手段

什么是加壳?是应用加固的一种手法对原始二进制原文进行加密/隐藏/混淆

加壳的好处:保护自己的核心代码算法,提高破解的难度缓解代码注入/动态调试/内存注入攻击

加壳的缺点:影响兼容性,影响程序运行效率

加壳其实就是利用特殊的算法,对EXE\DLL文件里的资源进行压缩,改变其原来的特征码,隐藏一些字符串等等,使一些资源编辑软件不能正常打开或者修改。加壳后的程序可以单独运行,解压过程完全隐蔽,都在内存中完成。

脱壳

表示通过反汇编将壳去掉的过程

脱壳三步法:

1)寻找原始OEP:确定原始程序代码到底在哪里,能找到原始程序的代码,说明壳代码执行完了

2)dump内存到文件:当我们找到原始OEP,并进行调试时,只要源代码被还原,我们就可以在这个地方进行dump内存,将内存中被替换的代码和数据抓取下来,保存成一个新文件,这样脱完壳我们就可以用静态分析工具分析程序了

3)修复文件:这一步主要就是修复IAT,对从内存中转储到本地的文件进行修复

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moriia---

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值