C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
来源:互联网 发布:java登录验证码实现 编辑:程序博客网 时间:2024/06/06 18:34
系列目录
C#使用Xamarin开发可移植移动应用目录
源码地址:https://github.com/l2999019/DemoApp
可以Star一下,随意 - -
说点什么..
今天讲讲如何混淆我们的C#代码,来达到反编译的目的
今天的学习内容?
使用Dotfuscator来混淆C#代码,防止反编译.
嗯,既然是客户端应用,自然而然就需要一些防止源码泄漏的手段.通过C#编写的APP,完全是可以直接解压APK,然后得到里面的DLL然后进行反编译的..
如下图:
嗯..这样就会造成代码泄漏..
下面就介绍一下,如何使用VS自带的Dotfuscator来进行混淆代码.
1.安装Dotfuscator
打开VS2017的安装工具,如下,点击修改按钮.
选择单个组件,如下:
在代码工具中找到Dotfuscator并添加.(注意:这里我们安装的是社区版,功能有限,如果需要更深度的混淆,请购买专业版..)
这样,我们的安装就完成了.
2.将Dotfuscator与Xamarin项目集成(重点)
2.1下载Dotfuscator-Xamarin MSBuild目标文件
这个文件是用来生成的,直接下载就行,地址:下载
然后复制到项目路径下.
2.2保护我们的安卓项目.
首先,我们要先卸载安卓项目,如图:
然后编辑csproj文件.如图:
我们在PropertyGroup标签里,添加Dotfuscator的相关配置.
<DotfuscatorXamarinCliPath>(这里是你dotfuscator的安装位置)C:\VS2017\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe</DotfuscatorXamarinCliPath><DotfuscatorXamarinConfigFileName>DotfuscatorConfig.xml</DotfuscatorXamarinConfigFileName><DotfuscatorXamarinGenerateNewConfigFile>true</DotfuscatorXamarinGenerateNewConfigFile>
第一个是你的Dotfuscator的安装位置,自行选择
然后在我们文件的最下面,导入刚刚下载的生成文件.如下图:
设置生成选项,我们找到如下代码:
这里面的配置就是用来设置生成选项的,你可以任意选择是debug还是Relase.
这里,我们当然设置Relase,只有发布的时候才保护嘛 ..调试的时候保护有啥用 - - .
我们在这个标签下,添加代码如下:
<DotfuscatorXamarinEnabled>true</DotfuscatorXamarinEnabled>
2.2生成项目,并设置混淆内容.
修改完成后,我们将项目重新加载进去.
然后存档发布.
如果一切正常的话,会弹出如下界面:
因为我这里用的是免费的社区版,所以功能有限,
我们直接点击生成,完成后关闭这个界面.(很重要,不关闭..就一直卡在生成那里..)
这样,我们就完成了整个C#代码的混淆工作.
3.反编译混淆后的Dll
如图所示,因为社区版的功能较少,所以只能混淆一些变量名..其实混淆的程度有限.
专业版提供了更多的选择..嗯..他可以直接混淆整个控制流程 如下效果:
今天的内容就这些了.其实这个混淆方案对于其他的C#项目也是适用的.嗯..大家可以随意试试.
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
- C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码
- C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
- C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
- C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
- C#使用Xamarin开发可移植移动应用进阶篇(10.综合演练,来一份增删改查CRUD)
- C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
- C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
- C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
- C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码
- C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件),附源码
- C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码
- C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码
- C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
- Android 代码混淆防止反编译
- java防止反编译代码混淆
- HornetQ学习系列(3)
- <14>——Longest Common Prefix
- 1305: [CQOI2009]dance跳舞
- C++中的覆盖(重写)、重载、隐藏(重定义)、多态!
- 几种常见的模式识别算法整理 及 相关资料介绍和下载
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
- 服务器模型——C/S模型和P2P模型
- asdf
- 利用tomcat服务器配置https双向认证、https单向认证-ssl、tls
- java --导出Excel
- linux fork函数详解
- K-means algorithm原理及使用
- PAT 乙级 1026
- 马的遍历