请问软件加壳是什么意思啊 ?

2024-12-03 11:03:02
推荐回答(4个)
回答1:

加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩,
改变其原来的特征码,隐藏一些字符串等等,使一些资源编辑软件不能
正常打开或者修改。类似WINRAR的效果,只不过这个压缩之后的文件,
可以独立运行,解压过程完全隐蔽,都在内存中完成。
解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才
能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。
软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳
后的软件运行速度的差别。
当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是
这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存
中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内
存中运行的,是不可以了解具体是怎么样在内存中运行的。
通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一
些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时
候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程
序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,
保护你的程序数据的完整性。不被修改或者破解。

A壳和C壳算法不同。

回答2:

加壳是保护文件的常用手段。 加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码。

加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。
加壳的程序经常想尽办法阻止外部程序或软件对加壳程序的反汇编分析或者动态分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。

回答3:

保护软件的代码不被反编译。例如virbox protector利用代码加密/代码混淆/代码虚拟化的技术防止代码反编译。

回答4:

给软件加壳可以理解为给软件穿了个马夹,给病毒加壳可以使病毒不容易被杀毒软件干掉,加密压缩都可以算是加壳