news 2026/3/15 2:55:29

Android 逆向入门:使用 Frida Hook 某 App 的加密函数,抓出隐藏的 API 密钥

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 逆向入门:使用 Frida Hook 某 App 的加密函数,抓出隐藏的 API 密钥

🔓 前言:什么是 Hook?

想象你在寄快递。

  • 正常流程:你把东西装箱 -> 快递员打包封箱 -> 发货。
  • Hook (钩子):你买通了快递员。当你把东西给他时,他先打开箱子拍张照(获取明文),甚至偷偷换掉里面的东西(篡改数据),然后再打包发货。

在 Android 逆向中,Frida 就是那个“被买通的快递员”。它能动态拦截 Java/Native 层的方法调用。


🏗️ 一、 核心原理:动态插桩

Frida 是一款基于 Python 和 JavaScript 的 Hook 框架。

  1. PC 端:运行 Python 脚本,发送指令。
  2. 手机端:运行frida-server,它像一个寄生虫一样注入到目标 App 的进程中。
  3. JS 脚本:我们在脚本里写好要拦截哪个类、哪个方法,Frida 会在内存中把该方法的实现“偷梁换柱”。

Frida 工作流程图 (Mermaid):

目标 App 进程

1. 注入 JS 脚本
2. 动态修改内存
3. 拦截调用
4. 打印明文参数 (data)
5. 返回加密结果

攻击者 (PC端)

frida-server (手机端)

原始加密函数: encrypt(data)

Frida Hook 逻辑


🛠️ 二、 环境准备

  1. 已 Root 的安卓手机(或模拟器,如 Genymotion)。
  2. PC 环境
pipinstallfrida-tools
  1. 手机环境
  • 去 GitHub 下载对应架构的frida-server
  • 推送到手机并启动:
adb push frida-server /data/local/tmp/ adb shell"chmod +x /data/local/tmp/frida-server"adb shell"/data/local/tmp/frida-server &"

🔎 三、 第一步:定位嫌疑人 (Jadx 反编译)

在 Hook 之前,我们得知道 Hook 谁。
假设我们抓包看到一个参数sign,我们使用Jadx打开 APK 文件,搜索关键词"sign""encrypt"

经过一番查找,我们发现了一个可疑类com.example.demo.utils.SecurityUtil,里面有一个静态方法md5Encode

// 反编译出的 Java 代码片段packagecom.example.demo.utils;publicclassSecurityUtil{// 这就是我们要找的加密函数!publicstaticStringmd5Encode(Stringstr,Stringsalt){// ... 复杂的混淆代码 ...returnresult;}}

代码被混淆了看不懂?没关系!
有了 Frida,我们根本不需要读懂它内部在算什么,我们只需要守在它的门口,看它进去了什么参数。


💉 四、 第二步:编写 Frida 脚本 (JavaScript)

新建一个文件hook_script.js。这是 Frida 的灵魂。

// 当 Java 虚拟机加载完成后执行Java.perform(function(){console.log("[*] 正在注入脚本,等待目标函数触发...");// 1. 定位目标类// 注意:如果是混淆代码,可能是 'a.b.c.d' 这种名字varSecurityUtil=Java.use("com.example.demo.utils.SecurityUtil");// 2. Hook 目标方法 (md5Encode)// overload 用于解决重载问题,这里假设参数是两个 StringSecurityUtil.md5Encode.overload('java.lang.String','java.lang.String').implementation=function(inputStr,saltKey){// --- 核心操作:截获数据 ---console.log("\n========================================");console.log("[+] 发现加密调用!");console.log("[+] 明文参数 (str): "+inputStr);console.log("[+] 隐藏密钥 (salt): "+saltKey);// 3. 必须执行原始方法,否则 App 会崩或逻辑中断varresult=this.md5Encode(inputStr,saltKey);console.log("[+] 计算结果 (sign): "+result);console.log("========================================\n");returnresult;};});

🚀 五、 第三步:运行与收网

  1. 确保手机上 App 正在运行
  2. 在 PC 终端执行命令
    (假设 App 包名是 com.example.demo)
frida -U -f com.example.demo -l hook_script.js --no-pause
  1. 触发逻辑
    在手机 App 上点击登录或刷新列表。
  2. 见证奇迹
    你的 PC 终端会瞬间疯狂吐出日志:
[*] 正在注入脚本,等待目标函数触发... ======================================== [+] 发现加密调用! [+] 明文参数 (str): user_id=10086&timestamp=1678888888 [+] 隐藏密钥 (salt): Ai_Is_The_Future_2025 [+] 计算结果 (sign): e10adc3949ba59abbe56e057f20f883e ========================================

Bingo!
我们不需要分析几千行混淆代码,直接拿到了核心:

  • 明文数据:它是怎么拼接入参的。
  • 隐藏密钥Ai_Is_The_Future_2025。有了这个盐值(Salt),你自己用 Python 写个 MD5 脚本就能模拟出合法的签名的请求了!

🛡️ 总结与思考

Frida 的强大在于它无视混淆,直接从内存层面进行拦截。
对于开发者来说,这也敲响了警钟:不要把密钥硬编码在 App 里,在 Frida 面前,App 就像是在“裸奔”。

常见的 Hook 场景:

  1. 抓包解密:拦截 SSL Pinning 或加密函数的入参。
  2. 自动化测试:Hook UI 点击事件。
  3. 会员破解:HookisVip()方法,强行返回true

Next Step:
尝试找一个简单的 Demo App(比如 CTF 练习题),自己动手写一个 Hook 脚本,你会发现逆向世界的大门才刚刚打开。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 1:30:44

《重磅资讯!AI应用架构师对金融科技与AI未来发展的深刻见解》

重磅资讯!AI应用架构师对金融科技与AI未来发展的深刻见解 关键词:金融科技、AI、应用架构、风险评估、智能投顾、发展趋势 摘要:本文以AI应用架构师的视角,深入探讨金融科技与AI融合的现状、原理及未来发展。开篇阐述金融科技中AI应用的背景与重要性,点明核心问题。通过…

作者头像 李华
网站建设 2026/3/13 14:16:32

git submodule管理子项目:集成PyTorch-CUDA-v2.8作为依赖

git submodule管理子项目:集成PyTorch-CUDA-v2.8作为依赖 在AI工程实践中,最让人头疼的往往不是模型设计本身,而是“环境配置”这个隐形门槛。你有没有遇到过这样的场景?同事发来一段完美运行的训练代码,你兴冲冲地克隆…

作者头像 李华
网站建设 2026/3/13 20:56:02

cuda安装补丁包说明:PyTorch-CUDA-v2.8已集成最新修复

PyTorch-CUDA-v2.8镜像深度解析:集成补丁包带来的稳定性革新 在AI研发一线,你是否经历过这样的场景?新同事入职第一天,花整整两天才把PyTorch环境搭好;团队成员之间因为CUDA版本不一致导致模型训练结果无法复现&#x…

作者头像 李华
网站建设 2026/3/14 13:09:13

cnn卷积神经网络入门:利用PyTorch-CUDA-v2.8快速搭建

CNN卷积神经网络入门:利用PyTorch-CUDA-v2.8快速搭建 在图像识别、自动驾驶和医疗影像分析日益普及的今天,深度学习已经不再是实验室里的神秘技术,而是实实在在推动产业变革的核心动力。然而,对于刚接触这一领域的开发者来说&…

作者头像 李华
网站建设 2026/3/13 5:33:57

亲测有效!论文ai率太高,自己怎么快速降aigc率【2025保姆级指南】

说实话,谁没经历过被知网、维普那些冰冷的红色数字支配的恐惧?但这就是2025年的现状,高校对于论文降aigc的审查只会越来越严。为了帮大家解决这个燃眉之急,不让大家因为AI率延毕,我花了一周时间,自费测试了…

作者头像 李华