欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

使用Dotfuscator保護你的Xamarin應用程序

老實說,發(fā)布一個庫、桌面應用程序或移動應用程序可能有點嚇人。一旦你的軟件可以免費提供給世界,你就失去了如何使用它的某種程度的控制權。特別是,開發(fā)人員經(jīng)常擔心逆向工程的威脅。

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站設計制作、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的蔡家坡網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

在許多平臺和語言中,代碼混淆工具是防止逆向工程的常見方法。例如,如果你是一個Android開發(fā)者,你可能已經(jīng)使用到收縮和混淆的java代碼。

現(xiàn)在,Xamarin的開發(fā)商獲得同樣的保護,在所有主要的移動設備的家庭,將Android和iOS移植到通用的Windows(UWP)。完成這個工作 的工具叫做 Dotfuscator, 社區(qū)版本 在 Visual Studio中已經(jīng)可以使用了。

今天,我將解釋如何混淆可以保護Xamarin。Android應用程序從逆向工程,以及如何你可以把同樣的保護自己的Xamarin程序簡單的幾個步驟。

混淆如何保護應用程序

混淆是一個應用程序編譯的代碼轉換成功能相同但難于逆向工程的代碼的過程。通常,這是由一個自動混淆工具完成的,比如 obfuscator。下面是一個簡單的例子,演示如何防止反工程混淆應用程序。

考慮下面的一個Xamarin.Android 游戲源代碼中的一個C#方法:

使用Dotfuscator保護你的Xamarin應用程序

當這個游戲的開發(fā)人員準備將它部署到設備上,或者上傳到應用程序商店時,他們將源代碼編譯成庫,然后將這些庫打包到一個應用程序包中。在這個例子中,開發(fā)商包庫到Android設備上分配一個apk文件。

然而,一旦應用程序發(fā)布到App Store,一個糟糕的演員可以很容易地獲取和逆向APK,生產(chǎn)反編譯的代碼,和原始的源代碼幾乎相同:

使用Dotfuscator保護你的Xamarin應用程序

注意,類型、方法和成員標識符在這里與源代碼中的標識符相同,即使這些代碼元素通常不能從項目外部訪問(也就是說,它們被標記為internal)。internal要注意,該方法的一般控制流,如if語句的順序,是顯而易見的。 

如果,在分發(fā)的apk,開發(fā)商也通過Dotfuscator社區(qū)版混淆這個庫,逆向工程的結果會不同:

使用Dotfuscator保護你的Xamarin應用程序

代碼已被重命名混淆保護,代碼混淆的一種基本形式。名稱簡單的屬性, 比如ArrowsOnHand,取而代之的是方法調(diào)用與直觀的名字, 諸如b 和 g。其他代碼元素也同樣被重命名。這使得對反編譯后的代碼更難閱讀和推理,作為重要的上下文線索提供的名稱不可用。

重命名混淆是這個博客文章的主要焦點,但是我們將討論更高級的混淆形式,以及如何在以后應用它們。

如何保護你的應用程序

現(xiàn)在,讓我們來看看如何整合Dotfuscator 社區(qū)版重合名混淆到你的Xamarin構建管道中。作為一個例子,我將使用Xamarin.Android應用程序在上一節(jié)中提到的。你可以按照你自己的Xamarin APP,包括iOS和UWP。

我們將使用 優(yōu)先保護 – Dotfuscator, 一個 .NET 混淆器和保護工具,現(xiàn)在也支持Xamarin。

注:這些步驟假設您正在為Windows開發(fā)VisualStudio 2017的應用程序。

安裝和設置Dotfuscator

首先,你需要在你的開發(fā)機上安裝Dotfuscator。之后我們將使用Dotfuscator的命令行接口,您還需要注冊您的副本并記錄到接口的路徑。

安裝和設置Dotfuscator:

  1. 訪問 Dotfuscator 下載 面,它在優(yōu)先解決網(wǎng)站。

  2. 下載Visual Studio 2017最新的Dotfuscator 社區(qū)版 (CE)。

  • Visual Studio包含了 Dotfuscator,P優(yōu)先解決偶爾發(fā)布重要更新將Visual Studio版本之間。 安裝Dotfuscator方法是確認你已經(jīng)更新到最新版本。

遵照指示運行你下載的VSIX 文件。 打開Visual Studio 2017并選擇 Tools -> PreEmptive Protection – Dotfuscator 來加載Dotfuscator社區(qū)版用戶接口。 在你使用命令行接口之前首先要注冊Dotfuscator的一個拷貝。在你第一次運行時也被要求注冊Dotfuscator;按照指示。
  •  注冊以后 或者檢查你的注冊狀態(tài),查找 注冊狀態(tài) 文本,在Dotfuscator社區(qū)版的開始頁的右上角。

你要知道命令行接口的路徑,以方便以后配置集成構建。找到路徑:
  • dotfuscatorCLI.exe是Dotfuscator 社區(qū)版命令行接口,記下可執(zhí)行文件 的絕對路徑,以后會用到。

  • 在這個路徑中,定位 Dotfuscator 社區(qū)版擴展文件,它在 *\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE。

  • 瀏覽你安裝Visual Studio 2017的路徑。比如Visual Studio 2017 專業(yè)版的默認安裝路徑是 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional。

下載構建集成文件

簡化集成過程,Dotfuscator組創(chuàng)建了MSBuild目標文件,你可以參考Xamarin項目。 你也可以從這里下載。

保存PreEmptive.Dotfuscator.Xamarin.targets 文件到你的解決方案路徑,并受控。

修改項目使用集成構建

下一步,修改想要混淆的Visual Studio項目的項目文件。步驟如下:

  1. 注意你想要保護的項目的 構建配置。 通常這些都是除了Debug配置之外的所有配置。查看更多指導,請參閱從完全文檔中選擇如何保護一節(jié)。

  2. 在文本編輯器中打開項目文件。一個 C#的樣例項目將是`YourProjectName.csproj`。

  3. 請注意從該文件到您下載的構建集成文件的相對路徑。

  4. 通過在文件中添加以下行導入構建集成文件, 在</Project> 標簽之后:

  • <Import Project="..\..\PreEmptive.Dotfuscator.Xamarin.targets" />,使用步驟3中提到的絕對路徑。

要<PropertyGroup> 標簽之下,沒有條件屬性,并添加下面的標簽:
  • <DotfuscatorXamarinCliPath>C:\pathto\dotfuscatorCLI.exe</DotfuscatorXamarinCliPath>, 用絕對路徑替代你之前記錄的Dotfuscator社區(qū)版命令行接口。

  • <DotfuscatorXamarinConfigFileName>DotfuscatorConfig.xml</DotfuscatorXamarinConfigFileName>

  • <DotfuscatorXamarinGenerateNewConfigFile>true</DotfuscatorXamarinGenerateNewConfigFile>

在步驟1中提到的每個構建配置,定位到 <PropertyGroup>并添加下面的標簽:
  • <DotfuscatorXamarinEnabled>true</DotfuscatorXamarinEnabled>

在最后的<ItemGroup> 標簽之后,加入下面的內(nèi)容:
  • <ItemGroup><None Include="DotfuscatorConfig.xml" /></ItemGroup>

保存并關閉這個文件。

構建應用程序

現(xiàn)在你可以使用Dotfuscator的混淆保護來構建你的應用程序。這樣做:

  1. 在Visual Studio中打開并重新加載你的項目。

  2. 選擇一個解決方案生成配置,以執(zhí)行您決定保護的項目構建配置。

  3. 構建這個項目。

  4. 在第一次構建之后,注意建立輸出包含以下幾行關于Dotfuscator:

使用Dotfuscator保護你的Xamarin應用程序

  1. 注意添加一個DotfuscatorConfig.xml文件到你的工程中。它是Dotfuscator配置文件,告訴Dotfuscator如何混淆代碼。建議查看源代碼控制。

  2. 在文件系統(tǒng)中,注意新的DotfuscatorReports路徑會出面在你的項目路徑中。這個路徑包含了項目如何被混淆的信息,包括了如何逆向和重命名處理。您應該像構建輸出那樣對待該目錄,并擁有源代碼管理器忽略它。

  3. 測試應用程序,如果看到錯誤,需要配置Dotfuscator further進一步確定正確的保護行為。請參見下一節(jié)以供參考。

  4. 繼續(xù)開發(fā)應用,像平常一樣構建。當Dotfuscator 用于構建,構建輸出會包含如下幾行:

使用Dotfuscator保護你的Xamarin應用程序

有關使用混淆繼續(xù)開發(fā)的更多信息, 請查看Dotfuscator 用戶指南的 持續(xù)發(fā)展 一節(jié)。

配置重命名

在某些情況下,應用程序假定編譯時代碼元素的名稱在運行時是相同的。這是特別真實的Xamarin程序,依靠XAML和反射。重命名混淆可以打破這個假設,造成混淆的應用程序有不同的表現(xiàn)。

而新的版本將能夠更好的自動處理這些場景,某些情況下,可能需要手動配置。用于說明和示例,請查看Dotfuscator用戶指南的 確定重命名排除 頁。

高級的混淆

而不是免費的Dotfuscator大眾版,你也可以使用 Dotfuscator專業(yè)片混淆你的Xamarin應用。 專業(yè)版是許可用于商業(yè)產(chǎn)品,并且自由試用也是允許更新請求的。

查看社區(qū)版和專業(yè)版的差別,考慮早期的游戲示例。如果開發(fā)者通過Dotfuscator專業(yè)版代表社區(qū)版來保護庫,逆向工程的結果看起來更像:

使用Dotfuscator保護你的Xamarin應用程序

除了重命名混淆,此代碼現(xiàn)在也通過控制流混淆保護。原始代碼的語句分散在鈍角的“開關”塊中 以看似隨機的順序, 使它很難跟隨。這些和其它混淆的高級形式都是Dotfuscator專業(yè)版特有的。

總結

在這篇博客中,我們看到了如何使用Dotfuscator來保護Xamarin庫和應用程序,使之不容易被逆向工程。我使用了一個Android應用程序來做例子,這些步驟同樣適用于iOS和UWP項目,While I used an Android app as an example, these same steps can also be applied to iOS and UWP projects,所以你可以保護你的應用程序,不管它運行在什么平臺上。

如何使用Dotfuscator保護Xamarin工程的更多信息,可以查閱 Dotfuscator用戶指南的Xamarin頁。 這里有所有平臺的集成Dotfuscator到一個Xamarin工程的git倉庫。

你也可以通過訪問 優(yōu)先解決方案博客來獲取混淆空間的最新開發(fā)草席, 也可以在 twitter.com/preemptive跟隨優(yōu)先解決。

網(wǎng)站欄目:使用Dotfuscator保護你的Xamarin應用程序
URL地址:http://aaarwkj.com/article42/gpiiec.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航ChatGPT、網(wǎng)站改版、營銷型網(wǎng)站建設、電子商務網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
一本之道久久成人综合| 国内久久婷婷综合五月趴| 亚洲午夜一区二区不卡| 国产一区二区三区百合| 男女在线视频网站免费| 亚洲av在线av天堂| 人妇乱系列中文字幕人妻| 91精品国产自产在线蜜臀| 日韩激情中文字幕一区二区三区| 亚洲一区日本一区二区| 国产精品伦一区二区三级| 亚洲三级伦理在线视频| 蜜桃网站视频免费观看 | 夫妻性生活视频全过程| 亚洲午夜激情视频在线| 日日添夜夜添天天操| 成人av在线免费播放| 亚洲激情在线观看一区| 天天操夜夜骑日日干| 亚洲成人午夜免费在线观看| 国产网红女主播视频一区二区| 日韩黄av在线免费观看| 亚洲欧美综合伊人看片综合| 亚洲精品尤物福利在线一区| 2023国产精品一区| 日本高清有码视频在线观看| 日韩二区三区精品视频| 天天操夜夜操夜夜操| 日本97久久久久久精品| 熟女中文字幕亚洲一区二区| 国产毛毛片一区二区三区| 日本国产福利视频在线观看| 国产爆操美女在线观看| 未满十八勿进黄网观看| 欧美日韩伦理片在线观看| 日韩高清不卡在线视频| 亚洲ve中文字幕久久一区二区| 超碰免费在线公开97| 青青青久热国产精品视频| 欧美在线观看黄片视频| 亚洲码av一区二区三区|