unity代碼反混淆

Unity3D研究院之在把代碼混淆過的遊戲返混淆回來(七十七)

雨鬆MOMO 【Unity3D研究院之遊戲開發】 圍觀862531條評論 編輯日期:2014-08-01 字體: git

最近一直在找如何在MAC上混淆Android的DLL,至今沒能找到合適的,有大神知道記得告訴我喔。今天羣裏有人說了一個混淆代碼和返混淆代碼的工具de4dot ,不查不知道一查嚇一跳。這玩意能夠把別人混淆過的代碼反混淆回來。github

這個工程是開源的 https://github.com/0xd4d/de4dot  找一臺Windows電腦,下載後在VS上面打開它,另外它不能直接編譯,須要在引入一個庫文件。爲了方便你們我把能正常編譯的工程提供出來。工具

下載地址: http://pan.baidu.com/s/1ntjw3mL測試

以下圖所示,打開工程後在VS裏面快捷鍵F6,編譯完成後會生成出來de4dot.exe 。那麼咱們返混淆就是經過這個exe來將unity生成的dll返混淆回來。字體

Unity3D研究院之在把代碼混淆過的遊戲返混淆回來(七十七) - 雨鬆MOMO程序研究院 - 1

 

通過混淆的代碼反編譯後。3d

Unity3D研究院之在把代碼混淆過的遊戲返混淆回來(七十七) - 雨鬆MOMO程序研究院 - 2

 

返混淆之後,以下圖所示,屬性名子就出來了。可是方法名就回不來了,都是按數字一次加上去,不過這些總比方括號好看多了。並且我看了一下內容,有些方法內容奇葩的地方也都解的至少能看。code

Unity3D研究院之在把代碼混淆過的遊戲返混淆回來(七十七) - 雨鬆MOMO程序研究院 - 3

在Windows裏面的cmd裏面輸入遊戲

de4dot.exe test.dll -p unci

Unity3D研究院之在把代碼混淆過的遊戲返混淆回來(七十七) - 雨鬆MOMO程序研究院 - 4

 

另外你隨便下載一個用Unity作的安卓遊戲,而後把apk解開把裏面的Assembly-CSharp.dll找出來,它的代碼都在裏面。若是它 的代碼沒有作混淆工做,那麼能夠直接反編譯出來。 以下圖所示,返混淆會在原始dll的目錄下生成一個後綴-cleaned.dll的文件。而後用反編譯工具打開它便可。遊戲開發

Unity3D研究院之在把代碼混淆過的遊戲返混淆回來(七十七) - 雨鬆MOMO程序研究院 - 5

 

de4dot 看起來應該是很是強大,他支持返混淆這麼多工具。。我就不一個一個試了,但願閱讀本文的你幫我作一下測試,看看是否是全部混效果的Unity遊戲均可以解開。

  • Agile.NET (aka CliSecure)
  • Babel.NET
  • CodeFort
  • CodeVeil
  • CodeWall
  • CryptoObfuscator
  • DeepSea Obfuscator
  • Dotfuscator
  • .NET Reactor
  • Eazfuscator.NET
  • Goliath.NET
  • ILProtector
  • MaxtoCode
  • MPRESS
  • Rummage
  • Skater.NET
  • SmartAssembly
  • Spices.Net
  • Xenocode

de4dot不單單能夠返混淆,它也能夠自身去混淆。。你們能夠看看它的gitHub上的介紹,哎 又是一個必須在Windwos上完成的操做。。 今天把研究成果發出來,但願你們多多測試一下,看看能不能把全部混淆過的Unity遊戲返混淆回來。 另外有什麼最近進展你們必定要告訴我呀。。嘿嘿嘿嘿。

相關文章
相關標籤/搜索