概念
加壳:其实是利用特殊的算法,对执行档里的资源进行压缩,只不过这个压缩之后的档案,可以独立运行,解压过程完全隐蔽,都在记忆体中完成。它们附加在原程式上通过载入器载入记忆体后,先于原始程式执行,得到控制权,执行过程中对原始程式进行解密、还原,还原完成后再把控制权交还给原始程式,执行原来的代码部分。加上外壳后,原始程式代码在磁碟档案中一般是以加密后的形式存在的,只在执行时在记忆体中还原,这样就可以比较有效地防止破解者对程式档案的非法修改,同时也可以防止程式被静态反编译。解压原理
加壳工具在档案头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东西。软体一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软体运行速度的差别。当你加壳时,其实就是给可执行的档案加上个外衣。用户执行的只是这个外壳程式。当你执行这个程式的时候这个壳就会把原来的程式在记忆体中解开,解开后,以后的就交给真正的程式。所以,这些的工作只是在记忆体中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软体,被一些专门的加壳程式加壳,基本上是对程式的压缩或者不压缩。因为有的时候程式会过大,需要压缩。但是大部分的程式是因为防止反跟蹤,防止程式被人跟蹤调试,防止算法程式不想被别人静态分析。加密代码和数据,保护你的程式数据的完整性。不被修改或者窥视你程式的内幕。
加“壳”虽然增加了CPU负担,但是减少了硬碟读写时间,实际套用时加“壳”以后程式运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。
一般软体都加“壳”这样不但可以保护自己的软体不被破解、修改还可以增加运行时启动速度。
加“壳”不等于木马,我们平时的绝大多数软体都加了自己的专用“壳”。
RAR和ZIP都是压缩软体,不是加“壳”工具,他们解压时是需要进行磁碟读写,“壳”的解压缩是直接在记忆体中进行的。用RAR或者ZIP压缩一个病毒你试试,解压缩时防毒软体肯定会发现。而用加“壳”手段封装木马,能发现的防毒软体就少得多。
木马加壳的原理很简单,在黑客营中提供的多数木马中,很多都是经过处理的,而这些处理就是所谓的加壳。当一个程式生成好后,很轻鬆的就可以利用诸如资源工具和反彙编工具对它进行修改,但如果程式设计师给程式加一个壳的话,那么至少这个加了壳的程式就不是那么好修改了,如果想修改就必须先脱壳。
分类
加壳工具通常分为压缩壳和加密壳两类。
压缩壳的特点是减小软体体积大小,加密保护不是重点。
加密壳种类比较多,不同的壳侧重点不同,一些壳单纯保护程式,另一些壳提供额外的功能,如提供注册机制、使用次数、时间限制等。



是任意常數,
時,必須採用同一個











