Unity3D 从 ipa 中提取游戏资源

发现一款不错的游戏,是用unity 3d 开发的,想提取资源看看,网上搜了些资料,总结一下,做个备忘。

  • 如何是否为 unity3d 引擎开发,

.ipa 文件是压缩文件的格式,我们用可以用 tar zxvf xxx解压,或者找个解压工具也可以,如:betterZip 。会找到 xxx.app的文件,其实是个文件夹,在mac下显示包内容就可以看到里面的资源,如果发现有 *.assets 文件,那么恭喜,这就是unity 3D 做的,



  • 提取资源大致分为两个步骤:

1)、从assets 中提取 资源文件,*.ktx

参考工具 https://github.com/ata4/disunity/releases


2)、将提取出来的ktx 转换成 png 

参考工具 http://community.imgtec.com/files/mac-osx-installer-powervr-tools-sdk-3-5/





disunity_v0.3.4 和 Imagination 两个文件夹为上面两个地址下载的解压工具。

附extract.sh 脚本如下

#!/bin/bash
#调优JVM参数
JVM_PARAMS='-Xms1024m -Xmx10240m'

DISUNITY_BASEDIR=./disunity_v0.3.4
IMAGINATION_BASEDIR=./Imagination
BASEDIR=$(dirname "$0")
FILE=$1
#解压文件
FILE_DIR=$1.`date "+%Y-%m-%d-%H%M"`

if [ -e $FILE_DIR ]; then 
	rm -rf $FILE_DIR; 
fi 

mkdir $FILE_DIR
tar zxvf $FILE -C $FILE_DIR

shopt -s nullglob
function extractAssets(){
 for file in $(find $FILE_DIR -name '*.assets')
 	do 
 	java -jar $JVM_PARAMS $DISUNITY_BASEDIR/disunity.jar extract $file
 done
}

function convertKtx(){
 for file in $(find $FILE_DIR -name '*.ktx')
 	do 
 	$IMAGINATION_BASEDIR/PowerVR_Graphics/PowerVR_Tools/PVRTexTool/CLI/OSX_x86/PVRTexToolCLI -i $file -d -f r8g8b8a8 
 done
}
echo '=========extractAssets=========='
extractAssets
echo '=========convertKtx=========='
convertKtx
echo '=========del *.ktx *.pvr *.assets=========='
# 删除冗余资源
find $FILE_DIR -name "*.ktx" |xargs rm -rf
find $FILE_DIR -name "*.pvr" |xargs rm -rf
find $FILE_DIR -name "*.assets" |xargs rm -rf



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值