C# 代码混淆

1、在项目中使用nuget安装obfuscar

2、复制Obfuscar.Console.exe到项目文件夹内

在项目根目录下找到packages\Obfuscar.2.2.38\tools,将Obfuscar.Console.exe拷到要加密文件的文件夹中

3、新建一个Obfuscar.xml 文件放到相同目录下

<?xml version='1.0'?>
<Obfuscator>
  <Var name="InPath" value="." />
  <Var name="OutPath" value=".\Obfuscar" />
  <Var name="KeepPublicApi" value="true" />
  <Var name="HidePrivateApi" value="true" />
  <Var name="HideStrings" value="true" />
  <Var name="UseUnicodeNames" value="true" />
  <Var name="ReuseNames" value="true" />
  <Var name="RenameFields" value="true" />
  <Var name="RegenerateDebugInfo" value="true" />

  <Module file="$(InPath)\Logic.dll" />

</Obfuscator>

下图中,Logic.dll是要加密的类库,也可以是exe文件:

4、Cmd执行加密

用命令提示符cmd进入到目录下(可以在cmd里用cd指令跳转,也可以直接打开目标文件夹,然后在上方的文件路径那里直接替换成cmd后enter)

执行>Obfuscar.Console.exe Obfuscar.xml

5、在生成的Obfuscar文件夹中可以找到被加壳后的同名Logic.dll

上述得到的Logic.dll即可被其他项目直接引用,加密后类似:

posted @ 2024-11-21 14:55  多见多闻  阅读(202)  评论(0)    收藏  举报