“壳”是什么东西?

大家说的“加壳”,“脱壳”中的“壳”到底是啥意思?

请各位大哥告诉我它的来龙去脉,产生的原因,最基本的原理

符合以上3条的答案,加分绝不吝啬(可以是自己的,也可以是引用别人的)

不知道的,说说自己的见地,也可以

按我个人理解,壳就是软件的安全码,首先要破解这个安全码才能得到软件的原代码,加壳就是把软件上加上自己的一段代码,脱壳就是把别人的安全码去掉。
加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
其实我用的最多加壳就是给木马加壳,也便不被杀毒软件发现,但是现在类似卡巴斯基的杀毒软件都很厉害,任你怎么加,也能发现的。
加壳工具:Aspack 2.11,Pecompact v1.82, UPX 1.20 ,比较变态的fsg,自己找下载,很好找的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-11-09
加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段.
加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.
加“壳”其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。加“壳”虽然增加了CPU附带但是减少了硬盘读写时间,实际应用时加“壳”以后程序运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。
一般软件都加“壳”这样不但可以保护自己的软件不被破解、修改还可以增加运行时启动速度。
加“壳”不等于木马,我们平时的巨大多数软件都加了自己的专用“壳”。
RAR和ZIP都是压缩软件不是加“壳”工具,他们解压时是需要进行磁盘读写,“壳”的解压缩是直接在内存中进行的,用RAR或者ZIP压缩一个病毒你试试解压缩时杀毒软件肯定会发现,而用加“壳”手段封装老木马,能发现的杀毒软件就剩不下几个。
第2个回答  2006-11-09
壳就是一种软件保护的方式。开始壳分压缩型与加密型
压缩型的基本上就是UPX了,一般我现在UPX是没任何问题的,当然需要用OD来调试,还要修改软件的入口参数Aspack 2.11也不难,举个例子,我们常用的“超级兔子”就是用UPX加的壳(用PEID查看),大小才100多K,我脱了后就有1.4M多,再用PEID查看的时候就发现它是用VB写的。这样就明白压缩的重要性了吧。
还有就是加密型的,那就不容易找到入口地址。不过利用ESP(堆栈平衡)原理还是可以解决的。我遇到过很BT的,一个CRACKER写的软件。居然检测到是FBI的壳,这明显是搞笑。不过还是被兄弟们脱了它。

要知道最正规的回答你可以去http://www.pediy.com
在看雪那你可以学到很多东西。
这是国内最好的破解论坛

如果你想自学可以去下一个教程,那名字就叫“TK”就是“脱壳”的意思

问题是高级的软件一般是壳与软件是浑成一体的那就比较复杂了,看雪论坛出了本书《软件加密解密技术内幕》推荐使用。本回答被提问者采纳
第3个回答  2006-11-09
简单说来就是传病毒,木马者

为了防止病毒,木马被你的杀毒软件所杀

所采取的在病毒,木马上加一些东西或者改一些特征码

使杀毒软件杀不了的东西...
第4个回答  2006-11-11
壳就是加在程序上的一种保护