逆向工程-查壳去壳和加壳的基本原理

逆向工程-查壳去壳和加壳的基本原理

这里先说明一下壳的概念,壳主要是负责保护软件不被非法修改和反编译的程序。

它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。

查壳的基本原理:像PEID这类程序都是通过目录下的userdb.txt数据库进行加壳程序特征对比的。

加壳的基本原理:是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。加壳一般是指保护程序资源的方法。

去壳的基本原理 :一般是指除掉程序的保护,用来修改程序资源。

脱壳主要有两种方法:硬脱壳和动态脱壳。

第一种,是硬脱壳,这是指找出加壳软件的加壳算法,写出逆向算法,就像压缩和解压缩一样。由于,目前很多“壳”均带有加密、变形的特点,每次加壳生成的代码都不一样。硬脱壳对此无能为力,但由于其技术门槛较低,仍然被一些杀毒软件所使用。

第二种,是动态脱壳。由于加壳的程序运行时必须还原成原始形态,即加壳程序会在运行时自行脱掉“马甲”。目前,有一种脱壳方式是抓取内存中的镜像,再重构成标准的执行文件。相比硬脱壳方法,这种脱壳方法对自行加密、变形的壳处理效果更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小宇特详解

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

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

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

打赏作者

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

抵扣说明:

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

余额充值