Jadx也想要翅膀

一、目标

Jadx : "我也很想进步,古法太繁琐了,现在的年轻人都玩不转。"

fenfei : "这个可以有。"

二、步骤

安装

mcp是什么咱们就不解释了,刚来的同学可以翻翻前情提要回顾一下 91fans.com.cn/post/idamcp...

今天我的新朋友是 jadx-ai-mcp

github.com/zinja-coder...

她的安装分两部分

  • 去到 /Users/fenfei/Desktop/tool/jadx-1.5.3/bin 目录下面执行
bash 复制代码
./jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
  • 下载 jadx-mcp-server 对接 AI 用

github.com/zinja-coder...

开工

找个软柿子捏一下

就用之前的 91fans.com.cn/post/txtrea... ,咱们换AI来搞 Jadx打开,然后 文件 -> 首选项 -> 插件

这说明插件部分安装OK

然后给 AI IDE 配置上 MCP Server

bash 复制代码
{
  "mcpServers": {
    "jadx": {
      "command": "/opt/miniconda3/envs/jadxmcp/bin/python",
      "args": [
        "/Users/fenfei/Desktop/tool/jadx-mcp-server/jadx_mcp_server.py"
      ],
      "alwaysAllow": [
        "get_android_manifest",
        "search_classes_by_keyword",
        "get_class_source",
        "search_method_by_name"
      ]
    }
  }
}

细心的同学可能发现和之前IDA的MCP配置有很大的不一样。

AI这玩意还在迅猛发展,百家争鸣,所以MCP的协议有很多种,具体这两种协议哪种先进,可以问问 AI。

咱们是实用主义着,先不纠结原理了,连上了就行,在 AI IDE里呼唤神龙...

bash 复制代码
连接jadx mcp, 定位 token=rOW60Ct5iGxgRX0Olulcz9IXtWiGmAO7cbL7Y%2FU0tOc%3D 这个 token计算的位置,然后写个Frida hook 脚本

然后就是默默的等待,想起了 Chrome的恐龙游戏,我感觉在等待 AI干活的过程中,应该来个 是男人就下500层 的小游戏。怪不得李老板喜欢玩扫雷,原来他把我当AI了,发布命令,然后边玩扫雷,边等我的结果。

有了AI 咱们也能过上李老板的日子了,越来越有盼头了。

AI 写完了, 我就不贴代码了, (小声告诉你,贴 知识星球 了)

bash 复制代码
任务完成
已成功定位token计算位置并创建Frida hook脚本 token_hook.js

Token生成流程分析
根据反编译代码,token rOW60Ct5iGxgRX0Olulcz9IXtWiGmAO7cbL7Y%2FU0tOc%3D 的生成流程:

主要方法: Token.Companion.m() - getToken方法

输入: URI路径 + 参数Map
计算: hash_timestamp 格式的字符串
使用AES加密(密钥: 7A3II/M5Ja0S4gdf)
Hash计算: Token.Companion.k()

拼接: uri + 排序后的参数 + "mVjdXyqwjlEptwYY"
使用MurmurHash算法计算hash值
AES加密: AES.Companion.b()
算法: AES/CBC/PKCS5Padding
密钥: 7A3II/M5Ja0S4gdf
IV: 16-Bytes--String
输出: Base64编码
Hook脚本功能
脚本会拦截以下关键方法:

Token.getToken() - 捕获token生成
MurmurHash.d() - 捕获hash计算
AES.encodeAES() / AES.decodeAES() - 捕获加解密
SignatureUtil.sign() - 捕获签名生成
Token.getHash() - 捕获内部hash计算
Token.getUrlParamsByMap() - 捕获参数拼接
使用方法:

frida -U -f <包名> -l token_hook.js --no-pause

说的有模有样的,赶紧跑下代码试试。

我去,没效果

bash 复制代码
不对 没有hook到

AI 又开始干活了,咱们继续扫雷。

过了几分钟,新的代码又搞完了,继续跑。 还是没有效果

bash 复制代码
还是没有

AI 继续干活,咕嘟嘟,干了一通,扔给我了一个新的代码

bash 复制代码
[+] TokenUtil.f() - Calculate Hash
    Input1: /v1/category/female
    Input2: channel=zxf2019_19206_001&os=Android&package=cn.ttkmfxs.novel&udid=01bb90d6de80f3cb01bb90d6de80f3cb&v=3.3.24.R
    Hash: -1926105764

[+] TokenUtil.e() - AES Encrypt
    Plain: -1926105764_1766754803859

[+] AES.b() - Encrypt
    Value: -1926105764_1766754803859
    Key: @cLjKxIl7hlto3tR
    Encrypted: nADo5PoDE0nEwN6gKB9L8WF9OzAmwqviEgy/ljE1DI0=
    Encrypted: nADo5PoDE0nEwN6gKB9L8WF9OzAmwqviEgy/ljE1DI0=
    Generated Token (URL encoded): nADo5PoDE0nEwN6gKB9L8WF9OzAmwqviEgy%2FljE1DI0%3D

oh yeah,这次成功了。感觉和玩大转盘差不多,多玩几次,总会有惊喜。

💡 TIP

frida多准备几个版本,有时候v17不好使,我还能继续上v16.x

三、总结

有种赛博求签的感觉,心诚则灵。理解了有些人有事就扑通跪倒在佛像前面,感情佛祖也是AI的一种。

基本功还是得有的,不然被ai骗人都不知道咋回事。

天地无穷期,生命则有穷期,去一日,便少一日;富贵有定数,学问则无定数,求一分,便得一分。

💡 TIP

: 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系。

相关推荐
white-persist2 小时前
【内网运维】Netsh 全体系 + Windows 系统专属命令行指令大全
运维·数据结构·windows·python·算法·安全·正则表达式
久绊A2 小时前
基于渗透测试的阿里云轻量应用服务器安全策略研究
网络·安全
yunteng5213 小时前
wifi安全实践
安全·wifi·渗透
rustfs3 小时前
RustFS x Distribution Registry,构建本地镜像仓库
分布式·安全·docker·rust·开源
weixin_307779133 小时前
通过AWS Transfer Family集成Active Directory实现安全SFTP文件访问
安全·云计算·aws
数字供应链安全产品选型3 小时前
悬镜源鉴SCA开源威胁管控平台:织密供应链“防护网”,实现开源风险可知、可控、可治
人工智能·安全·开源
汽车仪器仪表相关领域3 小时前
亲历机动车排放检测升级:南华NHA-604/605测试仪的实战应用与经验沉淀
人工智能·功能测试·测试工具·安全·汽车·压力测试
码农小白猿4 小时前
提升压力容器改造方案报告标准条款审核效率,IACheck助力合规与安全
运维·人工智能·安全·ai·自动化·iacheck
2501_944452234 小时前
安全隐私 Cordova 与 OpenHarmony 混合开发实战
安全