“壳”是什么东西?

来源:百度知道 编辑:UC知道 时间:2024/05/14 04:20:53
大家说的“加壳”,“脱壳”中的“壳”到底是啥意思?

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

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

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

壳就是一种软件保护的方式。开始壳分压缩型与加密型
压缩型的基本上就是UPX了,一般我现在UPX是没任何问题的,当然需要用OD来调试,还要修改软件的入口参数Aspack 2.11也不难,举个例子,我们常用的“超级兔子”就是用UPX加的壳(用PEID查看),大小才100多K,我脱了后就有1.4M多,再用PEID查看的时候就发现它是用VB写的。这样就明白压缩的重要性了吧。
还有就是加密型的,那就不容易找到入口地址。不过利用ESP(堆栈平衡)原理还是可以解决的。我遇到过很BT的,一个CRACKER写的软件。居然检测到是FBI的壳,这明显是搞笑。不过还是被兄弟们脱了它。

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

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

问题是高级的软件一般是壳与软件是浑成一体的那就比较复杂了,看雪论坛出了本书《软件加密解密技术内幕》推荐使用。

按我个人理解,壳就是软件的安全码,首先要破解这个安全码才能得到软件的原代码,加壳就是把软件上加上自己的一段代码,脱壳就是把别人的安全码去掉。
加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基