某汽车资讯App 返回数据解密

简介: 某汽车资讯App 返回数据解密

一、目标


为了防止数据被截获,有些App把返回数据做了加密,比如下面这个:

69.png

content 部分就是密文。我们今天就来搞搞它。


二、步骤

jadx搜索 content"


返回值是个json,那么它一定要把密文解析出来再解密,所以我们先搜索 content",看看有没有什么收获:

70.png

不开心,结果有点多,这个不好办……


hooker


今天介绍一个大佬的新玩具


github.com/CreditTone/…


hooker 是一个基于frida实现的逆向工具包。为逆向开发人员提供统一化的脚本包管理方式、通杀脚本、自动化生成hook脚本、内存漫游探测activity和service和其他任意对象。


听起来很拉风的样子。


按照说明配置好

git clone https://github.com/CreditTone/hooker.git
cd hooker
pip install -r requirements.txt   // 安装依赖


然后先把App启动起来,再运行 ./hooker


这时候会列出当前所有的进程名,如果没有列出来,那就可能是frida-server没有启动

输入 我们要分析的app包名 com.yxxxx.axxxxx,就会进入到交互式控制台,这里提供了几个有意思的功能,不过今天我们暂时用不到。


ex 退出交互式控制台。


hooker替我们生成了一些辅助脚本,我们进入 com.yxxxx.axxxxx 文件夹

fenfeiMac:com.yxxxx.axxxxx feifei$ ls
activity_events.js  log
android_ui.js   object_store.js
attach      objection
click.js    spawn
edit_text.js    spider.py
hook_RN.js    ssl_log.js
hooking     text_view.js
just_trust_me.js  url.js
keystore_dump.js  xinit
kill      xinitdeploy


这里我们用到的是 text_view.js 辅助命令。


为什么呢?


先看看作者的说明


跟踪TextView的setText和getText,获取TextView的真实Class。一般setText的堆栈信息会带出业务层的数据model处理逻辑,进而进一步分析到业务层数据bean封装类。


密文数据总归是要解密成明文显示出来的,我们在显示明文的时候打印出堆栈,不就可以分析它的解密过程了吗?72.png

召唤Jadx73.png

逮住了,顾名思义,应该就是这个 EncryptUtils.O000000o


自动生成hook代码


这时候可以用上 hooker 另一个比较拉风的功能了,自动生成Hook js代码


先回到之前的那个交互式控制台。(怎么回去?退出当前命令,到上级目录 重新输入 ./hooker 命令呗)

fenfeiMac:com.yxxx.axxx fenfei$ cd ..
feifenMac:hooker fenfei$ ./hooker
  PID  Name                                     Identifier                                      
-----  ---------------------------------------  ------------------------------------------------
 2505  ANT HAL Service                          com.dsi.ant.server                              
17295  Analytics                                com.miui.analytics                              
17166  Android Services Library                 android.ext.services   
......
Enter the need to attach package.
: com.yxxx.axxx           
It's com.yxxx.axxx that you have attached app.
--------------------------------------------------
Please enter e, s, j, c or ex command.
a: Discovering activities.
b: Discovering services.
c: Discovering object. eg:'c {objectId}'
d: Object2Explain. eg:'d {objectId}'
v: Discovering view. eg:'v {viewId}'
e: Determines whether a class exists. eg:'e android.app.Application'
s: Discovering classes by a class'regex. eg:'s com.tencent.mm.Message.*'
t: Discovering offspring classes by a class'name. eg:'t com.tencent.mm.BasicActivity'
j: Generating hooked js. eg:'j okhttp3.Request$Builder:build'
k: Generating hooked the string generation js with a keyword. eg:'k {YourKeyword}'
l: Generating hooked the param generation js with a param keyword. eg:'l {YourKeyword}'
m: Discovering so module.
: j com.bxxx.libcommon.tools.Encrypt -o com.bxxx.libcommon.tools.Encrypt.js
Hooking js code have generated. Path is com.yxxx.axxx/com.bxxx.libcommon.tools.Encrypt.js.


ok了,再进入 com.yxxxx.axxxxx 文件夹,跑一下这个js

fenfeiNewMac:hooker feifei$ cd com.yxxx.axxx
feifeiMac:com.yxxx.axxx fenifei$ ./hooking com.bxxx.libcommon.tools.Encrypt.js


结果出来了

74.png


三、总结


大佬们造了很多有意思的轮子,善于使用这些轮子,往往可以事半功倍。 hooker 还有很多有意思的功能等待挖掘。



75.png

好男儿当有一份拉几把倒的情怀,把人生当做一次旅行好了,很多事情其实都无所谓的,看淡些    ——from 鲁迅  [社会社会]


TIP: 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系,本文涉及到的代码项目可以去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一起学习探讨技术。有问题可以加我wx: fenfei331 讨论下。


关注微信公众号: 奋飞安全,最新技术干货实时推送



相关文章
|
6月前
|
监控 安全 数据可视化
java基于微服务的智慧工地管理云平台SaaS源码 数据大屏端 APP移动端
围绕施工现场人、机、料、法、环、各个环节,“智慧工地”将传统建筑施工与大数据物联网无缝结合集成多个智慧应用子系统,施工数据云端整合分析,提供专业、先进、安全的智慧工地解决方案。
165 1
|
6月前
|
传感器 人工智能 监控
Uni-app智慧工地数据大屏可视化监管平台源码带APP
智慧工地的核心是数字化,它通过传感器、监控设备、智能终端等技术手段,实现对工地各个环节的实时数据采集和传输,如环境温度、湿度、噪音等数据信息,将数据汇集到云端进行处理和分析,生成各种报表、图表和预警信息,帮助管理人员了解工地的实时状况,及时做出决策和调整,
182 0
|
6月前
|
存储 JavaScript 小程序
jQuery、vue、小程序、uni-app中的本地存储数据和接受数据是什么?
jQuery、vue、小程序、uni-app中的本地存储数据和接受数据是什么?
74 0
|
6月前
|
存储 JavaScript 小程序
jQuery、vue、小程序、uni-app中的本地存储数据和接受数据
jQuery、vue、小程序、uni-app中的本地存储数据和接受数据
67 0
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
226 0
|
6月前
|
存储 移动开发 JavaScript
uni-app页面数据传参方式
uni-app页面数据传参方式
440 4
|
4月前
|
小程序 前端开发
汽车报价资讯app小程序模板源码
汽车报价资讯app小程序模板源码
36 4
|
1月前
|
JSON API 网络安全
App数据的爬取
App数据的爬取
|
3月前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
3月前
|
缓存
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错

热门文章

最新文章