防止winform程序反編譯
『壹』 .net開發的exe安裝文件可以反編譯嗎
可以,用reflector 及其它
用混淆器加密及數字簽名,可擋掉大部分dll文件被人家反編譯.但魔高一尺,道高一丈, 要做到完全加密是很難的.
有些Dotfuscator防反編譯軟體可以參考, 但那些功能強大的Dotfuscator都是商業軟體,要花銀子買.
總之,不管你加密的如何好,只是延長破解和反編譯成可閱讀代碼的時間而以,所以不要放太多的精力在上面
『貳』 c# 反編譯的代碼,怎麼形成一個工程
最少使用FileDisassembler這個插件
需要手動修改的
1、Reflector對枚舉類型的支持不是很好,它往往會把枚舉當做整數進行處理,這個需要你手動更正過來。
2、對於自動屬性,你需要把不符合編譯語法的地方更正過來。自動屬性的私有欄位一般都含有<>等,需要手動更正一下。
3、對於Winform,你需要重新編譯一下相關的資源文件,如果編譯過程提示找不到資源的話。
4、對於靜態變數或者靜態類,這個你更要注意。舉個例子:假如靜態變數A,和B,而B又用到了A,這時候你要檢查他們的初始化設置是否是先初始化的A,然後再初始化B,否則編譯通不過。
『叄』 用C#的winform程序寫了個DES解密函數。密鑰寫在裡面的。但反編譯能看到密鑰。除加殼外,怎防密鑰泄漏
按照你的這個想法,基本無解。
因為在有源代碼的情況下,任何加密或其它防護措施都變得透明。
幸虧微軟想到了這個問題
配置文件加密:
https://www.google.com.hk/search?q=.NET%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8A%A0%E5%AF%86&aq=f&oq=.NET%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8A%A0%E5%AF%86&aqs=chrome.0.57j0.3834j0&sourceid=chrome&ie=UTF-8
這個加密方式是微軟提供的,沒人知道怎麼解密,你也不需要解密,因為.NET可以「認識」這些加密字元串。
我知道你是winform程序不是網站,沒有web.config文件。
但是其實是可以用的
winform也能添加這個文件,然後跟網站開發時一樣的方式訪問這個文件里的內容。