SmartAssembly加壳工具,我还真的是不太喜欢给自己的程序加壳,觉得开源才是王道,但是没办法工作需要,需要有个加壳后与加壳前的对比,好吧谁叫咱只是程序员呢。
开始埋头苦干,找了半天也没找到合适的,后来有群里大佬告诉我是“流程混淆”并且告诉了我SmartAssembly这个工具。
let‘s 干活
安装好之后才发现 需要sql server 尼玛 这么大玩意 可不好整 最后仔细看了看 说用sqllocal 也可以,但是咱不了解sqllocal 啊 又开始百度问 终于问出个好消息来 只要是vs2015或者以上版本默认都安装好了 太好了 让我拿过来直接用,下面是配置步骤
第一步设置数据库:
第二步,新建工程
设置输出目录
设置加壳的选项
添加依赖库文件
pruning 精简代码,这一步将从程序集中删除一些没有用的代码和元数据。smartassembly将检查程序集中的代码,自动判定哪些代码是有用的,哪些代码是从不会执行到的。同时,也将移除没有用的元数据。并可以分别选择对主程序集和依靠的程序集进行精简代码操作。可以根据自己的具体需要选择
obfuscation 混淆代码
混淆代码是保护你的程序集最重要的方法。它将类和方法的名称更改为不可读的字符,但不会改变代码的功能,达到保护代码的目的。同时,也可以减少元数据,减小程序集的大小
build 输出混淆后的程序集
点击build 按钮,就输出混淆后的程序集了,并且所有依靠的程序集都合并在一起了,这样在发布的时候,只需要发布合并后的一个程序集和第三方的程序集了
最后我们用ILSpy反编译工具测试一下效果
加壳前:
加壳后: