这门课解决什么工作场景

安卓逆向工程的核心难点往往不在静态分析,而在动态行为的拦截与数据捕获。很多开发者或安全研究人员面对的是加固过的 APK 或逻辑复杂的业务接口,单纯依靠日志打印无法触及核心参数,而传统 Xposed 框架搭建繁琐且对新版系统兼容性差。本课程聚焦于 Frida 这一动态插桩工具,主要解决在无需修改源码、无需 Root 权限的前提下,如何快速对 Android 应用进行函数级 Hook 的技术问题。它适用于需要了解应用内部调用逻辑、调试第三方 SDK 行为、或进行移动应用安全评估的工作场景。对于希望脱离“黑盒”状态,掌握应用运行时数据流转机制的从业者来说,这是一门直击痛点的实用技能课。

适合什么基础,建议先看哪几块

课程面向具备一定 Java 编程基础、了解 Android 应用基本结构(如 Activity、Method 概念)的学习者。你不需要是逆向专家,但需要能看懂基础的 Java 代码逻辑,因为 Hook 的本质就是用 JavaScript 代码去调用或替换 Java 方法。资料包中包含了完整的运行环境,涵盖 Python 3.7、Node.js 12 以及对应不同 CPU 架构(arm64-v8a、armeabi-v7a 等)的 frida-server 二进制文件,这意味着你可以直接上手实践,无需自行解决复杂的环境依赖冲突。

建议学习路径如下:首先完成前两部分关于 Frida 介绍与环境配置的视频,重点理解客户端脚本与服务端进程之间的通信原理,这是后续所有操作的基础;接着进入核心章节,依次学习 Java 层普通方法的 Hook 和构造方法的 Hook。这两节是最高频的使用场景,掌握它们后,你就能拦截大部分常规的业务逻辑调用。若资料中后续包含 native 层或更复杂的 Hook 技巧,可在掌握 Java 层基础后再行深入。

学完能独立做什么,资料如何配合练习

系统学完本课程后,你将能够独立编写 Frida 脚本,对目标 Android 应用进行实时拦截。具体而言,你可以实现:在应用启动或特定动作发生时,自动打印关键函数的入参和返回值,从而快速定位加密算法或敏感数据接口;拦截并修改构造函数参数,绕过简单的非签名校验或调试保护;基于 frida-server 在不同架构设备上的部署方案,应对实际的真机或模拟器测试环境。这种能力使你能够从“使用”软件转向“透视”软件,极大地提升对移动端安全问题的排查效率。

资料包的配合策略应遵循“环境先行,脚本并重”的原则。请勿直接跳过环境配置环节,务必按照课程指引,在你的 Windows 开发机上安装指定的 Python 和 Node 版本,并正确下载与测试设备架构匹配的 frida-server 文件上传至设备。练习时,建议先用课程提供的案例 APK 进行本地验证,确保 Hook 脚本能够成功注入并打印预期日志,再尝试将其应用到其他你感兴趣的应用上。通过不断调整 JavaScript 代码中的方法签名和过滤条件,逐步建立对动态插桩技术的肌肉记忆。

课程目录

环境 视频 课件 环境\frida-12.8.14-py3.7-win-amd64.egg 环境\frida-server-12.8.14-android-arm64.xz 环境\frida-server-12.8.14-android-arm.xz 环境\frida-server-12.8.14-android-x86_64.xz 环境\frida-server-12.8.14-android-x86.xz 环境ode-v12.16.1-x64.msi 环境\python-3.7.7-amd64.exe 环境\setuptools-46.0.0-py3-none-any.whl 环境\VSCodeUserSetup-x64-1.43.0.exe 视频\01.Frida介绍 视频\02.环境配置 视频\03.Java层Hook(普通方法) 视频\04.Java层Hook(构造方法) 视频\05.Java层Hook(重载方法) 视频\06.Java层Hook(构造对象参数) 视频\07.Java层Hook(修改对象属性) 视频\08.实战(xx合伙人) 视频\09.实战(CTF的示例rps) 视频\10.实战(CTF的示例WhyShouldIPay) 视频\11.实战(xx牛在线) 视频\12.实战(x资宝_xx加固) 视频\13.实战(xx社区_xx加固) 视频\14.实战(xx小说_xx加固) 视频\15.实战(x对面) 视频\16.Frida自吐算法开发(消息摘要算法) 视频\17.Frida自吐算法开发(MAC算法) 视频\18.Frida自吐算法开发(对称加密算法) 视频\19.Frida自吐算法开发(代码纠错技巧) 视频\20.Frida自吐算法开发(RSA_Base64) 视频\21.Frida自吐算法开发(RSA_Hex) 视频\22.Frida自吐算法开发(快速定位) 视频\23.so复习 视频\24.so层Hook(导出函数hook) 视频\25.so层Hook(函数参数返回值修改) 视频\26.so层Hook(枚举导入导出表) 视频\27.so层Hook(动态获取so地址) 视频\28.so层Hook(未导出函数hook) 视频\29.so层Hook(获取指针参数的返回值) 视频\30.so层Hook(修改内存数据) 视频\31.so层Hook(jni函数hook) 视频\32.so层Hook(调用jni函数) 视频\33.so实战(x报观察分析) 视频\34.so实战(x报观察hook) 视频\35.实战(x博TV分析) 视频\36.实战(x博TVhook) 视频\37.实战(xx99游戏盒 视频\38.实战(xx99游戏盒 视频\39.实战(xx99sign分析) 视频\40.实战(xx99signhook) 视频\41.Java层Hook(内部类hook) 视频\42.Java层Hook(map集合遍历与修改) 视频\43.spawn与延迟hook 视频\44.Frida同时Hook多个设备 视频\45.Python的安装与虚拟环境配置 视频\46.Frida安装与离线包打包 视频\47.vscode安装与配置frida代码提示 视频\48.Hook动态加载的dex 视频\49.Java层主动调用 视频\50.用frida注入dex文件 视频\51.frida使用非标准端口 视频\52.Hook_dlopen 视频\53.jni函数Hook(计算地址方式) 视频\54.jni函数Hook(libart.so) 视频\55.so层堆栈_快速定位函数注册在哪个so 视频\56.so层函数主动调用 视频\57.frida写文件 视频\58.fridaInlineHook与寄存器Hook 视频\59.rpc远程调用 视频\60.某手sig算法 课件\02.环境配置.zip
 课件\03.Java层Hook(普通方法).zip
 课件\04.Java层Hook(构造方法).zip
 课件\05.Java层Hook(重载方法).zip
 课件\06.Java层Hook(构造对象参数).zip
 课件\07.Java层Hook(修改对象属性).zip
 课件\08.实战(xx合伙人).zip
 课件\09.实战(CTF的示例rps).zip
 课件\10.实战(CTF的示例WhyShouldIPay).zip
 课件\11.实战(xx牛在线).zip
 课件\12.实战(x资宝_xx加固).zip
 课件\13.实战(xx社区_xx加固).zip
 课件\14.实战(xx小说_xx加固).zip
 课件\15.实战(x对面).zip
 课件\16.Frida自吐算法开发(消息摘要算法).zip
 课件\17.Frida自吐算法开发(MAC算法).zip
 课件\18.Frida自吐算法开发(对称加密算法).zip
 课件\23.so复习.zip
 课件\24.so层Hook(导出函数hook).zip
 课件\25.so层Hook(函数参数返回值修改).zip
 课件\26.so层Hook(枚举导入导出表).zip
 课件\27.so层Hook(动态获取so地址).zip
 课件\28.so层Hook(未导出函数hook).zip
 课件\29.so层Hook(获取指针参数的返回值).zip
 课件\30.so层Hook(修改内存数据).zip
 课件\31.so层Hook(JNIEnv函数hook).zip
 课件\32.so层Hook(调用JNIEnv函数).zip
 课件\33.so实战(x报观察分析).zip
 课件\34.so实战(x报观察hook).zip
 课件\35.实战(x博TV分析).zip
 课件\36.实战(x博TVhook).zip
 课件\37.实战(xx99游戏盒 课件\38.实战(xx99游戏盒 课件\40.实战(xx99signhook).zip
 课件\41.Java层Hook(内部类hook).zip
 课件\42.Java层Hook(map集合遍历与修改).zip
 课件\43.spawn与延迟hook.zip
 课件\44.Frida同时Hook多个设备.zip
 课件\45.Python的安装与虚拟环境配置.zip
 课件\46.Frida安装与离线包打包.zip
 课件\47.vscode安装与配置frida代码提示.zip
 课件\48.Hook动态加载的dex.zip
 课件\49.Java层主动调用.zip
 课件\50.用frida注入dex文件.zip
 课件\51.frida使用非标准端口.zip
 课件\52.Hook_dlopen.zip
 课件\53.jni函数Hook(计算地址方式).zip
 课件\54.jni函数Hook(libart.so).zip
 课件\55.so层堆栈_快速定位函数注册在哪个so.zip
 课件\56.so层函数主动调用.zip
 课件\57.frida读写文件.zip
 课件\58.fridaInlineHook与寄存器Hook.zip
 课件\59.rpc远程调用.zip
 课件\60.某手sig算法.zip
 课件\fridaHookDemoPlus.apk 课件\fridaHookDemo.apk