源碼地址:https://github.com/l2999019/DemoAppgit
能夠Star一下,隨意 - -github
今天講講如何混淆咱們的C#代碼,來達到反編譯的目的工具
使用Dotfuscator來混淆C#代碼,防止反編譯.post
嗯,既然是客戶端應用,天然而然就須要一些防止源碼泄漏的手段.經過C#編寫的APP,徹底是能夠直接解壓APK,而後獲得裏面的DLL而後進行反編譯的..學習
以下圖:ui
嗯..這樣就會形成代碼泄漏..spa
打開VS2017的安裝工具,以下,點擊修改按鈕.debug
選擇單個組件,以下:3d
在代碼工具中找到Dotfuscator並添加.(注意:這裏咱們安裝的是社區版,功能有限,若是須要更深度的混淆,請購買專業版..)
這樣,咱們的安裝就完成了.
這個文件是用來生成的,直接下載就行,地址:下載
而後複製到項目路徑下.
首先,咱們要先卸載安卓項目,如圖:
而後編輯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>
修改完成後,咱們將項目從新加載進去.
而後存檔發佈.
若是一切正常的話,會彈出以下界面:
由於我這裏用的是免費的社區版,因此功能有限,
咱們直接點擊生成,完成後關閉這個界面.(很重要,不關閉..就一直卡在生成那裏..)
這樣,咱們就完成了整個C#代碼的混淆工做.
如圖所示,由於社區版的功能較少,因此只能混淆一些變量名..其實混淆的程度有限.
專業版提供了更多的選擇..嗯..他能夠直接混淆整個控制流程 以下效果:
今天的內容就這些了.其實這個混淆方案對於其餘的C#項目也是適用的.嗯..你們能夠隨意試試.