Dotfuscator 社區版有多好?什麼是“足夠好的混淆器”?[關閉]
我計劃發布一個小型、低價的實用程序。由於這更像是愛好而不是商業,因此我計劃使用 VS2008 附帶的 Dotfuscator Community Edition。
它有多好?
我還可以使用“足夠好的混淆器”的定義——Dotfuscator 社區版缺少哪些功能以使其足夠好。
編輯:
我檢查了商業混淆器數量的定價,它們花費了很多。這值得麼?
商業版本是否能更好地防止逆向工程?
我不是很害怕我的應用程序被破解(如果應用程序太糟糕以至於沒有人有興趣破解它,那將是令人失望的)。無論如何,它並沒有受到嚴格的保護,也沒有在程式碼中的幾個地方進行過於復雜的序列密鑰和許可證檢查。它只是讓我感到困擾,沒有混淆,有人可以輕鬆獲得原始碼,重新命名並將其作為自己的出售。
這種情況經常發生嗎?
編輯2:
有人可以推薦商業混淆器。我發現了很多,它們都很貴,有些甚至沒有在網站上列出價格。
功能方面,所有產品似乎或多或少相似。
混淆器應該具有的最小功能集是什麼?
簡而言之,Dotfuscator Community Edition 與其他“專業”版本之間的主要區別在於,Community Edition 只會真正混淆和更改您的命名空間、方法名稱以及類的其他“公共”可訪問方面。它不會深入研究函式本身並混淆函式中的“私有”程式碼。
此外,Community Edition 不會對應用程序中的控制流等內容進行混淆處理,也不會將來自多個程序集的程式碼“組合”到一個程序集中。這些是“專業”付費版本中可用的功能。
社區版(Visual Studio 附帶的“免費”版本)和“專業”付費版本之間的最佳比較可以通過查看以下兩個連結找到:
MSDN 上的 Dotfuscator Community Edition 3.0
MSDN 連結有點過時,但是,它對 Dotfuscator 的各個版本中可用的實際功能提供了更好的解釋。
編輯:
商業混淆器確實要花很多錢,至於它們是否物有所值?嗯,這是一個只有你才能做出的判斷。就個人而言,我會說在您的情況下不值得。首先,因為您只想保護一個應用程序(“我計劃發布一個小型、低價實用程序。”),其次,您說您不太擔心應用程序被“破解”(“我”我不太害怕我的應用程序被破解。”)。
我了解編譯的 .NET 應用程序可以輕鬆地逆向工程到其原始原始碼,並且有人可能會利用它來竊取您的軟體並將其作為自己的軟體出售。事實上,軟體盜版確實存在,你可能永遠不會阻止它。
試圖阻止軟體盜版在此處(Stack Overflow)和整個網際網路上都引起了激烈的爭論。
普遍的共識似乎是,您需要將時間和精力更多地集中在使您的產品盡可能出色上,而不是利用同一時間試圖保護某些東西,只要有足夠的時間/金錢,“攻擊者”就可以“破解”/竊取您的軟體,儘管您已盡最大努力阻止他這樣做。
這種情況經常發生嗎?
我會說它的發生可能比你想像的要少得多。當然,軟體會被破解,但我認為實際上並沒有太多人竊取他人的原始碼並完全重新命名它以作為自己的出售。我並不是說它沒有發生,或者沒有發生,但這肯定不是常見的情況。
總而言之,我想說你最好的選擇是專注於讓你的實用程序盡可能好,並使用免費的 Dotfuscator 混淆器,因為它只需要很少的時間/金錢投資,就可以從最明顯的窺探,但不要因為如果有人想破解/竊取您的產品/程式碼足夠嚴重,他們會這樣做的事實而睡不著覺。