VS2008 ClickOnce发布Xenocode混淆的应用
来源:互联网 发布:阿里巴巴外贸绑定域名 编辑:程序博客网 时间:2024/06/06 14:22
没有混淆加密的Dotnet程序实在太无语了,反编译后的代码可读性极高。混淆器算是个门槛了,如何融入ClickOnce,我参考了这个地址。但不知为何,使用Dotfuscator生成的程序无法执行,直接退出。后来找到Xenocode Postbuild,经过手动测试成功。于是考虑与ClickOnce结合。
一样的思路,也是修改项目工程文件末尾的Microsoft.Common.targets部分。
增加内容如下:
<PropertyGroup>
<XenocodeLocation>"K:\Crack\DotNetReflector\postbuild.exe"</XenocodeLocation> (Xenocode Postbuild绝对路径)
<XenocodeProjectLocation>"$(ProjectDir)djcj.postbuild"</XenocodeProjectLocation> (提前运行Xenocode Postbuild后的配置文件,保存在项目文件夹内。Xenocode Postbuild用法详后。)
<XenocodeOutputLocation>"$(ProjectDir)temp"</XenocodeOutputLocation> (创建的临时文件夹,用来保存混淆好的文件)
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<Target Name="BeforeBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<CreateProperty Value="true">
<Output TaskParameter="Value" PropertyName="Obfuscate" />
</CreateProperty>
</Target>
上面这段Target的意思是在生成之前触发——若配置和平台分别是Release(指定Release可以避免调试的时候开启混淆)和AnyCPU的时候,给一个名叫Obfuscate的属性赋True值。
<Target Name="AfterCompile" Condition=" '$(Obfuscate)' != '' "> (编译之后触发。Target节点与程序中的事件相像)
<Exec Command="$(XenocodeLocation) $(XenocodeProjectLocation)" />(执行命令+参数)
<Copy SourceFiles="$(ProjectDir)temp\APP.exe" DestinationFiles="$(ProjectDir)obj\Release\APP.exe" />(Copy temp中的项目主程序文件到obj\Release里)
<Copy SourceFiles="$(ProjectDir)temp\Sys.dll" DestinationFiles="$(SolutionDir)Sys\obj\Release\Sys.dll" />
<Copy SourceFiles="$(ProjectDir)temp\Sys.dll" DestinationFiles="$(SolutionDir)Sys\bin\Release\Sys.dll" />
(Copy混淆后的自定义程序集到自身的obj\Release和bin\Release里。之所以Copy两次,是因为项目依赖的这个Sys程序集先于本项目编译完成,因此混淆后的程序集要Copy回去。)
</Target>
Xenocode Postbuild的配置要点:
1、开始配置前一定生成一次,且不能带上边那些标签的。
2、项目主程序和自制程序集都放到输入中,不要管软件的警告!这些文件的来源都是obj\Release文件夹。
3、预设务必选择ClickOnce;不选择VM虚拟机。
4、选择生成多个程序集;输出目录是项目文件夹里的Temp目录。
带Xenocode混淆的ClickOnce发布注意事项:
1、无论是生成还是发布之前务必清理一次项目。
- VS2008 ClickOnce发布Xenocode混淆的应用
- 用Xenocode Fox反编译用Xenocode Publish混淆过的应用
- 用Xenocode Fox反编译用Xenocode Publish混淆过的应用
- Xenocode混淆经验
- Xenocode混淆方式
- C#混淆 xenocode使用说明
- Xenocode Postbuild 2007 Evaluation 对DLL混淆的使用方法
- ClickOnce发布
- 如何指定通过 ClickOnce 发布的文件
- 如何更改 ClickOnce 应用程序的发布语言
- 如何指定 ClickOnce 应用程序的发布页
- 使用Xenocode加壳混淆后,无法“自杀覆盖”的自动更新
- Xenocode Postbuild 2010 for .NET 混淆工具的详细使用步骤
- 用XenoCode 2006 加密dll (.NET混淆 )
- 用XenoCode 2006 加密dll (.NET混淆 )
- ClickOnce发布WCF客户端程序(VS2008 NetFramework 2.0 SP2 编译版本)思路
- 如何发布 ClickOnce 应用程序
- C#.NET ClickOnce 发布
- Android Material Design:滑动指示选项卡android.support.design.widget.TabLayout的简单使用
- windows下PHP7安装方法(ts版和nts版)
- Android异步加载图片中UI是否被阻塞的测试
- HDU5166Missing number
- Java微博爬虫的学习
- VS2008 ClickOnce发布Xenocode混淆的应用
- iOS系统UITextField研究
- Unity+NGUI性能优化方法总结
- linux和windows下的“回车符”和“换行符”
- 伴随ListView、RecyclerView、ScrollView滚动滑入滑出小图标--第三方开源--FloatingActionButton
- Discuz!X2.5 在FastCGI模式下php-cgi.exe进程数量增多的原因分析
- has a / is a 的区别
- TortoiseSVN版本控制软件的Windows安装与应用
- Android Native/Tombstone Crash Log 详细分析