本文中,将以宝博.apk为例。基于前面 解密lua脚本与 解密lua资源,我们为实现修改客户端app,实时获取app解密后通信数据,应分析修改app端的lua脚本,然后按原app加密方式打包修改后的lua脚本,覆盖原始安装文件,从而达到修改app的目的。

参照前面分析,获取宝博.apk的xxtea解密key,同时可以分析出其对lua脚本的加密方式,是将lua脚本以字节码的形式,再经xxtea加密。所以我们解密lua脚本时,经过xxtea解密之后,得到的是lua字节码而不是源码,lua字节码类似java、 .net的中间文件,是可以被翻译成源码的,可以从网上下载一个lua字节码还原工具,将lua字节码还原成lua源码,最后得到lua源码目录如下:

        我们分析源码几处关键的地方:

       我们现在从修改app lua脚本的角度,想解密app与服务器的通信数据并不难,因为并不需要再分析底层so库中的加解密函数了。我们是处于上层,有源码,所以如果想记录所有app 通信的明文数据,可以在消息接口处,将解密后的消息全部写入文件即可。但是我们想实时显示解密后的通信消息,并在适当的地方能够伪造消息发往服务器。

为了达到这个目的,我们可以在电脑端建立tcp服务开放端口,用adb将端口映射进手机,app用lua socket 连接端口,然后这样就在电脑端与手机(模拟器)端app建立了通信链路,app端接收的服务器消息解密后可以通过socket发送至电脑,电脑也可以将想要发送的消息,发送至app,然后由app加密后发送至服务器。架构如下:

        具体实现不在多述。

这里对如何将修改了的lua源码回编至app提供两个方案。

一是,利用quick-cocos2d提供的打包脚本文件。

        帮助命令如下:

        可以将修改好的lua源码目录打包成一个加密的zip文件:

compile_scripts -i fishgame2d -o fishgame2d.zip -m zip -exxtea_chunk -ek “app xxtea 密码” -es “app xxtea 头部sign”

命令成功执行应该出现fishgame2d.zip文件,将打包好的文件,覆盖掉原安装包内的文件即可。

二是,按照app的lua脚本的目录结构,直接将改好的明文lua脚本覆盖掉原先的lua密文文件,cocos2d引擎会自动判断文件是否加密,对于未加密的cocos2d引擎也会正确处理。

最后看下手机端app实时传回解密后的消息到电脑端的结果:

另外,还有一种方案就是直接破解app与服务器通信的加密算法,在电脑端模拟app的socket通信,这样更直接一些。根据自己的目的选择适合自己的技术方案。(结束)

原文链接:http://www.freebuf.com/column/173237.html

cocos2d-LUA逆向之修改客户端app,实时获取app解密后通信数据相关推荐

  1. iOS逆向开发(2):获取APP的类声明 | class-dump | dumpdecrypted

    iOS逆向开发(2):获取APP的类声明 | class-dump | dumpdecrypted 之前介绍了怎么操作越狱的iOS设备(以下简称为手机),但简单操作手机并不是目标,小程的目标是手机上特 ...

  2. 恒生股票数据接口可以实现更加方便地实时获取上海和深圳市场行情数据吗?

    我们已经针对 Level2 实时行情数据,开发了能够对接恒生 NSQ 极速行情系统的插件.有了它,用户可以更加方便地实时获取上海和深圳市场行情数据啦!该插件目前已经支持的数据源包括: 现货逐笔委托行情 ...

  3. uniapp - 实现安卓APP实时在线更新APP

    思路:启动APP时,需要一个接口提供是否有APP包更新,通过接口返回更新包的版本号.更新地址进等信息,通过获取app包版本号与更新包的版本号进行比较来进行更新. 一.发布蒲公英平台,进行实时APP更新 ...

  4. 实时获取vuex更新的新数据_三网运营商大数据实时截流,网站手机号获取

    首先我们来了解一下运营商大数据,运营商即中国移动,中国联通,中国电信三大运营商.运营商大数据是指三大运营商的用户上网行为数据,用户通信行为数据,用户基本特征数据,用户消费行为数据,用户渠道偏好数据,用 ...

  5. 实时获取vuex更新的新数据_京东手机销量实时数据更新 荣耀Play4T Pro位列第一

    荣耀手机官方微博发布战报,荣耀Play4T Pro斩获4月10日京东.天猫.苏宁1500-2000元价位段销量冠军.其中,荣耀Play4T Pro搭载麒麟810芯片.4800万三摄.OLED屏幕指纹. ...

  6. qtableview点击行将整行数据传过去_可以实时获取数据的Database Asset插件

    前言:Goby之前开放的插件入口点较少,大家只能在扫描前.扫描后执行事件,无法参与扫描过程中来.为实现更多场景的应用及提高扫描效率(如:后台爆破子域名等),Goby开放了一些新的API:事件通知机制. ...

  7. 一种客户端即时通信数据的加密和解密方法

    一种客户端即时通信数据的加密和解密方法  摘要 本发明适用于即时通信领域,提供了一种客户端即时通信数据的加密和解密方法,所述方法包括以下步骤:A.客户端加密本地保存的即时通信数据,并将数据加密密钥上传 ...

  8. iOS逆向-支付宝基金之统计实时收益

    前言:现在全民买基的情况下,女票也买了一些,对于买基新手来说,总是想打开支付宝看看到底今天是赚是赔,女票说支付宝收益第二天才显示太慢了,要是能打开直接看到收益就好了,作为一个合格的程序员,怎么能不满足 ...

  9. (开源)arduino和ESP8266-01制作数据监测系统+手机App实时显示

    利用ESP8266制作环境监测系统+APP inventor制作手机App实时显示 第一 接线 第二 原理讲解 第三 arduino读取各种传感器数值 第四 传感器数据推送到云端 第五 app inv ...

最新文章

  1. 完全理解Python迭代对象、迭代器、生成器
  2. 车道线检测--End-to-end Lane Detection through Differentiable Least-Squares Fitting
  3. 我用Python爬取英雄联盟的皮肤,隔壁家的小弟弟都馋哭了
  4. 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
  5. 汇智清华,医道生机 | 第四届清华校友三创大赛医疗健康行业论坛圆满召开
  6. 网文作者:我太监了;GPT-3:我给你接上
  7. Android Studio 使用Log
  8. 嵌入式系统开发人员的知识结构
  9. SpringBoot2.1.9 Mybatis由于@Mapper注解多数据源配置不生效问题
  10. Maven私服(Nexus)搭建总结
  11. 大学生想依靠c/c++找工作,还需要什么知识?
  12. ISODrive使Ubuntu Touch手机变身电脑系统启动盘(UBports之“DriveDroid”)
  13. 问卷调查报告html,问卷调查报告格式优秀范文
  14. 【Arduino】WIN7装不上arduino驱动解决办法
  15. 【Lua】【协同程序】【coroutine】知识点详解
  16. 2020Google开发者大会总结
  17. 【复变函数与积分变换】05. 留数
  18. 跨境电商的支付有段有哪些?
  19. php nl2p,PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p_PHP教程
  20. Visio—“信号波形”

热门文章

  1. 【Unity】愤怒的小鸟
  2. 利用计算机的审计优点,计算机辅助审计的优势表现在哪些方面
  3. pandownload被封杀后该怎么使用
  4. python获取企鹅电竞弹幕信息
  5. 解决青龙python依赖安装失败问题
  6. Google 月球 X 大奖结束,无人获奖;微软宣布全新开发者工具项目 Windows Desktop...
  7. openlayers6【十七】vue VectorLayer矢量图层画地图省市区,多省市区(粤港澳大湾区)效果详解
  8. 不要想不开啊!紫光云数->新华三的面试
  9. 购物中心的“秀场”—中庭,平面形态分析
  10. Adobe 2019 全家桶 Win 版