前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)

C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)

作者头像
GuZhenYin
发布2018-01-04 20:02:46
9990
发布2018-01-04 20:02:46
举报
文章被收录于专栏:GuZhenYinGuZhenYinGuZhenYin

前言

源码地址: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#项目也是适用的.嗯..大家可以随意试试.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说点什么..
  • 今天的学习内容?
  • 下面就介绍一下,如何使用VS自带的Dotfuscator来进行混淆代码.
  • 1.安装Dotfuscator
  • 2.将Dotfuscator与Xamarin项目集成(重点)
    •    2.1下载Dotfuscator-Xamarin MSBuild目标文件
      •   2.2保护我们的安卓项目.
        • 2.2生成项目,并设置混淆内容.
        • 3.反编译混淆后的Dll
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档