cocos-luac 游戏逆向破解反编译的一些启示

融资困难
• 阅读 16723
在用cocos-2dx lua框架开发游戏时,为了防止源码泄露常常用cocos自带的加密命令**cocos luacompile**去加密,本人从破解的角度去谈谈这样做存在的一些弊病。(本文示例是用mac去做,用windows的同学可能需要去安装一些相应的工具)
为了方便,去网上随意下载了cocos-lua开发的且有做luac加密的apk包,
第一步,在apk路径使用命令apktool d xxx.apk解包,获得解包的文件夹(apktool命令工具,[https://ibotpeaches.github.io/Apktool/][1]
第二步,找到文件夹下的luac脚本目录

cocos-luac 游戏逆向破解反编译的一些启示

随便打开一个luac文件,找到第一个字符串,记录下来,待会要用到,如图中的RY_QP_2016,
(为什么要找到它呢,cocos的加密命令的弊端就是,加密后它的key已经暴露出来了,RY_QP_2016就是,当然,光有key还不够)

cocos-luac 游戏逆向破解反编译的一些启示

第三步,找到文件夹下cocos的lib库

cocos-luac 游戏逆向破解反编译的一些启示


在该路径下执行命令,strings -a libcocos2dlua.so,解析出库中的字符串,cmd+f搜索RY_QP_2016定位,看到了什么,RY_QP_MBCLIENT_!2016字样的字符串,它就是密钥(这里剧透了哈,其实这个包加密的方式做的很简陋,所以很快能找到,就算复杂一些通过这个方法同样能找到,麻烦一点而已,原理是什么呢,在游戏包中luac加密后,需要AppDelegate::applicationDidFinishLaunching中的方法,调用engine->getLuaStack()->setXXTEAKeyAndSign(xx,xxx)方法,xx和xxx分别是luac的key和密钥,而so文件用strings命令能暴露出这些字符串,所以用key就能定位密钥)

cocos-luac 游戏逆向破解反编译的一些启示

有了密钥和key基本上就成了,最后一步,下载这个工具包[https://github.com/dengxiaochun/luac_decodeTool][2],放在项目所在的src路径,修改shell脚本中相应的key和密钥后执行 ./decode.sh src命令

cocos-luac 游戏逆向破解反编译的一些启示

看到src中的.lua文件,就成功了

cocos-luac 游戏逆向破解反编译的一些启示

写这篇文章一方面想要给大家启示,这样加密的方式有问题,要破解他们都不用太复杂。后面有机会分享应对这种破解加密的方式。文章中有遗漏错误的地方,欢迎大家指正,谢谢~

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
SDKMAN推荐一个好
是在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API来安装,切换,删除和列出sdk相关信息。以下是一些特性:ByDevelopers,forDevelopers安装SDK不再需要去各种下载页面去下载,解压,以及设置xxx\_HOME或者PATH环境变量.
红橙Darren 红橙Darren
4年前
Android Fragment 从源码的角度去解析(下)
1.概述上一篇博客已经简单的讲了一下Fragment的使用并写了一个基本的实例,接下来就将其整合到项目中。附视频地址:    这里写图片描述2.效果实现列表和轮播条不做过多的解释就是访问接口获取数据而已,这个在和都讲过了。我们直接整合进去这个时候我们发现一个奇怪的问题,就是切换之后会去重新加载数据很不正常。  一般的思路我们会换实现方法
Wesley13 Wesley13
3年前
Java 进行 RSA 加解密时不得不考虑到的那些事儿
Java进行RSA加解密时不得不考虑到的那些事儿博客分类:java1\.加密的系统不要具备解密的功能,否则RSA可能不太合适公钥加密,私钥解密。加密的系统和解密的系统分开部署,加密的系统不应该同时具备解密的功能,这样即使黑客攻破了加密系统,他拿到的也只是一堆无法破解的密
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
APFS 宗卷 • APFS(加密)磁盘格式怎么去掉?Mac磁盘加密怎么解除?
相信很多朋友都因为APFS宗卷•APFS(加密)磁盘格式而困扰,这种磁盘加密,导致很多破解版软件都不能安装。那么磁盘加密怎么解除?小编翻阅了一些教程,为您带来APFS宗卷•APFS(加密)磁盘格式怎么去掉的图文说明。APFS宗卷•APFS(加密)磁盘格式怎么查看启动台其他磁盘工具!(https://jpg.macd
Wesley13 Wesley13
3年前
DEFI去中心化金融开发的一些知识小结
DeFi是英文DecentralizedFinance的简写,翻译过来就是去中心金融,纵观加密货币的发展,加密货币的进化过程伴随着混乱和希望,Difi是2019年区块链领域中最受关注的话题之一。Linktobit(链币)亚太研究院执行院长邹冠军曾公开表示:DeFi定制看用户名一定是未来,因为它是安全性、隐私和效率的最优结合在传统的金融系统中,金融服务包括融资
Wesley13 Wesley13
3年前
cocos2dx2.0升级为3.0一些常见变化纪录
最近接手项目从cocos2dx2.0升级为3.0,至于为什么要升级我也弄不清楚,只感觉3.0是要摆脱cocos2diphone的身影,这是要作死的态度吗,没时间去了解3.0的核心发生了神马变化,只为了从cocos2dx2.0经常适应到3.0做了一些纪录,以便查阅和方便正在从2.0到3.0的朋友。1.去CC之前2.0的CC\
Stella981 Stella981
3年前
IDEA安装:图解Centos7.2下安装IDEA2018.3.6
!(https://oscimg.oschina.net/oscnet/7701fb4006d2a714b595ea8b8b049766e4e.gif)一、概述    为了方便调试代码,我在虚拟机Centos7.2上安装IDEA开发工具,这里把详细的安装过程给一些新手们讲一下,比较简单,这里有IDEA2018.3.6的破解包可直接从我的百度网盘上
玩转云端 | 天翼云数据加密,护航企业数据安全
有交流就会产生信息,为了防止信息泄露,人们通常会采取一些特殊的措施来保护信息。很早以前,“数据加密”就出现在人类的生活中。比如:由姜子牙创造的历史上最早的密钥——阴符(兵符),兵符由两半组成,一半留给君主,另一半交给下属,需两半吻合后命令才能生效;厉害的武
融资困难
融资困难
Lv1
好雨知时节,当春乃发生。随风潜入夜,润物细无声。
文章
3
粉丝
0
获赞
0