『壹』 如何防止unity3d代碼被反編譯
防止Unity3D代碼被反編譯是手游安全中常見的破解風險。Unity的破解風險主要體現在Unity mono腳本解密、Unity il2cpp腳本解析、Assetbundle資源篡改三項。mono腳本文件的二進制形式及源碼轉換圖示,展示了如何對mono腳本進行解密。Il2cpp腳本解析則需要使用Il2CppDumper工具,解析後能獲得類名、函數名以及對應偏移信息。盡管iOS中還無法解析為源碼,但Android的有效腳本加密對於防止破解尤為重要。Assetbundle資源篡改,如修改材質屬性,可實現透視效果,同時還有資源被競品盜取、分析的風險。存檔數據被修改也是安全問題,如果數據不進行服務端校驗或為單機游戲,游戲屬性修改風險巨大。保護Unity安全時,自研保護系統面臨高成本、兼容性問題、對抗破解的持續升級和第三方服務兼容性挑戰。網易雲易盾提供了Unity mono DLL腳本加密、IL2CPP加密、Assetbundle加密等解決方案,通過修改或HOOK mono_image_open_from_data_with_name函數,實現對CSharp DLL腳本的加密,以防止其被解密。Unity mono DLL腳本加密經歷了從直接文件加密到抹掉PE頭、再到方法級加密的三代技術演進。IL2CPP加密則需結合global-metadata.dat文件內的符號信息進行解析,通過SO加殼保護libil2cpp.so來實現。Assetbundle加密後,Unity Studio無法解析資源。網易易盾保護方案特點包括純Native保護、對引擎SO做加殼、兼容性和穩定性高、性能影響小,支持多平台加固。在選擇保護方案時,應考慮DEX加殼的兼容性和安全性問題,而網易易盾提供的純Native保護方案為手游提供了一種更加安全和兼容性強的解決方案。
『貳』 請問怎樣將.Net程序反編譯為一個VS工程,可以正常運行調試
vs編寫程序是以項目為單位的(對小程序很不適合)。第一步是建里一個項目第二部是添加源代碼文件(.cpp)和頭文件(.h)在打開的空白文檔寫代碼按F5或者點擊面板上的啟動本地調試器添加源代碼文件的方法可以按快捷鍵也可以用下面的方法:在屏幕的左側或者右側有一個解決方案管理器,右點源文件-》添加-》新建項-》.cpp文件-》輸入文件名-》確定。
『叄』 如何把EXE文件轉化為CPP(C++)的文件並能讓編譯器讀取出來(無源文件)
1、這是反匯編問題,早期能反匯編成匯編語言指令,但不能100%實現,現在不知道能到什麼情況
2、您的問題是要反編譯成C程序清單,個人認為無法實現,因為:首先不能確定您的EXE文件是用C語言開發的;其次,即使用C語言寫的,也不知道用哪個版本寫的,除非C語言開發系統本身有這種反編譯功能;
3、有人在說明生成EXE文件的優點時,常把不能反編譯成程序代碼,進而防止別人盜取程序代碼作為優點來列出
以上僅供參考
『肆』 如何將已經打包好的unity游戲反編譯為工程文件夾(不是提取資源,是直接反編譯成能用的工程文件夾)
首先想通過此方法完全復刻一個游戲工程,這是不可能的 不要想了
對於反編譯腳本的話
1、基於il2cpp編譯的 目前來說雖然可以 但是對於新手還是有點困難的
2、基於mono編譯的 可以把dll文件推到反編譯軟體比如ilspy即可