Skip to main content

【新增功能】支持 .NET 程序集合并

· One min read

VirboxProtector 2.5.2 版本增加了.NET 程序集合并功能,可以将 .NET 格式的可执行程序(.exe)及动态库(.dll)合并为一个模块,可以消除模块间的依赖,再对其进行保护可以起到更好的名称混淆效果。

使用流程#

可以在 Virbox Protector 工具菜单下打开.NET 程序集合并工具

image-20220821205339579

合并步骤#

1.将待合并的程序集全部拖到程序集列表里;

2.选择一个主程序集;

3.设置合并后的主程序集存放位置,默认会生成一个Merge文件夹并存放在这里;

4.点击合并;

合并完成后,可以删除除了主程序集外的其它被合并的 dll,然后把合并后的主程序集替换原来的主程序集。

image-20220821205748068

主程序集#

合并后生成的主程序集,可以是 exe 或 dll。

合并注意事项#

  1. 合并模块必须是 .NET 格式的程序,可以是 .exe 或 .dll;
  2. 若可执行程序(exe文件)为PE类型,对dll文件合并时要注意是否含有与exe同名的dll文件,一般exe文件会直接调用同名的dll文件,这个情况下进行合并时该dll文件必须为主程序集,否则合并后exe会运行失败(例如demo.exe为PE程序,若有demo.dll文件,则该dll合并时为主程序集);
  3. 合并程序集不支持对系统的dll进行合并,只支持自己编译的文件,例如Unity程序中的dll文件,只支持Assembly-Csharp*开头的dll和自己开发的程序集dll,其他系统的dll文件并不支持合并;
  4. 除了合并的主程序集模块,其它模块不能被未合并的模块依赖,否则运行时会因找不到模块而异常;
  5. 不支持的文件拖入该功能界面时会被过滤,不会显示在.NET程序集合并的窗口中;
  6. .NET程序集合并不支持对加壳后的程序进行合并;

保护程序集#

合并后程序集,可以再添加到VirboxProtector进行保护。参考 .NET加密流程