开发的软件上市前,需要给软件加密,防止被人逆向,反编译出源码。

不同的开发语言,加密方式不同。以 C#开发的软件为例:

需要将软件编译成 exe、dll之后使用加壳工具直接加密。

推荐的加壳工具

VirboxProtector


加密技术

函数虚拟化:将其转换为自定义的虚拟指令,传递到 VBP 的安全虚拟机中执行,这样在内存中任何时刻和任何位置都不会有原始 IL 的存在,防止脱壳及内存 Dump

代码混淆:扰乱原始指令,防止静态分析。代码混淆可将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式。支持对 x86/arm/.net il 系列指令进行混淆

压缩:打包并加密程序中的代码和数据,防止被反编译

JIT加密:加密.NET程序的所有方法的 IL代码,防止被反编译和动态调试

资源加密:加密 .NET 资源,防止资源被提取

调试器检测:勾选此选项后,程序检测到进程被调试时退出进程。

字符串加密:加密代码中的敏感字符串,防止反编译工具直接搜索到相关的函数

加壳工具截图

怎么单独给软件加密?_反编译