您好,今天芳芳来为大家解答以上的问题。软件脱壳教程视频,软件脱壳相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、脱壳主要有两种方法:硬脱壳和动态脱壳。
2、第一种,是硬脱壳,这是指找出加壳软件的加壳算法,写出逆向算法,就像压缩和解压缩一样。
3、由于现在的壳有加密、变形、虚拟环境等等特点,每次加壳生成的代码都不一样。
4、硬脱壳对此无能为力,第二种,是动态脱壳。
5、加壳的程序运行时必须还原成原始形态,就是加壳程序运行后必须进行解压到程序的文件头。
6、所以我们可以用OD跟踪到OEP的原因。
7、这个时候我们就可以抓取(Dump)内存中的镜像,再重构成标准的执行文件。
8、这样我们就脱壳了。
9、(PS:现在的加密壳更复杂一所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。
10、 当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序,这就是我们找OEP的原因了。
11、一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。
12、一般情况下,加壳程序和未加壳程序的运行结果是一样的。
13、由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。
本文就为大家分享到这里,希望小伙伴们会喜欢。
标签: