[Tool]使用redgate的SmartAssembly(SA)來做模糊化

[Tool]使用redgate的SmartAssembly(SA)來做模糊化

前言

之前使用PreEmptive的Dotfuscator來做模糊化,今天使用redgate的SmartAssembly(SA)來做模糊化。

實作

redgate的SmartAssembly(SA)的網站有說明如何使用的Video,有興趣的人可以觀看一下哦!

使用範例為之前同樣的範例程式!

1.先寫個Windows Form測試程式(裡面2個字串,一個Method,按下button1會顯示這2個字串的值),如下,

private const string str1 = "This is str1";
private string str2 = "This is str2";
private void ShowStrings(string s1, string s2)
{
    MessageBox.Show(str1);
    MessageBox.Show(str2);
}
private void button1_Click(object sender, EventArgs e)
{
    ShowStrings(str1, str2);
}

 

2.使用反組譯程式來將Form1反組譯出來,結果跟Source Code簡直就一模一樣了!

3.使用SmartAssembly來模糊化

3.1.建立新專案

newPrj

3.2.設定模糊化之後的檔案名稱

SetDestination

SetDestinationOK

3.3.設定Obfuscation的組件

Build

3.4.設定Control Flow Obfuscation

CONTROLfLOW

3.4.按下Build

BuildOK

4.使用反組譯程式來將Form1反組譯出來,結果Name完全都看不到! 如下,

image

使用SmartAssembly(SA)做模糊化也很容易!

當然,它還有其他的屬性可設定,如Strong Name Signing、Strings Encoding等等。

SA_02

image

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^