在上海居住隔离的时候,整理了下为知笔记。发现了这篇于2018-06-07写完的,内容或许有陈旧
之前解过自己项目的包的代码,研究assetBundle打包的时候,像把bundle解压出来看。结合看来就一个包的逆向。
步骤
改名解压
- 将”.apk”结尾的android包,改为”.rar”。可以等到以下几个文件
文件名称 | 介绍 |
---|---|
asseys | Unity游戏里面的资源和代码 |
lib | arm和x86需要的so文件 |
META-INF | 信息包 |
res | 存放icon等资源 |
AndroidManifest.xml | 清单文件 |
classes.dex | Android Dalvik字节码 |
resources.arsc | 编译后的二进制资源文件 |
关注的是assets目录,里面有资源和代码
提取代码
使用的工具是dll的反编译工具,可以使用<.NET Reflector>或者
在IL Spy中看到Aseembly-CSharp.dll里有2个基类。看到右侧,代码是不是很熟悉。
通过ILSpy的保存,可以得到看到两个继承MonoBehavior的CS。到这里完成了,代码的提取。可见代码加密的重要性了。
提取资源
需要使用到工具是UnityStudio。
这UnityStudio里看到Texture2d的贴图以及大小,shader的代码和大小。如果有音效资源也是可以听的
附参考
http://zenhax.com/viewtopic.php?t=12