我知道我們可以通過使用混淆器來保護.Net應用程序免於反編譯。從Deobfuscators保護.Net應用程序?
但我在某處讀了一些Deobfuscators(如de4dot),它可以將.net混淆的應用程序去混淆。他們可以中和Eazfuscator.NET等一些混淆器的效果。所以,他們可以反編譯甚至混淆的.Net應用程序。
是嗎?如果是,如何保護應用程序免受反混淆器的影響?
我知道我們可以通過使用混淆器來保護.Net應用程序免於反編譯。從Deobfuscators保護.Net應用程序?
但我在某處讀了一些Deobfuscators(如de4dot),它可以將.net混淆的應用程序去混淆。他們可以中和Eazfuscator.NET等一些混淆器的效果。所以,他們可以反編譯甚至混淆的.Net應用程序。
是嗎?如果是,如何保護應用程序免受反混淆器的影響?
沒有應用程序是100%的保護,但商業混淆器使得它很難做出很好的工作。
總之,你不能。你只能讓人生活困難,但最終,如果他們想訪問你的代碼,他們可以做到。
但是這個過程在C++編譯器中要困難得多。這是否意味着我們不應該使用.Net製作有價值的程序? – 2011-12-16 10:15:28
爲什麼不呢?你可以嘗試ILProtector。它是免費的.NET保護器。它使用代碼虛擬化來保護.NET代碼。在這種情況下,與混淆相比,代碼保護級別增加了很多倍。您的代碼無法被反彙編和反編譯器識別,例如de4dot,IL DASM或.NET Reflector。
使用混淆器來防止這種情況 - 混淆器會改變結構,但是而不是您的源代碼的含義/意圖,以便使黑客/黑客很難理解代碼。看看Crypto Obfuscator它採用多種技術,如符號重命名,字符串加密,控制流混淆等
它也具有抗de4dot特殊防禦 - 如果您嘗試與加密混淆模糊的組件運行de4dot,它會崩潰。
免責聲明:我爲Crypto Obfuscator的開發者LogicNP Software工作。
你可以說這些商業混淆器的名稱使得混淆更難嗎?那免費混淆器呢?他們不安全嗎? – 2011-12-16 10:17:49
http://stackoverflow.com/questions/71195/should-you-obfuscate-a-commercial-net-application – 2011-12-16 10:27:07
我可以一起使用一些混淆器嗎?這會增加安全性嗎? – 2011-12-16 10:55:56