脱壳是什么意思?

如题所述

通俗点讲,大多数软件的作者,在写完程序后,为了防止被人反汇编或者修改程序,会用一些加壳软件对主程序进行加壳.类似于保护.而脱壳就是反着的意思了.如果你要修改或者反汇编别人的程序,就得把它加的壳给脱了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-02
脱壳,在电脑软件术语中,就是把某些软件因为加密的原因,对软件进行了加壳(也就是加密),加壳了的软件,一般是不被直接资源工具打开和查看内部语句(也就是源代码),因此反编译也不可能。因此就要进行脱壳。
第2个回答  推荐于2017-11-24
人吗?还是别的什么东西?
动物的话,主要是昆虫,在成长过程中会进行脱壳这个过程本回答被网友采纳
第3个回答  2013-08-29
所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。
  当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序,这就是我们找OEP的原因了。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。
(PS:壳是指在一个程序的外面加上另外一段代码,保护里面的代码不被非法修改或者反编译。)

脱壳:
加壳的程序运行时必须还原成原始形态,就是加壳程序运行后必须进行解压加密的代码然后还原到程序的文件头。所以我们可以用OD跟踪到OEP的原因。这个时候我们就可以抓取(Dump)内存中的镜像,再重构成标准的执行文件。这样我们就脱壳了。
(PS:现在的加密壳更复杂一点,需要我们考虑的东西就更多了,比如代码加密变形(VM)。)本回答被网友采纳
相似回答