对《山海镜花》的解包研究学习
道锋潜鳞
编辑于 2021年01月30日 19:07
收录于文集
共18篇

一、软件准备

《apktool》

1、apktool文件的下载

apktool是反编译Android apk文件的工具,apktool的主页是 https://ibotpeaches.github.io/Apktool/;我们可以从这里找到最新版本的apktool.jar文件 https://bitbucket.org/iBotPeaches/apktool/downloads/,以及apktool的安装说明。

2、apktool的安装

前面我们已经下载了最新的apktool.jar文件,最新版本是2.3.1,请按照以下步骤操作,参考 https://ibotpeaches.github.io/Apktool/install/

  • 新建文本文件,将下面的脚本复制到文本并保存,然后重命名为apktool.bat;

代码块
Shell
自动换行
复制代码
@echo off

if "%PATH_BASE%" == "" set PATH_BASE=%PATH%

set PATH=%CD%;%PATH_BASE%;

chcp 65001 2>nul >nul

java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*
复制成功

     从上面脚本中也可以看到是用apktool.jar文件去处理;

  • 将下载的apktool_2.3.1.jar文件重命名为apktool.jar;

3、apktool的使用

  • 将上述两个文件apktool.bat和apktool.jar文件放到同一文件夹下(任意路径),打开命令窗口(win+R–>cmd–>enter);

  • 定位到apktool所在的文件夹;(若有java的系统变量也是可以的)

  • 输入以下命令:

代码块
Shell
自动换行
复制代码
apktool.bat d -f  ***.apk  objectFolderPath  
复制成功

其中,objectFolderPath为可选项,如果此项不存在,软件将会在apktool文件夹下新建一个apk文件名的文件夹,否则存储到目标文件夹

《UnityStudio》

1.下载运行

地址:https://github.com/Perfare/UnityStudio/releases

最新版本支持unity5.x

《winhex》(可选)

下载地址http://www.x-ways.net/winhex.zip

二、过程

1.使用apktool对目标apk安装包进行拆解

cd F:\解包\山海

apktool d com.youzu.shjh.huawei.apk

//我的环境已经配置好了环境变量,直接cd到目标目录使用即可

解包完成,目录下生成了一个和文件包同名的文件夹

观察目录,发现asset文件夹占据了几乎99%的大小,估算模型数据在此目录下

继续进入,发现AssetBundle目录下存在大量的数据文件,估测为目标

2.搜寻读取资源文件

经过查看,发现大量的dat文件

初步经过修改后缀为obj dds 3ds打开无效,使用winhex读取文件

发现UnityFS 5.x.x这样的文件头,确定为unity3d工程文件

使用先前下载的UnityStudio(或称AssetStudio)批量打开文件目录或单独打开文件

资源的内容已经展示出来了(不限于npc目录),可以选择需要的资源文件导出

三、总结

该文,该教材仅仅用作个人学习研究使用,请勿利用教材内容,进行有损目标软件公司利益的事情(包括但不限于版权纠纷,非法入侵纠纷)。本教程慨不负责