❶ 如何抵擋.net自帶的ildasm的反編譯,如何保
C# 編寫的代碼通過VS編譯器生成 dll 或 exe ,很容易被一些反編譯工具查看到源碼或對源碼進行修改。為防止代碼被反編譯或被篡改,我們可以進行一定的防範措施。但不能杜絕,因為DotNet編寫代碼運行必須編譯成IL 中間語言,IL是很規則,同時也很好反編譯。
反編譯防範措施:
設置項目代碼反匯編屬性
混淆
方法一:防止 Ildasm.exe(MSIL 反匯編程序) 反匯編程序集
方法很簡單在項目文件AssemblyInfo.cs中增加SuppressIldasm屬性。
效果很明顯,很難看出反編譯代碼所寫的真正邏輯。
缺點:C#代碼通過混淆工具生成後,增加了很多轉換過程。這使得反編譯工具無法很直觀看到源碼真正邏輯。但源碼代碼過多轉換會使軟體本身運行效率降低,甚至會出現報錯情況。
❷ java的反編譯怎麼使用,說具體點
使用SDK提供的反編譯器javap.exe可以將位元組碼反編譯為源碼。
❸ 如何去除jd-gui反編譯後的
背景說明
利用jd-gui反編譯.classs代碼之後,導出來的java源代碼裡面含有/**,其實這些標記是之前的java源碼的注釋,去掉這些標識了,需要利用jd-gui-cleaner.jar工具進行去掉,有需要的可以進行下載使用。
jd-gui-cleaner.jar簡介
清除jd-gui反編譯後注釋的工具
圖形界面,操作方便
在java環境下雙擊運行
運行後,先點input,選擇源文件文件夾,再點output,選擇輸出文件文件夾,最後點start運行。運行後會將所有源文件夾中的文件處理後保存到輸出文件夾中,並處理且只處理.java文件
原理很簡單,用java的正則表達式清理每個文件中的jd相關的注釋。開發中發現java的正則表達式經常內存溢出,在國外網站中發現這是java的原因,建議不要使用「選擇重復」的表達式,即:(A|B)*。