c#写的windows应用.exe文件,可以使用dnspy打开编辑
https://github.com/dnSpyEx/dnSpy/releases/tag/v6.1.9https://github.com/dnSpyEx/dnSpy/releases/tag/v6.1.9代码效果基本上与原来一样,基本c#写的代码就是在裸奔了。
原代码和反编译的代码基本区别不大,这样就需要混淆一下,不然东西都被人家看到了
一. 安装obfuscar
obfuscar可以通过Nuget工具方便的安装。在Nuget安装界面搜索obfuscar后点击安装即可
二.新建obfuscar配置文件
在项目的根目录新建obfuscar的配置文件,如果项目中有许多子项目,建议在主项目里配置obfuscar,后续会说明原因。新建的配置文件名为obfuscar.xml。建好后选择其文件属性 复制到输出目录 如果较新则复制。
里面的内容,如下
<?xml version='1.0'?>
<Obfuscator>
<Var name="InPath" value="." />
<Var name="OutPath" value=".\Obfuscator_Output" />
<Var name="KeyFile" value=".\test.snk" />
<Var name="ReuseNames" value="false" />
<Var name="HideStrings" value="true" />
<Var name="KeepPublicApi" value="false" />
<Var name="HidePrivateApi" value="true" />
<Var name="UseKoreanNames" value="true" />
<Module file="$(InPath)\BasicExampleExe.exe" />
<Module file="$(InPath)\BasicExampleLibrary.dll" />
</Obfuscator>
具体内容参看下面
https://docs.obfuscar.com/getting-started/configuration.html#settings
在项目的属性-》生成事件 中加入,表示当release模式时,将生成混淆的exe,dll直接覆盖原生的。
set "str=$(ConfigurationName)"
if "%str%"=="Release" (
CD $(TargetDir)
"$(Obfuscar)" obfuscar.xml
xcopy Obfuscator_Output\*.dll /y /e /i /q
xcopy Obfuscator_Output\*.exe /y /e /i /q
)
这时再打开原来那个代码变成了下面的样子,还是有一点用的,防君子不防小人。