申请会员ID:scodec【申请通过】
申 请 I D:scodec个人邮箱:scodec@gmail.com
一位喜欢MOD制作,游戏破解,游戏修改的多年码农,希望能加入,一起学习成长。
起因:
应一个学美术的MM的请求,逆向一个游戏包中的美术资源。
工具:
IDA Pro 7.5
VS2015 Comm
二制制查看软件
解压软件
TexturePacker
步骤如下:
先尝试最基本操作
下载:目标apk
使用解压软件直接解压
查看解压后的assert目录,发现PNG无法打开。
使用二进制查看软件看到,PNG与LUA文件,有同样的 文件标识头 UF。由此判断是使用了加密。
启动IDA进行分析
进一步查看 lib 目录,通过libcocos2dlua.so,发现这是一款使用cocos2dlua的游戏。
启动我们的神器IDA ,打开libcocos2dlua.so,耐心等级IDA分析完毕。
根据对cocos2d的了解,我们知道,最终都要调用以下常用函数来初使化图像:
cocos2d::Image::initWithImageFile
cocos2d::Image::initWithImageData
使用F5转为C代码,进一步查看cocos2d::Image::initWithImageData 代码,
可以看出,这段代码,在判断完文件内容头标识后,直接调用了 decryptUF 这个函数。
继续查看 decryptUF 文件,
细看后,这代码,根据一个定义的数组,对文件内容进行解密。
编写还原程序
逻辑清晰了,剩下就简单了,启动VS2015
创建一个控制台程序。
将IDA中的,C代码复制至IDE中
唯一注意的是这里有一个 byte_140E3C0 这是一个数组,需要复制至代码中。
另外通过上下文,将其他的调用参数补齐。
代码逻辑:遍历所有文件,将文件前二个字节为UF的文件,传入decryptUF,将解密内容,存入文件中。
处理图像文件格式
解完后PNG文件,还是打不开。
再次打开头文件,发现头部有存在 ccz 的标识。
百度得知这个另一种图像文件格式。使用TexturePacker命令行可以解开。
将原来导出的文件名PNG文件,都改为:xxxx.prv.ccz
编写批处理,遍历当前目录,转换所有的文件
至此图像文件全部解开
打包,发给妹子,收工。
I D:scodec
邮箱:scodec@gmail.com
申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。 我来报道了,不好意思,这二天,事情有点多。
感谢吾爱破解,感谢管理。
:)
页:
[1]