Android Cocos2dx引擎 prv.ccz/plist/so等优化缓存文件,手把手ida教你逆向project反编译apk库等文件
前段时间在 Android play 上看到一个非常牛逼的 3D 动态天气预报,效果真的非常炫。二话不说动手 dex2jar.bat/apktool 发现这并没
有什么卵用,在核心的地方看见 native 字段果断放弃了治疗,立刻转向 so 的逆向project。发现了cocos2dx so 引擎,搜噶。我就说
嘛这么炫酷的效果, Android 源代码是做不了的。即使达到了这样的程度,预计性能也特别不好。由于那个动态效果是不会循环播放
的,也就是不会反复。是自己绘制的依据资源文件,在反编译的 assets 下发现例如以下一大堆文件
排除 png 载入炫酷 3D 动态效果的可能。那答案就非常明显了,就是这些 prv.ccz/plist 文件了,这两个文件是 cocos2dx 用来载入
渲染效果的资源文件,plist 相当于 key , 而 prv.ccz 里面则相应 value 即一组资源组图。这时候我就百度了打开这个文件的方
式,发现TexturePacker能够打开此类文件。下载之后,点击
pvr viewer button。弹出例如以下提示
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
顿时傻眼了。
。。
。然后网上查找资料。在依据 so 的被调函数得知。cocos2dx 引擎在渲染上述文件的时候须要先验证这个 key
ok,我就比較爽了。由于我平时没事就喜欢逛论坛啊。搞破解啊什么的,这些都难不倒我,开干吧!
拿起我的測试亲儿子平板,
開始了我的逆向,首先教大家一个方法 adb port转发。ida android_server 同步监听。非常迷糊吗?好吧说具体一点
笔者开发工具:
ida 6.6 破解版本号
ADT 22.3
逆向真机 Nexus 7-2
下载完 ida 之后,到例如以下图片的路径找该文件
插上真机的USB,将此文件 push 到 /data/local/tmp/ 下,然后启动它,push 须要 root 之后,如出现 仅仅读权限,运行
remount,还是不行运行 su命令 。在 mount
#adb remount // 如 Read-only file system
#adb shell
#su // 须要root权限
#mount -o rw , remount -t yaffs2 /data 须要在 ./ 下
得到权限之后,将 android_server push 到 /data/local/tmp 下
而且启动
#./android_server // 直接回车
IDA Android 32-bit remote debug server(ST) v1.17. Hex-Rays (c) 2004-2014
Listening on port #23946...
=========================================================
[1] Accepting connection from 127.0.0.1...
[1] Incompatible IDA version
[1] Closing connection from 127.0.0.1...
=========================================================
[2] Accepting connection from 127.0.0.1...
[2] Incompatible IDA version
[2] Closing connection from 127.0.0.1...
出现上述提示,说明真机部署的工作已经完毕,剩下的就是开启 attach 调试了
接下来打开你的 ida 。open 你要调试的 so 源文件,点击debugger->attach->remote Armlinux/andoid
debugger,设置hostname为localhost。port为23946,点击OK;然后选择要调试的APP并点击OK
假设没有出现断点调试,请查看要逆向的project进程是否已经进入 debug 模式。否者手动例如以下命令
adb shell am start -D -n 包名/包名.入口Activity
// 回车
随即开启还有一个 dos 键入例如以下命令,将 android 设备监听port转发到本地 ida
在进入ida F5 , 随即进入调试模式 ctrl+F 下一单元 。F9Continue
Process , Ctrl + F5 展示所有 ,进入调试模式后,随机 ctrl+5 so 库文件被载入 log 例如以下
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
继续往下走,验证渲染文件 128 为password函数,就是我要偷的东西,信息例如以下
去掉 十六进制标识符将其组合为:
有兴趣的能够 查阅 ida 相关的资料
。由于我已经4天没进展了。。。
然后又要出书!
清华大学出版社签约的,怕误人子弟,所以非常用心。写得非常专注的。到时候希望大家多多宣传下,谢谢大家观
Android Cocos2dx引擎 prv.ccz/plist/so等优化缓存文件,手把手ida教你逆向project反编译apk库等文件的更多相关文章
- android: 使用android逆向助手反编译APK
第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...
- Android 反编译Apk提取XML文件
Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...
- Atitit.反编译apk android源码以及防止反编译apk
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...
- Android 反编译apk 详解
测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2jar(源码文件获取) 下载 jd-gui (源码查看) ...
- Xamarin android如何反编译apk文件
Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...
- Android基础新手教程——1.10 反编译APK获代替码&资源
Android基础新手教程--1.10 反编译APK获代替码&资源 标签(空格分隔): Android基础新手教程 本节引言: "反编译Apk".看上去好像好像非常高端的样 ...
- Android开发学习之反编译APK文件
反编译的目的在于学习一些优秀的Android应用程序代码. 在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下): 这些工具的下载地址:http://down.51cto.com/d ...
- [Android]反编译apk + eclipse中调试smali
从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...
- Android apk逆向:反编译,回编译,签名,打包。
Android apk逆向:反编译,回编译,签名,打包流程. 第一步: apk 反编译. 1) 打开命令行窗口,输入java -version, 检测当前java版本,若版本较低, 则下载JAVA S ...
随机推荐
- js例子
1.子菜单下拉 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- C# 数组动态添加新元素的 方法
经常在开发中 会对字符串 进行split 拆分操作.. 得到数组后再去做相应的事情! 但有时候,需求决定了 数组的长度 不是固定的, 而C# 数组 是不允许动态添加新的元素的.. 这事情让我也纠结了 ...
- python基本数据类型之元祖tuple
元祖tuple 是对列表的二次加工,书写格式为括号(),里面放元素 元组的一级元素不可被修改,且不能被增加和删除 一般写元组的时候,推荐在最后加入逗号, 能加则加 创建元组 ? 1 tu = (11 ...
- RMS:均方根值,RMSE:均方根误差,MSE:标准差
.均方根值(RMS),有时也称方均根.效值.英语写为:Root Mean Square(RMS). 美国传统词典的定义为:The square root of the average of squar ...
- 前端面试基础-html篇之CSS3新特性
CSS3的新特性(个人总结)如下 过度(transiton) 动画(animation) 形状转换 transform:适用于2D或3D转换的元素 transform-origin:转换元素的位置(围 ...
- 4) 十分钟学会android--建立第一个APP,启动另一个Activity
在完成上一课(建立简单的用户界面)后,我们已经拥有了显示一个activity(一个界面)的app(应用),该activity包含了一个文本字段和一个按钮.在这节课中,我们将添加一些新的代码到MyAct ...
- linux抓包命令-tcpdump命令详解
最近调试支付接口的时候,遇到了一个奇怪的问题:我按照支付接口文档,对接支付通道,当消费业务正常后,调试查余和冲正的时候,支付通道的对接技术告诉我,系统没有我们支付系统的请求报文,数据库和日志中都没有, ...
- PIC EEPROM问题
1.通过export出来的Hex烧录,EEPROM内容会根据Hex中关于EEPROM的定义而改变. 2.通过编译源文件烧录,如果没有勾选Preserve EEPROM on program则EEPRO ...
- BZOJ 5508: [Tjoi2019]甲苯先生的字符串 矩阵乘法_思维
求 $f[i][j]=∑f[i−1][k]$,$'a'<=k<='z'$ . 用矩阵乘法转移一波即可. 竟然独自想出来了QAQ Code: #include <bits/stdc++ ...
- Connection refused (SQL: select * from information_s chema.tables where table_schema = apidemo and table_name = migrations)
LARAVEL 执行: $ php artisan migrate 报错 ,把 .env文件里的 DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306 换成 ...