使用「十字」計算機模糊處理「銀光」應用程式
關於 Dotfuscator 的更多資訊
Dotfuscator 是一種模糊處理工具,用於在拆解使用 .NET 框架創建的應用程式時使原始程式碼難以讀取。 Dotfuscator 包括 Visual 工作室附帶的免費和付費零售版本。
免費版本必須經過有限功能限制或 Visual 工作室啟動,但只要安裝了目標 Visual Studio,任何人都可以使用它。 在付費版本中,有許多強大的模糊處理功能,在免費版本中不存在,但一般人可能很難以難以觸及的價格提供。
Dotfuscator 的功能、價格和版本因版本而異,因此請訪問以下主頁瞭解更多資訊。
分析的代碼
如前所述,在 .NET Framework 中創建的應用程式是拆解的,很容易讀取原始原始程式碼,但實際情況是,當您拆解程式集檔時,命名空間、類名稱和方法名稱等原始原始原始程式碼幾乎可以重現。
模糊處理程式
首先,像往常一樣創建銀光應用程式以進行發佈生成。 在這裡,我們創建的應用程式只有兩個按鈕。
在專案所在的資料夾的 Bin_發佈資料夾中,按兩下。 xap 檔是 Silverlight 應用程式使用的程式和檔的集合。
事實上,此檔被壓縮為 ZIP 檔,並匯總在一起,因此擴展名為” 可以更改為「zip」。
更改為 ZIP 檔。
打開檔時,它包含清單檔和 DLL。 此 DLL 是程式的編譯版本,並作為應用程式運行。
順便說一下,DLL 檔在生成時也會放置在「發佈」 資料夾中,因此這次我們將模糊處理此檔。
從「視覺工作室」功能表中選擇「工具」,然後選擇「高級教師和分析」。
首次啟動時,將顯示「許可協定」對話框,因此請仔細閱讀內容,選中“是,我接受許可協定”,然後按兩下確定“按鈕。
啟動“PreEmptive Dotfuscator And Analytics CE”。
從左側樹中選擇「輸入」,然後按下「添加輸入」按鈕。
選擇生成生成的 DLL 檔。
選擇添加的 DLL 檔,然後取消選取中「庫模式」 和「轉換 XAML」。
如果選中「庫模式」,則不會混淆公共定義的類或方法。
如果選取中「轉換 XAML」 則會混淆 XAML 中定義的類,但根據創建方法,它會導致啟動錯誤,因此,如果出現錯誤,請取消選中它。
基本上,所有類、方法、屬性和變數名稱都模糊不報,但如果您不想混淆特定命名空間或類(如序列化),請從左側樹中選擇“重命名”,然後選擇“排除”選項卡以檢查目標命名空間或類。
確保內置規則檢查「銀光和 WPF 使用者控制」欄位。 選中此項可使用戶控制中的字段未混淆並成功執行。 如果模糊處理成功,則可以取消選中它。
完成後,按兩下工具列上的「生成專案」 按鈕。
如果項目發生更改,則會顯示「保存項目確認」對話框,按兩下是「以保存它。
專案是“。 xml“檔。 模糊處理的檔存儲在同一位置。
生成開始,請等待它完成。 請注意,程式構建時間越長,生成時間就越長。 生成完成後,將生成圖形。
消息欄位顯示生成進度和簡單結果,例如模糊處理的程度。
通過從左側樹中選擇“結果”,可以了解有關類和方法名稱如何更改的詳細資訊。
類和方法名稱下有一個 Dotfuscator 圖示和名稱,如“a”和“b”,這是模糊的名稱。 通過將類或方法名稱更改為無意義的名稱,可以使原始程式碼的內容難以閱讀,即使它們被拆解。
模糊處理的檔在保存專案時保存的 .xml 檔的資料夾中創建名為“Dotfuscated”的資料夾,並在其中創建。 除了模糊處理的檔外,還創建了“Map.xml”檔,但它不會使用它,因為它是模糊處理的結果檔。
通過拆解模糊的檔,您可以看到某些類和方法名稱已更改為“a”或“b”。
這一次,我幾乎按原樣對創建的默認專案進行模糊處理,因此,我認為有些圖像沒有那麼模糊,但隨著專案的增長,類的數量也會增加,因此模糊處理的效果會變得清晰起來。
順便說一下,. 請注意,重命名不會涉及重命名,因為 Windows 等已安裝程式集,例如 NET 框架庫中定義的類名稱。
由於銀光不使用 DLL,因此將其打包為 XAP 檔。 如前所述,XAP 檔只是更改了 ZIP 檔案擴展名,因此我們將 XAP 檔中包含的檔案和模糊 DLL 收集在一起以創建 ZIP 檔。
您可以使用作業系統的標準功能創建 ZIP 檔。
將創建 ZIP 檔。
擴展“。 xap,如果檔名不同,則將其更改為原始包檔名。
將 XAP 檔放在分發位置。
實際檢查工作原理,看看它是否正常工作。
如果它不啟動,請減少模糊代碼,直到它正常工作。 請注意,在銀光中,您經常被 XAML 相關卡住。
我沒有執行這些步驟,但如果要對程序進行簽名,請在延遲簽名狀態下生成,在模糊處理程式集後重新簽名。 在簽名狀態下進行模糊處理后,無法啟動,因為生成時簽名代碼與模糊簽名代碼不匹配。
這一次,我們提出了免費版本的過程,但付費版本允許您執行更複雜的模糊處理,並防止拆解本身。 但是,由於混淆也可能發生各種負面影響,因此在進行模糊處理時,必須考慮從設計開始就正常工作。