一 判断是否是Unity打包及打包方式
软件需求(百度一下,尽量下载高版本,或者关注底部公众号回复:资源提取):
AssetStudio
Il2CppDumper
dnSpy
如果lib文件夹下有libunity.so就证明这是一个unity3d游戏。
目前Unity有两种打包方式:Mono和IL2CPP,两者解压后的文件内容也是不相同的。
如果MONO里面有很多DLL文件说明这个是MONO打包的方式。
如果有global-metadata.dat文件就说明是IL2CPP打包方式
MONO
:
IL2CPP:
二 如何查看代码
2.1 MONO打包方式
这种方式如果代码未加密的话,比较简单,只需要将:
**\assets\bin\Data\Managed\Assembly-CSharp.dll 拖入Dnspy中就可以查看代码了。
2.2 IL2CPP打包方式
这种方式我们可以看到是没有DLL文件,所以第一部就是要先将DLL找出来。
1. 打开解压目录\IL2CPP\assets\bin\Data下面打开任意文件,可以看到第一行有版本号,复制下来,后面的f不要
2.打开Il2CppDumper,会提示你选择两个文件
2.首先选择:解压目录\IL2CPP\lib\armeabi-v7a\libil2cpp.so
3.其次选择:解压目录\assets\bin\Data\Managed\Metadata\global-metadata.dat
4.选择完文件后会提示你输入版本号,把上面的版本号复制进去回车。
5.这时候会提示你选择模式,选择第四个,不行的话再挨个试
6.出现这个界面表示成功了。在Il2CppDumper目录下,不是Unity解压目录下会找到Dll。然后放入DnSpy就好了。
PS:我可不可以通过这种方式修改游戏数据呢?当然可以,下次我会讲下如何通过反编译去修改游戏数据,很多单机游戏都是通过这种方式达到作弊的目的。
三 如何提取资源
我们可以看到项目解压目录\assets\bin\Data 以及assets\bin\Data\Resources 会有一些稀奇古怪的文件。
此时打开AssetStudio选择File->loadFoder或者LoadFile选择文件或者文件夹,就可以查看游戏资源了。
如果觉着对你有帮助可以关注我的个人公众号。回复:资源提取 即可获得所需要的全部软件。