㈠ 如何防止U3D游戲引擎代碼被反編譯
經過查看不少的資料,發現目前針對的U3D游戲引擎代碼防反編譯,主要是通過DLL文件進行混淆,而支持的DLL混淆的服務商有愛加密等等,通過DLL文件本身進行加密,防止DLL被反編譯,並且對加密演算法和密鑰進行加密,對加密過程也進行了加密。
㈡ 如何防止Unity3D代碼被反編譯
在Unity3D中,代碼會編譯到Assembly-CSharp.dll。基於以上兩點,代碼的保護有以下三種:
第一種是對代碼進行混淆,諸如混淆軟體CodeGuard、CryptoObfuscator、de4dot
第二種是對Assembly-CSharp.dll進行加密後,重新對mono進行編譯手動編譯mono,能防止反編譯
㈢ Reflector反編譯後發現方法名混淆,如何解決
反混淆神器 de4dot 了解一下。。。
㈣ 如何反編譯C#等net軟體類庫源代碼
這個需要看對方有沒有混淆,如果混淆了基本上反編譯出來都不便於閱讀。 1)如果沒有混淆且沒有加殼用Reflector.exe來反編譯; 2)如果沒有混淆但加了殼則用de4dot.exe來脫殼,脫殼後再用ILPsy.exe或Reflector.exe反編譯; 3)
㈤ 如何防止Unity3D代碼被反編譯
如果是C#寫的,因為C#自己會被編譯成IL,所以基本沒辦法避免被反編譯。代碼混淆不知道能不能用。
㈥ 如何防止Unity3D代碼被反編譯
在Unity3D中,代碼會編譯到Assembly-CSharp.dll。基於以上兩點,代碼的保護有以下三種:
第一種是對代碼進行混淆,諸如混淆軟體CodeGuard、CryptoObfuscator、de4dot
第二種是對Assembly-CSharp.dll進行加密後,重新對mono進行編譯。。
Virbox Protector可對Assembly-CSharp.dll直接進行加殼後,無需手動編譯mono,能防止反編譯
㈦ 如何防止Unity3D代碼被反編譯
如果你沒有Unity的Source License,這個問題我覺得基本是無解的。
對於iOS平台AOT後Strip掉IL可能有用,但其他平台基本沒什麼辦法。還有一個思路是加殼,但這個至少在移動端上我沒試驗過,而且基本上也是道高一尺魔高一丈的事情。
還有一個是把一些關鍵代碼寫成Native插件,但這樣做我覺得完全就沒有使用Unity的優勢了,所以也不是很推薦。
如果是涉及網路的游戲,另一個相對有效的解決方案是把邏輯放在服務端,基本上不給客戶端Gameplay邏輯層的信任,客戶端只負責只發送具體操作。對於非在線游戲我確實沒看到什麼有效的解法。
個人覺得么,也不要太費勁折騰了,人家要搞你總是有辦法的。就算你不用Unity,真的高手是Native Binary一樣破給你看的。
㈧ c#怎麼混淆才能防止de4dot反編譯
用最新版本的加密混淆工具試試,不過de4dot也會升級換代,等它更新後可能又能破解了。
這就類似於殺毒軟體和病毒一樣,哪個不保持時常更新,過一段時間就會失去效果。
所以從根本上說,這個問題無解。
㈨ 如何防止Unity3D代碼被反編譯
根本的解決辦法是:先對DLL加密,然後在Unity的源碼中載入程序DLL之前進行解密。
這就需要通過逆向工程獲得相應的Unity源碼或者是直接向Unity購買Source Code License。