我正在評估幾個用於保護WPF應用程序代碼的混淆器。
爲了檢查給定組件上每個混淆器完成的工作結果,我使用Red Gate的.Net反射器。在每次模糊處理之後,我會打開與.NET反射器的程序集並查看它的外觀。檢查C#代碼混淆的效率
夠了嗎?可以將.NET Reflector的結果視爲混淆質量的指標,還是應該嘗試一些其他工具? (不是任何可能的這種類型的工具,而是從實際常識的角度來看)。
我正在評估幾個用於保護WPF應用程序代碼的混淆器。
爲了檢查給定組件上每個混淆器完成的工作結果,我使用Red Gate的.Net反射器。在每次模糊處理之後,我會打開與.NET反射器的程序集並查看它的外觀。檢查C#代碼混淆的效率
夠了嗎?可以將.NET Reflector的結果視爲混淆質量的指標,還是應該嘗試一些其他工具? (不是任何可能的這種類型的工具,而是從實際常識的角度來看)。
來自Reflector的結果應該足以說明如何隨意嘗試反編譯。某些混淆會混淆代碼,甚至程序集甚至不會在Reflector中打開。
任何想嘗試更深入的人都不會輕易被更高級的混淆所阻止。
如果Reflector和ILSpy會徹底拒絕反編譯生成的程序集,那將是最好的。我知道存在這樣的混淆器。
我的意見是:「夠了」還是不取決於你的目標應用程序。模糊處理從來就不是100%安全的代碼,它總是使潛在的攻擊者難以完成代碼反彙編,但這一切都取決於「潛在的攻擊者」會花費多少努力來拆卸你的應用程序。而且還.net反射是一個瀏覽器,像你mantioned,所以如果它ecure與否可以扣除你的,看的,例如:
如果字符串加密
如果參數加密
如果類名稱和字段像(PWD_USER)加密 ...
問候。
你可以另外嘗試[ILSpy](http://wiki.sharpdevelop.net/ILSpy.ashx)。我曾經有過一個情況,ILSpy能夠反編譯Reflector的代碼。 –
@Rem - 我會說可以在.NET Reflector中查看的代碼是一個很好的起點。當然,它只會減慢確定的人員的工作速度,當然也不會阻止任何人查看代碼。 –
你可以在這裏發佈你的發現,有一些關於混淆器的問題... –