cocos2dx xxtea逆向获取lua脚本和资源文件

本文介绍了如何使用AndroidEagleEye和IDA Pro 7对使用xxtea加密的cocos2dx Lua脚本和资源文件进行逆向工程。通过hook关键函数,获取解密key,并利用XXTEA解密工具还原lua和资源文件。
摘要由CSDN通过智能技术生成

第一次写博客,什么格式,排版都很low,大家不要喷我啊。。。

工具准备:

  1. IDA Pro 7,具体大家想用正版还是x版,自行决定。

  2. Android SDK 和 NDK

  3. AndroidEagleEye,链接地址为:AndroidEagleEye

  4. AndroidEagleEye需要XposedInstaller,直接百度下载一个最新的版本。我知道大家懒,所以链接为:XposedInstaller

  5. 一台ROOT之后的Andrid手机 或 雷电模拟器

好了,接下来接入正题。本文以一位网友发给我的一个叫做jjw.apk的【久久玩】的QP游戏。

解压缩APK文件,找到libs/armeabi/libcocos2d.so文件和位于assets目录下的src和res文件夹,这是我们需要解密的东西。我发现这个APK使用了xxtea加密。右击打开一个luac文件显示为:

luac代码内容

我们在此处看到了lua加密的签名为红色圆圈中的内容,先找个文件记录一下,以后要用。

然后打开任意一张png图片,显示为:

png资源内容

我们同样找到了png资源的签名,找到刚才的文件,记录下来。

启动IDA Pro 7 把libcocos2dlua.so托到工具中。估计这玩意会有点卡,等待IDA分析完毕这个so文件,然后找到functions视图,如果你发现你的IDA上没有这个视图,请点击View->Open SubViews->Functions打开它。如下图:

IDA Functions View

我们先来处理lua脚本。用过cocos2dxlua的都知道,引擎第一次加载lua脚本会调用cocos2d::LuaStack::executeScriptFile这个方法,所以我们选中Function Name窗口中任意一个方法,然后按下CTRL + F键,进行搜索。你会看到Function Name下方出现了一个输入框,在输入框中输入LuaStack,然后你会得到以下结果,如图所示:

搜索LuaStack结
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值