使用「十字」計算機模糊處理「銀光」應用程式

更新頁 :
頁面創建日期 :

關於 Dotfuscator 的更多資訊

Dotfuscator 是一種模糊處理工具,用於在拆解使用 .NET 框架創建的應用程式時使原始程式碼難以讀取。 Dotfuscator 包括 Visual 工作室附帶的免費和付費零售版本。

免費版本必須經過有限功能限制或 Visual 工作室啟動,但只要安裝了目標 Visual Studio,任何人都可以使用它。 在付費版本中,有許多強大的模糊處理功能,在免費版本中不存在,但一般人可能很難以難以觸及的價格提供。

Dotfuscator 的功能、價格和版本因版本而異,因此請訪問以下主頁瞭解更多資訊。

Dotfuscator

分析的代碼

如前所述,在 .NET Framework 中創建的應用程式是拆解的,很容易讀取原始原始程式碼,但實際情況是,當您拆解程式集檔時,命名空間、類名稱和方法名稱等原始原始原始程式碼幾乎可以重現。

解析されたコード

模糊處理程式

首先,像往常一樣創建銀光應用程式以進行發佈生成。 在這裡,我們創建的應用程式只有兩個按鈕。

Release ビルド

在專案所在的資料夾的 Bin_發佈資料夾中,按兩下。 xap 檔是 Silverlight 應用程式使用的程式和檔的集合。

XAP ファイル

事實上,此檔被壓縮為 ZIP 檔,並匯總在一起,因此擴展名為” 可以更改為「zip」。

拡張子を .zip に変更

更改為 ZIP 檔。

ZIP ファイル

打開檔時,它包含清單檔和 DLL。 此 DLL 是程式的編譯版本,並作為應用程式運行。

順便說一下,DLL 檔在生成時也會放置在「發佈」 資料夾中,因此這次我們將模糊處理此檔。

ZIP ファイルの中身

從「視覺工作室」功能表中選擇「工具」,然後選擇「高級教師和分析」。

首次啟動時,將顯示「許可協定」對話框,因此請仔細閱讀內容,選中“是,我接受許可協定”,然後按兩下確定“按鈕。

PreEmptive Dotfuscator And Analytics を選択

啟動“PreEmptive Dotfuscator And Analytics CE”。

PreEmptive Dotfuscator And Analytics CE

從左側樹中選擇「輸入」,然後按下「添加輸入」按鈕。

入力の追加

選擇生成生成的 DLL 檔。

ビルドで生成した DLL ファイルを選択

選擇添加的 DLL 檔,然後取消選取中「庫模式」 和「轉換 XAML」。

如果選中「庫模式」,則不會混淆公共定義的類或方法。

如果選取中「轉換 XAML」 則會混淆 XAML 中定義的類,但根據創建方法,它會導致啟動錯誤,因此,如果出現錯誤,請取消選中它。

「ライブラリ モード」「XAML の変換」のチェックを外す

基本上,所有類、方法、屬性和變數名稱都模糊不報,但如果您不想混淆特定命名空間或類(如序列化),請從左側樹中選擇“重命名”,然後選擇“排除”選項卡以檢查目標命名空間或類。

難読化の除外

確保內置規則檢查「銀光和 WPF 使用者控制」欄位。 選中此項可使用戶控制中的字段未混淆並成功執行。 如果模糊處理成功,則可以取消選中它。

Silverlight および WPF UserControls のフィールド

完成後,按兩下工具列上的「生成專案」 按鈕。

プロジェクトのビルド

如果項目發生更改,則會顯示「保存項目確認」對話框,按兩下是「以保存它。

プロジェクト保存確認ダイアログ

專案是“。 xml“檔。 模糊處理的檔存儲在同一位置。

プロジェクト保存

生成開始,請等待它完成。 請注意,程式構建時間越長,生成時間就越長。 生成完成後,將生成圖形。

消息欄位顯示生成進度和簡單結果,例如模糊處理的程度。

ビルド完了

通過從左側樹中選擇“結果”,可以了解有關類和方法名稱如何更改的詳細資訊。

類和方法名稱下有一個 Dotfuscator 圖示和名稱,如“a”和“b”,這是模糊的名稱。 通過將類或方法名稱更改為無意義的名稱,可以使原始程式碼的內容難以閱讀,即使它們被拆解。

難読化結果

模糊處理的檔在保存專案時保存的 .xml 檔的資料夾中創建名為“Dotfuscated”的資料夾,並在其中創建。 除了模糊處理的檔外,還創建了“Map.xml”檔,但它不會使用它,因為它是模糊處理的結果檔。

難読化したファイル

通過拆解模糊的檔,您可以看到某些類和方法名稱已更改為“a”或“b”。

這一次,我幾乎按原樣對創建的默認專案進行模糊處理,因此,我認為有些圖像沒有那麼模糊,但隨著專案的增長,類的數量也會增加,因此模糊處理的效果會變得清晰起來。

順便說一下,. 請注意,重命名不會涉及重命名,因為 Windows 等已安裝程式集,例如 NET 框架庫中定義的類名稱。

難読化したコードの解析

由於銀光不使用 DLL,因此將其打包為 XAP 檔。 如前所述,XAP 檔只是更改了 ZIP 檔案擴展名,因此我們將 XAP 檔中包含的檔案和模糊 DLL 收集在一起以創建 ZIP 檔。

您可以使用作業系統的標準功能創建 ZIP 檔。

ファイルを ZIP 化

將創建 ZIP 檔。

ZIP ファイル

擴展“。 xap,如果檔名不同,則將其更改為原始包檔名。

將 XAP 檔放在分發位置。

XAP ファイルに変更

實際檢查工作原理,看看它是否正常工作。

如果它不啟動,請減少模糊代碼,直到它正常工作。 請注意,在銀光中,您經常被 XAML 相關卡住。

動作確認

我沒有執行這些步驟,但如果要對程序進行簽名,請在延遲簽名狀態下生成,在模糊處理程式集後重新簽名。 在簽名狀態下進行模糊處理后,無法啟動,因為生成時簽名代碼與模糊簽名代碼不匹配。

這一次,我們提出了免費版本的過程,但付費版本允許您執行更複雜的模糊處理,並防止拆解本身。 但是,由於混淆也可能發生各種負面影響,因此在進行模糊處理時,必須考慮從設計開始就正常工作。