加壳工具_加壳工具是什么_加壳工具_加壳工具是什么材质

“加壳”意思是利用特殊的算法,对可执行文件里的资源进行压缩,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。

它们附加在原程序上通过加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。

加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。

加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码。   加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。加壳的程序经常想尽办法阻止对程序的反汇编分析或者动态分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。现在有专用的加壳软件,还可以给病毒加壳,使其能逃避一些杀软的查杀

用.NETReactor或Dotfuscator前者是加壳,被加壳后若用反编译会得到“索引超出范围”的提示,后面是混淆。个人认为加什么壳都没用,别人一样可以脱壳,唯有混淆是比较有用的。如果楼主是基于保护源码安全,那么.NET或者JAVA程序在这块是不如C\C++的,所以建议高手通常的做法是这样的:

1)核心技术,如核心算法采用C\C++编写然后封装成dll供.NET调用;

2)集中核心算法;拷贝两份文件;抹掉关键注释;混淆.NET源码。

原文链接:,转发请注明来源!