首页
社区
课程
招聘
[原创]个人整理的安卓逆向与安全分析思维导图(持续完善中)
发表于: 2025-8-12 21:03 8043

[原创]个人整理的安卓逆向与安全分析思维导图(持续完善中)

2025-8-12 21:03
8043

使用

结构

Xposed Framework(原生)

EdXposed(兼容 Android 8.0+)

LSPosed / LSPosed-Zygisk(模块化/轻量级)

TaiChi(太极,无Root兼容方案)

VirtualXposed(免Root沙盒环境)

Dreamland(类似Xposed的Zygisk实现)

SandHook(支持双模式Hook)

Whale(部分场景混合使用)

Frida(通过JavaScript同时Hook Java/Native)

进阶分析

Stalker(动态跟踪)

加密 / 协议分析

对抗检测与安全绕过

Frida 检测点与反检测

绕过方法

加固壳对抗

源码与底层原理

Frida 架构

Android ART Hook 原理

Native Hook 原理

源码改造方向

NDK开发和JNI原理

构建与编译工具

开发中的常用框架

SELinux Policy编写与调试

常用策略规则类型(allow / deny / auditallow)

sepolicy工具链使用

audit2allow分析与策略修正

Process.start()方法调用

关键步骤:

a. 检查进程是否已存在(通过 ProcessRecord

b. 创建新进程的 UID/GID

c. 准备 zygote 参数(包含 main class、资源路径等)

APK路径获取:从 PackageManagerService读取 /data/app/包名/base.apk

IPC:通过 LocalSocket连接 zygote

ZygoteInit.runSelectLoop()监听 socket

关键处理:

a. 解析参数(ZygoteConnection.Arguments)(含APK路径)

b. fork()新进程(继承预加载的系统类,APP的APK尚未加载)

c. 关闭不必要的文件描述符

d. 设置进程名、UID/GID 等属性

优化机制:预加载5000+系统类(不包含APP自身的类)

入口:ActivityThread.main()

关键流程:

a. 初始化主线程 Looper

b. 创建 ActivityThread实例

c. 调用 attach()通过 Binder 注册到 AMS

d. 加载APK核心文件:

classes.dex:通过 PathClassLoader加载(路径:/data/app/包名/base.apk

resources.arsc:由 AssetManager.addAssetPath()绑定APK路径

lib.soSystem.loadLibrary()触发解压到 /data/app/包名/lib/

e. 启动 Application(此时已完成Manifest解析和资源加载)

f. 创建首个 ActivityContext

常用语言

文件结构

DEX
Android字节码文件,Java .class 转换而来,供Dalvik虚拟机运行。
结构:

Header(文件头)

String IDs(字符串索引)

Type IDs(类型索引)

Proto IDs(方法原型索引)

Field IDs(字段索引)

Method IDs(方法索引)

Class Defs(类定义)

Data(类数据、方法代码、调试信息、注解)

OAT
ART虚拟机对DEX预编译的优化文件,提升启动速度和执行效率。
结构:

ODEX
Dalvik虚拟机时代的DEX优化版本。
结构:

ELF (Executable and Linkable Format)
Linux/Android的标准可执行文件格式。
常见子文件:

APK (Android Package)

JAR (Java Archive)

IDA Pro 插件

面具模块

ksu模块

apatch模块

xp模块

ebpf模块

ebpf基础原理

eBPF 的架构和工作机制

BPF 虚拟机和指令集

eBPF 验证器

eBPF 编程与调试

C 语言编写 eBPF 程序

bpf() 系统调用接口

理解如何在用户态加载、附加和管理 eBPF 程序。

熟悉 bpftrace、bpftool、perf、bcc 工具集,调试 eBPF 程序。

eBPF 的集成

代码混淆技术

动态保护技术

完整性保护技术

跨语言混淆技术

加壳方式

Android系统安全架构

Android 版本安全演进

Android 8:Project Treble、FBE、强化 SELinux。

Android 9:Metadata Encryption、禁止空闲应用访问传感器。

Android 10:Scoped Storage、TLS 1.3 默认开启。

Android 11:数据访问审计 API。

Android 12+:隐私仪表盘、麦克风/摄像头全局开关。

Android 13/14:Play Integrity API 替代 SafetyNet,增加虚拟化安全。

附件↑↑↑

大家好呀~ 这是我整理的安卓逆向学习笔记和思维导图(头发都掉了不少)。作为一个还在成长中的安卓安全爱好者,这份资料肯定有不少:

​​知识盲区​​(毕竟我也不是全知全能的大佬)
​​过时内容​​(安卓技术更新比女朋友变脸还快)
​​个人偏见​​(可能有些分类方式比较"任性")
不过想着独乐乐不如众乐乐,还是决定分享出来。希望能给需要的人一些参考,也欢迎各位大神一起来查漏补缺

持续更新中!

感谢各位前辈的宝贵建议

  • 二进制漏洞
  • VMProtect 原理与还原
  • [2024 春季班]《安卓高级研修班 (网课)》月薪三万计划
  • [2024 夏季班]《安卓高级研修班 (网课)》月薪两万计划
  • [2024 夏季班]《安卓高级研修班》月薪 1W 计划
  • IDA 特训班
  • Unicorn 相关课程
  • eBPF 专项
  • 系统定制开发
  • LLVM 混淆与反混淆
  • 内核攻防技术
  • 安卓 Android 全套视频教程 + 源码
  • 全套
  • 安卓逆向课程
  • B站逆向相关视频
  • SRC漏洞挖掘三期课程
  • eBPF基础课程
  • eBPF实战 + 隐私探针 + 系统定制
  • B站逆向/安全课程
  • ROM定制
  • 设备指纹对抗
  • LSPosed 框架源码分析
  • eBPF 深入课程
  • Frida高级教程
  • 高级逆向课程
  • 沙箱
  • Hunter
  • eBPF 安全应用
  • Android/Linux 二进制漏洞挖掘
  • 安卓协议逆向
  • 当地App
    • 北京交警
    • 京医通
    • 北京一卡通
  • 海外App
    • LINE
    • WhatsApp
  • 大厂App
    • 金融类
      • 支付宝
      • 云闪付
      • 微信账单通知
    • 非金融类
      • 抖音
      • 小红书
  • 北京交警
  • 京医通
  • 北京一卡通
  • LINE
  • WhatsApp
  • 金融类
    • 支付宝
    • 云闪付
    • 微信账单通知
  • 非金融类
    • 抖音
    • 小红书
  • 支付宝
  • 云闪付
  • 微信账单通知
  • 抖音
  • 小红书
  • 看雪社区
  • BUF
  • 漏洞平台
  • Android Studio
  • IDEA
  • Pycharm
  • ADB
  • IDA/Ghidra
  • Jadx
  • apktool
  • charles
  • wireshark
  • requable
  • r0capture
  • ecapture
  • mitmproxy
  • HttpCanary
  • Proxydroid
  • Postern
  • 使用

    • unidbg hook
      • hookZz xHook Unicorn Hook
    • 打印调用栈
    • Console Debugger
    • 监控内存读写
  • 结构

    • 模拟器核心
    • JNI 环境模拟
    • 系统调用模拟
    • 内存管理
    • so 文件加载器
    • 调试与日志
    • 辅助工具和接口
  • unidbg hook
    • hookZz xHook Unicorn Hook
  • 打印调用栈
  • Console Debugger
  • 监控内存读写
  • hookZz xHook Unicorn Hook
  • 模拟器核心
  • JNI 环境模拟
  • 系统调用模拟
  • 内存管理
  • so 文件加载器
  • 调试与日志
  • 辅助工具和接口
  • AFL Radamsa Honggfuzz
  • Peach Protobuf Fuzzer
  • LibFuzzer AFL++ QEMU-Fuzz
  • SymDroid(Android专用)Triton+AFL Angr(通用二进制分析)
  • TaintScope(硬件级跟踪)GREBE(Android数据流分析)
  • Xposed Framework(原生)

  • EdXposed(兼容 Android 8.0+)

  • LSPosed / LSPosed-Zygisk(模块化/轻量级)

    • LSPatch(基于LSPosed的免Root补丁框架)
  • TaiChi(太极,无Root兼容方案)

  • VirtualXposed(免Root沙盒环境)

  • Dreamland(类似Xposed的Zygisk实现)

  • LSPatch(基于LSPosed的免Root补丁框架)
  • Dexposed(阿里Dalvik时代方案)
  • Pine(ART下直接Hook Java方法)
  • Legend(结合反射与JNI的混合Hook)
  • YAHFA(ART下Dex方法替换)
  • Epic(VirtualApp使用的动态Dex Hook)
  • Substrate(Cydia Substrate,MSHook)
  • Whale(ART优化版Inline Hook)
  • FastHook(低开销Inline Hook)
  • HookZz(ARM/ARM64多平台支持)
  • AndHook(早期ART Hook实验项目)
  • BHook(抖音高性能Inline Hook)
  • ShadowHook(字节跳动ART优化方案)
  • PLT Hook(ELF外部函数劫持)
  • GotHook(优化版PLT Hook)
  • ByteHook(字节跳动开源,多线程安全)
  • Dobby(替代Substrate的PLT Hook)
    • dobby.h dobby.a
  • dobby.h dobby.a
  • ADBI/DDI(Android Dynamic Binary Instrumentation)
  • Syscall Hook(直接劫持Linux内核调用)
  • LKM Hook:内核模块直接替换系统调用(sys_call_table patch)
  • Kprobe / Jprobe:动态插桩内核函数
  • Binder transaction监控:跟踪跨进程通信数据
  • SandHook(支持双模式Hook)

  • Whale(部分场景混合使用)

  • Frida(通过JavaScript同时Hook Java/Native)

    • 基础必修
      • 脚本编写
        • spawn / attach 模式:差异与应用场景
        • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
      • 环境与注入方式
        • frida-server(root 设备)
        • frida-gadget(无 root 内置到 APK)
    • 进阶分析

      • Stalker(动态跟踪)

        • 基础用法(跟踪函数调用 / 指令)
        • 限制跟踪范围、过滤函数
        • 高级内存操作
        • Pattern scan(内存模式搜索)
        • 导出整个模块内存并离线分析
        • 在运行时 patch 机器码(inline hook)
      • 加密 / 协议分析

        • SSL Pinning 绕过:
        • Java Hook okhttp3
        • Native Hook SSL_write / SSL_read
      • 对抗检测与安全绕过

        • Frida 检测点与反检测

          • 检测端口(27042 等)
          • 检测线程名(gum-js-loop
          • 检测内存特征(frida-gadget 字符串)
        • 绕过方法

          • 修改 frida-server 端口
          • 改线程名 / 删除 gadget 特征字符串
          • Zygisk + LSPosed 注入
          • Native inline hook 注入
          • ptrace 层面反检测
        • 加固壳对抗

          • OLLVM / VMP 特征识别
          • 内存 dump + 修复
          • Inline hook 还原真实 API 调用
          • Anti-debug 绕过(ptracesyscall hook
    • 源码与底层原理

      • Frida 架构

        • frida-core(通信、脚本管理)
        • frida-gum(Hook 引擎)
        • gum-js-loop(JS 运行环境)
      • Android ART Hook 原理

        • ArtMethod Hook(替换 entrypoint)
        • Inline Hook art_quick_invoke_stub
        • JNI Hook 与函数表篡改
      • Native Hook 原理

        • 动态链接表(PLT / GOT)篡改
        • Inline Hook(修改指令)
        • 断点 / 调试寄存器 Hook
      • 源码改造方向

        • 定制 gadget(去特征、增加功能)
  • 基础必修
    • 脚本编写
      • spawn / attach 模式:差异与应用场景
      • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
    • 环境与注入方式
      • frida-server(root 设备)
      • frida-gadget(无 root 内置到 APK)
  • 进阶分析

    • Stalker(动态跟踪)

      • 基础用法(跟踪函数调用 / 指令)
      • 限制跟踪范围、过滤函数
      • 高级内存操作
      • Pattern scan(内存模式搜索)
      • 导出整个模块内存并离线分析
      • 在运行时 patch 机器码(inline hook)
    • 加密 / 协议分析

      • SSL Pinning 绕过:
      • Java Hook okhttp3
      • Native Hook SSL_write / SSL_read
    • 对抗检测与安全绕过

      • Frida 检测点与反检测

        • 检测端口(27042 等)
        • 检测线程名(gum-js-loop
        • 检测内存特征(frida-gadget 字符串)
      • 绕过方法

        • 修改 frida-server 端口
        • 改线程名 / 删除 gadget 特征字符串
        • Zygisk + LSPosed 注入
        • Native inline hook 注入
        • ptrace 层面反检测
      • 加固壳对抗

        • OLLVM / VMP 特征识别
        • 内存 dump + 修复
        • Inline hook 还原真实 API 调用
        • Anti-debug 绕过(ptracesyscall hook
  • 源码与底层原理

    • Frida 架构

      • frida-core(通信、脚本管理)
      • frida-gum(Hook 引擎)
      • gum-js-loop(JS 运行环境)
    • Android ART Hook 原理

      • ArtMethod Hook(替换 entrypoint)
      • Inline Hook art_quick_invoke_stub
      • JNI Hook 与函数表篡改
    • Native Hook 原理

      • 动态链接表(PLT / GOT)篡改
      • Inline Hook(修改指令)
      • 断点 / 调试寄存器 Hook
    • 源码改造方向

      • 定制 gadget(去特征、增加功能)
  • 脚本编写
    • spawn / attach 模式:差异与应用场景
    • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
  • 环境与注入方式
    • frida-server(root 设备)
    • frida-gadget(无 root 内置到 APK)
  • spawn / attach 模式:差异与应用场景
  • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
  • frida-server(root 设备)
  • frida-gadget(无 root 内置到 APK)
  • Stalker(动态跟踪)

    • 基础用法(跟踪函数调用 / 指令)
    • 限制跟踪范围、过滤函数
    • 高级内存操作
    • Pattern scan(内存模式搜索)
    • 导出整个模块内存并离线分析
    • 在运行时 patch 机器码(inline hook)
  • 加密 / 协议分析

    • SSL Pinning 绕过:
    • Java Hook okhttp3
    • Native Hook SSL_write / SSL_read
  • 对抗检测与安全绕过

    • Frida 检测点与反检测

      • 检测端口(27042 等)
      • 检测线程名(gum-js-loop
      • 检测内存特征(frida-gadget 字符串)
    • 绕过方法

      • 修改 frida-server 端口
      • 改线程名 / 删除 gadget 特征字符串
      • Zygisk + LSPosed 注入
      • Native inline hook 注入
      • ptrace 层面反检测
    • 加固壳对抗

      • OLLVM / VMP 特征识别
      • 内存 dump + 修复
      • Inline hook 还原真实 API 调用
      • Anti-debug 绕过(ptracesyscall hook
  • 基础用法(跟踪函数调用 / 指令)
  • 限制跟踪范围、过滤函数
  • 高级内存操作
  • Pattern scan(内存模式搜索)
  • 导出整个模块内存并离线分析
  • 在运行时 patch 机器码(inline hook)
  • SSL Pinning 绕过:
  • Java Hook okhttp3
  • Native Hook SSL_write / SSL_read
  • Frida 检测点与反检测

    • 检测端口(27042 等)
    • 检测线程名(gum-js-loop
    • 检测内存特征(frida-gadget 字符串)
  • 绕过方法

    • 修改 frida-server 端口
    • 改线程名 / 删除 gadget 特征字符串
    • Zygisk + LSPosed 注入
    • Native inline hook 注入
    • ptrace 层面反检测
  • 加固壳对抗

    • OLLVM / VMP 特征识别
    • 内存 dump + 修复
    • Inline hook 还原真实 API 调用
    • Anti-debug 绕过(ptracesyscall hook
  • 检测端口(27042 等)
  • 检测线程名(gum-js-loop
  • 检测内存特征(frida-gadget 字符串)
  • 修改 frida-server 端口
  • 改线程名 / 删除 gadget 特征字符串
  • Zygisk + LSPosed 注入
  • Native inline hook 注入
  • ptrace 层面反检测
  • OLLVM / VMP 特征识别
  • 内存 dump + 修复
  • Inline hook 还原真实 API 调用
  • Anti-debug 绕过(ptracesyscall hook
  • Frida 架构

    • frida-core(通信、脚本管理)
    • frida-gum(Hook 引擎)
    • gum-js-loop(JS 运行环境)
  • Android ART Hook 原理

    • ArtMethod Hook(替换 entrypoint)
    • Inline Hook art_quick_invoke_stub
    • JNI Hook 与函数表篡改
  • Native Hook 原理

    • 动态链接表(PLT / GOT)篡改
    • Inline Hook(修改指令)
    • 断点 / 调试寄存器 Hook
  • 源码改造方向

    • 定制 gadget(去特征、增加功能)
  • frida-core(通信、脚本管理)
  • frida-gum(Hook 引擎)
  • gum-js-loop(JS 运行环境)
  • ArtMethod Hook(替换 entrypoint)
  • Inline Hook art_quick_invoke_stub
  • JNI Hook 与函数表篡改
  • 动态链接表(PLT / GOT)篡改
  • Inline Hook(修改指令)
  • 断点 / 调试寄存器 Hook
  • 定制 gadget(去特征、增加功能)
  • ART Hook(直接修改ART内部结构)
  • ArtHook(实验性ART虚拟机修改)
  • Kraken(腾讯ART监控工具)
  • Dalvik Hook(旧版Android)
  • eBPF、SystemTap、uprobe、kprobe
  • 内核/用户态函数级跟踪、性能分析、安全监控
  • QEMU、PANDA、rr、Bochs
  • 全系统跟踪、恶意代码分析、逆向工程
  • strace、ltrace、gdb、dtrace
  • 系统调用跟踪、库函数调试、进程行为分析
  • perf、Intel PT、CoreSight
  • CPU 指令级分析、性能瓶颈定位
  • ftrace、eBPF、SystemTap
  • 内核函数跟踪、调度分析、系统调用监控
  • strace、ltrace、uprobe
  • 应用程序调试、API 调用监控
  • QEMU、rr、PANDA
  • 全系统仿真、恶意软件分析、逆向工程
  • Magisk
    • 原理
    • 模块开发
    • 开源项目
    • 魔改
  • KernelSU
    • 原理
    • 模块开发
    • 开源项目
    • 魔改编译
  • Apatch
    • 原理
    • 模块开发
    • 开源项目
    • 魔改
  • skroot/Sukisu Ultra
  • 常见Android权限提升漏洞
  • 沙盒逃逸原理和示例
  • SELinux策略绕过
  • 原理
  • 模块开发
  • 开源项目
  • 魔改
  • 原理
  • 模块开发
  • 开源项目
  • 魔改编译
  • 原理
  • 模块开发
  • 开源项目
  • 魔改
  • NDK开发和JNI原理

  • 构建与编译工具

    • CMake
    • ndk-build
    • Gradle
    • Maven
  • 开发中的常用框架

    • UI框架
    • 网络框架
    • 数据库框
    • 安全和加固框架
    • 日志与调试工具
  • CMake
  • ndk-build
  • Gradle
  • Maven
  • UI框架
  • 网络框架
  • 数据库框
  • 安全和加固框架
  • 日志与调试工具
  • 编译器结构
    • 词法分析
    • 语法分析
    • 语义分析
    • 中间代码生成
    • 优化
    • 目标代码生成
  • 常见编译工具(gcc/clang/llvm)
  • 编译原理与Android
    • ART虚拟机的字节码编译流程
    • JIT与AOT编译技术
    • LLVM与Android编译优化
  • 代码优化技巧
    • 循环优化 常量折叠 死代码消除
  • 词法分析
  • 语法分析
  • 语义分析
  • 中间代码生成
  • 优化
  • 目标代码生成
  • ART虚拟机的字节码编译流程
  • JIT与AOT编译技术
  • LLVM与Android编译优化
  • 循环优化 常量折叠 死代码消除
  • 调度、内存管理、进程管理、驱动模型
  • Binder驱动实现,Java层接口,IPC机制
  • 管理系统服务(Activity Manager、Package Manager、Window Manager、Power Manager等)
  • Java接口(Activity Manager、Package Manager、Notification Manager、Content Provider等)
  • 字节码执行、JIT编译、垃圾回收机制 AOT编译 多dex文件支持 Class加载和链接机制 JNI调用
  • SELinux Policy编写与调试

    • 常用策略规则类型(allow / deny / auditallow)

    • sepolicy工具链使用

    • audit2allow分析与策略修正

  • 常用策略规则类型(allow / deny / auditallow)

  • sepolicy工具链使用

  • audit2allow分析与策略修正

  • libc/libm基础库功能和实现 libandroid_runtime与Java层交互 libbinder实现Binder IPC底层细节 JNI调用机制
  • 通过 startActivity()/startService()等调用
  • 关键类:ActivityManagerService(AMS)
  • IPC:Binder 调用到 system_server进程
  • 数据封装:Intent被封装为 ActivityRecord/ServiceRecord
  • APK加载状态:此时仅传递Intent数据,尚未加载APK文件
  • Process.start()方法调用

  • 关键步骤:

    a. 检查进程是否已存在(通过 ProcessRecord

    b. 创建新进程的 UID/GID

    c. 准备 zygote 参数(包含 main class、资源路径等)

  • APK路径获取:从 PackageManagerService读取 /data/app/包名/base.apk

  • IPC:通过 LocalSocket连接 zygote

  • ZygoteInit.runSelectLoop()监听 socket

  • 关键处理:

    a. 解析参数(ZygoteConnection.Arguments)(含APK路径)

    b. fork()新进程(继承预加载的系统类,APP的APK尚未加载)

    c. 关闭不必要的文件描述符

    d. 设置进程名、UID/GID 等属性

  • 优化机制:预加载5000+系统类(不包含APP自身的类)

  • 入口:ActivityThread.main()

  • 关键流程:

    a. 初始化主线程 Looper

    b. 创建 ActivityThread实例

    c. 调用 attach()通过 Binder 注册到 AMS

    d. 加载APK核心文件:

    • classes.dex:通过 PathClassLoader加载(路径:/data/app/包名/base.apk

    • resources.arsc:由 AssetManager.addAssetPath()绑定APK路径

    • lib.soSystem.loadLibrary()触发解压到 /data/app/包名/lib/

      e. 启动 Application(此时已完成Manifest解析和资源加载)

      f. 创建首个 ActivityContext

  • classes.dex:通过 PathClassLoader加载(路径:/data/app/包名/base.apk

  • resources.arsc:由 AssetManager.addAssetPath()绑定APK路径

  • lib.soSystem.loadLibrary()触发解压到 /data/app/包名/lib/

    e. 启动 Application(此时已完成Manifest解析和资源加载)

    f. 创建首个 ActivityContext

  • 架构版本
  • 指令集
  • 模式切换
  • 通用寄存器
  • 特殊寄存器
  • 状态寄存器
  • 常用语言

    • Java
    • Python
    • C/C++
    • Kotlin
    • Smali
  • 文件结构

    • DEX
      Android字节码文件,Java .class 转换而来,供Dalvik虚拟机运行。
      结构:

      • Header(文件头)

      • String IDs(字符串索引)

      • Type IDs(类型索引)

      • Proto IDs(方法原型索引)

      • Field IDs(字段索引)

      • Method IDs(方法索引)

      • Class Defs(类定义)

      • Data(类数据、方法代码、调试信息、注解)

    • OAT
      ART虚拟机对DEX预编译的优化文件,提升启动速度和执行效率。
      结构:

      • Header
      • Dex文件偏移表
      • 内嵌dex文件数据
      • 编译后的机器码和元数据
    • ODEX
      Dalvik虚拟机时代的DEX优化版本。
      结构:

      • Header
      • 优化数据(inline缓存等)
      • 标准DEX内容
    • ELF (Executable and Linkable Format)
      Linux/Android的标准可执行文件格式。
      常见子文件:

      • .so 动态库(shared object)
      • .ko 内核模块(kernel object)
        结构:
        • ELF Header
        • Program Header Table(程序加载信息)
        • Section Header Table(节区信息)
        • 各个节(代码段 .text、数据段 .data、只读数据 .rodata、符号表 .symtab 等)
    • APK (Android Package)

      • META-INF/(签名信息)
      • lib/(native库so文件)
      • res/(资源文件)
      • assets/(应用资产)
      • classes.dex(字节码)
      • AndroidManifest.xml(应用配置)
      • resources.arsc(资源索引)
    • JAR (Java Archive)

      • META-INF/(签名及配置)
      • .class文件(Java字节码)
      • 资源文件(可选)
  • Java
  • Python
  • C/C++
  • Kotlin
  • Smali
  • DEX
    Android字节码文件,Java .class 转换而来,供Dalvik虚拟机运行。
    结构:

    • Header(文件头)

    • String IDs(字符串索引)

    • Type IDs(类型索引)

    • Proto IDs(方法原型索引)

    • Field IDs(字段索引)

    • Method IDs(方法索引)

    • Class Defs(类定义)

    • Data(类数据、方法代码、调试信息、注解)

  • OAT
    ART虚拟机对DEX预编译的优化文件,提升启动速度和执行效率。
    结构:

    • Header
    • Dex文件偏移表
    • 内嵌dex文件数据
    • 编译后的机器码和元数据
  • ODEX
    Dalvik虚拟机时代的DEX优化版本。
    结构:

    • Header
    • 优化数据(inline缓存等)
    • 标准DEX内容
  • ELF (Executable and Linkable Format)
    Linux/Android的标准可执行文件格式。
    常见子文件:

    • .so 动态库(shared object)
    • .ko 内核模块(kernel object)
      结构:
      • ELF Header
      • Program Header Table(程序加载信息)
      • Section Header Table(节区信息)
      • 各个节(代码段 .text、数据段 .data、只读数据 .rodata、符号表 .symtab 等)
  • APK (Android Package)

    • META-INF/(签名信息)
    • lib/(native库so文件)
    • res/(资源文件)
    • assets/(应用资产)
    • classes.dex(字节码)
    • AndroidManifest.xml(应用配置)
    • resources.arsc(资源索引)
  • JAR (Java Archive)

    • META-INF/(签名及配置)
    • .class文件(Java字节码)
    • 资源文件(可选)
  • Header(文件头)

  • String IDs(字符串索引)

  • Type IDs(类型索引)

  • Proto IDs(方法原型索引)

  • Field IDs(字段索引)

  • Method IDs(方法索引)

  • Class Defs(类定义)

  • Data(类数据、方法代码、调试信息、注解)

  • Header
  • Dex文件偏移表
  • 内嵌dex文件数据
  • 编译后的机器码和元数据
  • Header
  • 优化数据(inline缓存等)
  • 标准DEX内容
  • .so 动态库(shared object)
  • .ko 内核模块(kernel object)
    结构:
    • ELF Header
    • Program Header Table(程序加载信息)
    • Section Header Table(节区信息)
    • 各个节(代码段 .text、数据段 .data、只读数据 .rodata、符号表 .symtab 等)
  • ELF Header
  • Program Header Table(程序加载信息)
  • Section Header Table(节区信息)
  • 各个节(代码段 .text、数据段 .data、只读数据 .rodata、符号表 .symtab 等)
  • META-INF/(签名信息)
  • lib/(native库so文件)
  • res/(资源文件)
  • assets/(应用资产)
  • classes.dex(字节码)
  • AndroidManifest.xml(应用配置)
  • resources.arsc(资源索引)
  • META-INF/(签名及配置)
  • .class文件(Java字节码)
  • 资源文件(可选)
  • aosp源码及修改
  • art源码及修改
  • rom开发
  • 自定义zygote
  • 自定义linker
  • 自定义gdb
  • 自定义trace方案
  • 自定义hook方案
  • 自定义模拟执行框架
  • 自定义classloader
  • 自定义ebpf程序
  • ELF加固方案
  • 定制Frida替代框架
  • 魔改frida
  • 魔改lsp
  • 魔改面具
  • 魔改unidbg
  • 魔改frida
  • 魔改frida
  • 魔改frida
  • 魔改编译器
  • IDA Pro 插件

  • 面具模块

  • ksu模块

  • apatch模块

  • xp模块

  • ebpf模块

    • ebpf基础原理

      • eBPF 的架构和工作机制

      • BPF 虚拟机和指令集

      • eBPF 验证器

    • eBPF 编程与调试

      • C 语言编写 eBPF 程序

      • bpf() 系统调用接口

      • 理解如何在用户态加载、附加和管理 eBPF 程序。

      • 熟悉 bpftrace、bpftool、perf、bcc 工具集,调试 eBPF 程序。

    • eBPF 的集成

      • 安卓内核定制和模块加载
  • ebpf基础原理

    • eBPF 的架构和工作机制

    • BPF 虚拟机和指令集

    • eBPF 验证器

  • eBPF 编程与调试

    • C 语言编写 eBPF 程序

    • bpf() 系统调用接口

    • 理解如何在用户态加载、附加和管理 eBPF 程序。

    • 熟悉 bpftrace、bpftool、perf、bcc 工具集,调试 eBPF 程序。

  • eBPF 的集成

    • 安卓内核定制和模块加载
  • eBPF 的架构和工作机制

  • BPF 虚拟机和指令集

  • eBPF 验证器

  • C 语言编写 eBPF 程序

  • bpf() 系统调用接口

  • 理解如何在用户态加载、附加和管理 eBPF 程序。

  • 熟悉 bpftrace、bpftool、perf、bcc 工具集,调试 eBPF 程序。

  • 安卓内核定制和模块加载
  • AES DES
  • RSA
  • MD5 SHA系列 HMAC
  • SM2 (非对称加密) SM3 (哈希算法) SM4 (对称加密)
  • Twofish Serpent ChaCha20 Salsa20 xxtea
  • 多次哈希叠加 哈希配盐 组合 (MD5+SHA1等)
  • 修改AES的S盒
    • 查表AES实现(基于预计算查找表)
    • 动态S盒替换技术
  • 更改RSA的填充模式
  • 自定义轮函数的DES变种
  • 修改MD5的初始向量或循环移位次数
  • 查表AES实现(基于预计算查找表)
  • 动态S盒替换技术
  • 多层加密 (AES加密后再用RSA加密密钥)
  • 分段不同加密 (前一半数据用AES,后一半用DES)
  • 加密后混淆 (加密后插入垃圾数据或进行位操作)
  • SM4、AES的DFA攻击
  • 代码混淆技术

    • 控制流混淆
      • OLLVM(指令替换/控制流扁平化/虚假分支)
      • 基于LLVM PASS的自定义跳转表混淆
      • 动态异常处理块重组(SIGTRAP/SIGSEGV)
    • 数据流混淆
      • 动态常量加密(运行时JNI解密)
      • 虚假数据依赖链插入(LLVM PASS实现)
      • 全局变量存储分裂(XOR分片存储)
    • 指令级混淆
      • 花指令插入(无效指令/冗余计算)
      • 指令动态解密(仅运行时解码真实指令)
      • 基于寄存器的指令重排(破坏线性分析)
  • 动态保护技术

    • 代码动态加载
      • DCL(Dynamic Code Loading)内存加载
      • mmap权限动态切换(PROT_READ/PROT_EXEC交替)
      • ART JIT代码热替换
    • 反调试与反注入
      • ptrace自检测(防止附加调试)
      • 进程树监控(检测fork出的调试进程)
      • 关键内存区域CRC实时校验
    • 环境敏感逻辑
      • 模拟器检测(Build属性/CPU特性)
      • ROOT环境响应混淆(触发逻辑延迟崩溃)
      • 性能计数器反逆向(检测单步执行耗时)
  • 完整性保护技术

    • 静态校验
      • DEX/SO文件CRC校验
      • APK签名多重验证(V1/V2/V3方案)
    • 动态校验
      • 运行时内存哈希校验(关键函数段)
      • 动态加载资源陷阱(伪造崩溃诱导文件)
    • 重打包对抗
      • 防二次签名(校验META-INF时间戳)
      • 动态修复DEX结构(运行时还原篡改条目)
  • 跨语言混淆技术

    • Java-Native混合混淆
      • JNI接口动态代理(随机切换实现)
      • 虚假Native方法映射(误导分析者)
    • WASM层混淆
      • 线性内存访问混淆(插入噪声操作)
      • 导入表函数指针加密
      • Wasm全局变量动态解密
  • 加壳方式

    • 1代
      • 技术特点: 整体加密,运行时解密(如UPX)
      • 对抗方法: 内存Dump、调试器附加到OEP
    • 2代
      • 技术特点: 方法级解密(如Dex分段加密)
      • 对抗方法: 动态Hook类加载器
    • 3代
      • 技术特点: VMP保护关键函数
      • 对抗方法: 模拟执行/符号执行解释器
    • 4代
      • 技术特点: 结合硬件特征(如TEE)
      • 对抗方法: 侧信道攻击或漏洞利用
    • 5代
      • 技术特点: AI驱动的混淆(如神经网络控制流)
      • 对抗方法: 动态污点分析+模型逆向
  • 控制流混淆
    • OLLVM(指令替换/控制流扁平化/虚假分支)
    • 基于LLVM PASS的自定义跳转表混淆
    • 动态异常处理块重组(SIGTRAP/SIGSEGV)
  • 数据流混淆
    • 动态常量加密(运行时JNI解密)
    • 虚假数据依赖链插入(LLVM PASS实现)
    • 全局变量存储分裂(XOR分片存储)
  • 指令级混淆
    • 花指令插入(无效指令/冗余计算)
    • 指令动态解密(仅运行时解码真实指令)
    • 基于寄存器的指令重排(破坏线性分析)
  • OLLVM(指令替换/控制流扁平化/虚假分支)
  • 基于LLVM PASS的自定义跳转表混淆
  • 动态异常处理块重组(SIGTRAP/SIGSEGV)
  • 动态常量加密(运行时JNI解密)
  • 虚假数据依赖链插入(LLVM PASS实现)
  • 全局变量存储分裂(XOR分片存储)
  • 花指令插入(无效指令/冗余计算)
  • 指令动态解密(仅运行时解码真实指令)
  • 基于寄存器的指令重排(破坏线性分析)
  • 代码动态加载
    • DCL(Dynamic Code Loading)内存加载
    • mmap权限动态切换(PROT_READ/PROT_EXEC交替)
    • ART JIT代码热替换
  • 反调试与反注入
    • ptrace自检测(防止附加调试)
    • 进程树监控(检测fork出的调试进程)
    • 关键内存区域CRC实时校验
  • 环境敏感逻辑
    • 模拟器检测(Build属性/CPU特性)
    • ROOT环境响应混淆(触发逻辑延迟崩溃)
    • 性能计数器反逆向(检测单步执行耗时)
  • DCL(Dynamic Code Loading)内存加载
  • mmap权限动态切换(PROT_READ/PROT_EXEC交替)
  • ART JIT代码热替换
  • ptrace自检测(防止附加调试)
  • 进程树监控(检测fork出的调试进程)
  • 关键内存区域CRC实时校验
  • 模拟器检测(Build属性/CPU特性)
  • ROOT环境响应混淆(触发逻辑延迟崩溃)
  • 性能计数器反逆向(检测单步执行耗时)
  • 静态校验
    • DEX/SO文件CRC校验
    • APK签名多重验证(V1/V2/V3方案)
  • 动态校验
    • 运行时内存哈希校验(关键函数段)
    • 动态加载资源陷阱(伪造崩溃诱导文件)
  • 重打包对抗
    • 防二次签名(校验META-INF时间戳)
    • 动态修复DEX结构(运行时还原篡改条目)
  • DEX/SO文件CRC校验
  • APK签名多重验证(V1/V2/V3方案)
  • 运行时内存哈希校验(关键函数段)
  • 动态加载资源陷阱(伪造崩溃诱导文件)
  • 防二次签名(校验META-INF时间戳)
  • 动态修复DEX结构(运行时还原篡改条目)
  • Java-Native混合混淆
    • JNI接口动态代理(随机切换实现)
    • 虚假Native方法映射(误导分析者)
  • WASM层混淆
    • 线性内存访问混淆(插入噪声操作)
    • 导入表函数指针加密
    • Wasm全局变量动态解密
  • JNI接口动态代理(随机切换实现)
  • 虚假Native方法映射(误导分析者)
  • 线性内存访问混淆(插入噪声操作)
  • 导入表函数指针加密
  • Wasm全局变量动态解密
  • 1代
    • 技术特点: 整体加密,运行时解密(如UPX)
    • 对抗方法: 内存Dump、调试器附加到OEP
  • 2代
    • 技术特点: 方法级解密(如Dex分段加密)
    • 对抗方法: 动态Hook类加载器
  • 3代
    • 技术特点: VMP保护关键函数
    • 对抗方法: 模拟执行/符号执行解释器
  • 4代
    • 技术特点: 结合硬件特征(如TEE)
    • 对抗方法: 侧信道攻击或漏洞利用
  • 5代
    • 技术特点: AI驱动的混淆(如神经网络控制流)
    • 对抗方法: 动态污点分析+模型逆向
  • 技术特点: 整体加密,运行时解密(如UPX)
  • 对抗方法: 内存Dump、调试器附加到OEP
  • 技术特点: 方法级解密(如Dex分段加密)
  • 对抗方法: 动态Hook类加载器
  • 技术特点: VMP保护关键函数
  • 对抗方法: 模拟执行/符号执行解释器
  • 技术特点: 结合硬件特征(如TEE)
  • 对抗方法: 侧信道攻击或漏洞利用
  • 技术特点: AI驱动的混淆(如神经网络控制流)
  • 对抗方法: 动态污点分析+模型逆向
  • Android系统安全架构

    • 硬件与内核层安全
      • 硬件安全模块
        • TrustZone:逆向时关键代码(如加密、支付)放在安全世界,难以提取和分析。
        • TEE (Trusted Execution Environment):防止逆向提取密钥和敏感操作逻辑。
        • Secure Boot:防止系统镜像被修改,绕过启动时安全校验。
        • 密钥库系统:硬件级密钥保护,逆向时难以直接获取密钥。
      • Linux 内核安全特性
        • 进程隔离(UID隔离):防止恶意进程调试或篡改其他进程。
        • SELinux:强制访问控制,阻断逆向工具访问受保护资源。
        • seccomp:限制系统调用,阻断调试器等逆向工具常用的接口。
        • Linux内核保护(KASLR、模块签名):增加内核调试和hook的难度。
      • 磁盘加密
        • 加密保护存储数据,逆向时即使取得文件也难以解密分析。

    • 系统服务与中间层安全
      • Binder IPC 权限控制
        • 阻止未授权进程通过IPC访问敏感服务,防止逆向利用IPC提权或窃取数据。
      • 系统服务权限检查
        • Activity Manager、Package Manager等严格检查权限,逆向利用系统服务需突破权限验证。
      • 进程沙箱机制(UID隔离)
        • 防止应用间互相干扰,限制逆向工具注入其他进程。
      • 虚拟化
        • 环境隔离防止逆向调试工具影响系统其他部分。

    • 应用层安全
      • 应用权限模型
      • 应用签名机制
      • 数据存储安全
        • SharedPreferences加密和文件权限限制,阻碍静态数据分析。
        • Android Keystore保护密钥,防止密钥被提取。
      • 应用间通信安全
      • 支付安全

    • 网络与数据传输安全

  • Android 版本安全演进

    • Android 8:Project Treble、FBE、强化 SELinux。

    • Android 9:Metadata Encryption、禁止空闲应用访问传感器。

    • Android 10:Scoped Storage、TLS 1.3 默认开启。

    • Android 11:数据访问审计 API。

    • Android 12+:隐私仪表盘、麦克风/摄像头全局开关。

    • Android 13/14:Play Integrity API 替代 SafetyNet,增加虚拟化安全。

  • 硬件与内核层安全
    • 硬件安全模块
      • TrustZone:逆向时关键代码(如加密、支付)放在安全世界,难以提取和分析。
      • TEE (Trusted Execution Environment):防止逆向提取密钥和敏感操作逻辑。
      • Secure Boot:防止系统镜像被修改,绕过启动时安全校验。
      • 密钥库系统:硬件级密钥保护,逆向时难以直接获取密钥。
    • Linux 内核安全特性
      • 进程隔离(UID隔离):防止恶意进程调试或篡改其他进程。
      • SELinux:强制访问控制,阻断逆向工具访问受保护资源。
      • seccomp:限制系统调用,阻断调试器等逆向工具常用的接口。
      • Linux内核保护(KASLR、模块签名):增加内核调试和hook的难度。
    • 磁盘加密
      • 加密保护存储数据,逆向时即使取得文件也难以解密分析。
  • 硬件安全模块
    • TrustZone:逆向时关键代码(如加密、支付)放在安全世界,难以提取和分析。
    • TEE (Trusted Execution Environment):防止逆向提取密钥和敏感操作逻辑。
    • Secure Boot:防止系统镜像被修改,绕过启动时安全校验。
    • 密钥库系统:硬件级密钥保护,逆向时难以直接获取密钥。
  • Linux 内核安全特性
    • 进程隔离(UID隔离):防止恶意进程调试或篡改其他进程。
    • SELinux:强制访问控制,阻断逆向工具访问受保护资源。
    • seccomp:限制系统调用,阻断调试器等逆向工具常用的接口。
    • Linux内核保护(KASLR、模块签名):增加内核调试和hook的难度。
  • 磁盘加密
    • 加密保护存储数据,逆向时即使取得文件也难以解密分析。
  • TrustZone:逆向时关键代码(如加密、支付)放在安全世界,难以提取和分析。
  • TEE (Trusted Execution Environment):防止逆向提取密钥和敏感操作逻辑。
  • Secure Boot:防止系统镜像被修改,绕过启动时安全校验。
  • 密钥库系统:硬件级密钥保护,逆向时难以直接获取密钥。
  • 进程隔离(UID隔离):防止恶意进程调试或篡改其他进程。
  • SELinux:强制访问控制,阻断逆向工具访问受保护资源。
  • seccomp:限制系统调用,阻断调试器等逆向工具常用的接口。
  • Linux内核保护(KASLR、模块签名):增加内核调试和hook的难度。
  • 加密保护存储数据,逆向时即使取得文件也难以解密分析。
  • 系统服务与中间层安全
    • Binder IPC 权限控制
      • 阻止未授权进程通过IPC访问敏感服务,防止逆向利用IPC提权或窃取数据。
    • 系统服务权限检查
      • Activity Manager、Package Manager等严格检查权限,逆向利用系统服务需突破权限验证。
    • 进程沙箱机制(UID隔离)
      • 防止应用间互相干扰,限制逆向工具注入其他进程。
    • 虚拟化
      • 环境隔离防止逆向调试工具影响系统其他部分。
  • Binder IPC 权限控制
    • 阻止未授权进程通过IPC访问敏感服务,防止逆向利用IPC提权或窃取数据。
  • 系统服务权限检查
    • Activity Manager、Package Manager等严格检查权限,逆向利用系统服务需突破权限验证。
  • 进程沙箱机制(UID隔离)
    • 防止应用间互相干扰,限制逆向工具注入其他进程。
  • 虚拟化
    • 环境隔离防止逆向调试工具影响系统其他部分。
  • 阻止未授权进程通过IPC访问敏感服务,防止逆向利用IPC提权或窃取数据。
  • Activity Manager、Package Manager等严格检查权限,逆向利用系统服务需突破权限验证。
  • 防止应用间互相干扰,限制逆向工具注入其他进程。
  • 环境隔离防止逆向调试工具影响系统其他部分。
  • 应用层安全
    • 应用权限模型
    • 应用签名机制
    • 数据存储安全
      • SharedPreferences加密和文件权限限制,阻碍静态数据分析。
      • Android Keystore保护密钥,防止密钥被提取。
    • 应用间通信安全
    • 支付安全
  • 应用权限模型
  • 应用签名机制
  • 数据存储安全
    • SharedPreferences加密和文件权限限制,阻碍静态数据分析。
    • Android Keystore保护密钥,防止密钥被提取。
  • 应用间通信安全
  • 支付安全
  • SharedPreferences加密和文件权限限制,阻碍静态数据分析。
  • Android Keystore保护密钥,防止密钥被提取。
  • 网络与数据传输安全
  • Android 8:Project Treble、FBE、强化 SELinux。

  • Android 9:Metadata Encryption、禁止空闲应用访问传感器。

  • Android 10:Scoped Storage、TLS 1.3 默认开启。

  • Android 11:数据访问审计 API。

  • Android 12+:隐私仪表盘、麦克风/摄像头全局开关。

  • Android 13/14:Play Integrity API 替代 SafetyNet,增加虚拟化安全。

  • Dart
  • 工具
    • reFlutter
    • Flutter逆向助手
    • blutter
  • WASI/Wasm逆向(Flutter 3.0+模块分析)
  • reFlutter
  • Flutter逆向助手
  • blutter
  • index.android.bundle
  • herms字节码
  • hbctool
  • Mono
    • 反编译DLL(dnSpy/ILSpy)
    • 分析Assembly-CSharp.dll
  • IL2CPP
    • 使用Il2CppDumper提取global-metadata.datGameAssembly.dll(或libil2cpp.so)中的元数据
  • 反编译DLL(dnSpy/ILSpy)
  • 分析Assembly-CSharp.dll
  • 使用Il2CppDumper提取global-metadata.datGameAssembly.dll(或libil2cpp.so)中的元数据
  • Cocos2d-js
    • 解密jsc文件,处理libcocos2djs
  • Cocos2d-lua
    • 反编译luac,处理libcoco2dlua
    • 挂钩luaL_loadbuffer
  • 解密jsc文件,处理libcocos2djs
  • 反编译luac,处理libcoco2dlua
  • 挂钩luaL_loadbuffer
  • AssetStudio
  • UABEA
  • 批量导出资源
  • 360加固保
  • 腾讯乐固
  • 梆梆加固
  • 阿里聚安全
  • 爱加密
  • 娜迦安全
  • 顶象技术
  • 数盟加固
  • 通付盾
  • DexProtect
  • 瑞数信息
  • 网易易盾
  • 百度加固
  • 华为安全加固
  • OPPO安全加固
  • Vivo安全加固
  • Arxan
  • DexGuard
  • Promon SHIELD
  • Guardsquare
  • MetaCrypt
  • Licel
  • Pradeo
  • ProGuard
  • O-LLVM
  • DexProtector
  • Enigma
  • HikariObfuscator
  • Armariris
  • UPX
  • Themis(华为)
  • SEAndroid
  • FridaBypass
  • Custom VMP
  • SGX加固
  • WASM加固
  • 腾讯ACE(游戏反作弊)
  • 网易Protect
  • QNX加固(车机系统)
  • AutoSAR安全模块(汽车电子)
  • Applist Detector APT检测 Holmes Narcissus Hunter Luna MemoryDetector Momo Native Test Mean Minotaur Ruru 橘子环境检测内测 密钥认证 校验者
  • 二进制漏洞
  • VMProtect 原理与还原
  • [2024 春季班]《安卓高级研修班 (网课)》月薪三万计划
  • [2024 夏季班]《安卓高级研修班 (网课)》月薪两万计划
  • [2024 夏季班]《安卓高级研修班》月薪 1W 计划
  • IDA 特训班
  • Unicorn 相关课程
  • eBPF 专项
  • 系统定制开发
  • LLVM 混淆与反混淆
  • 内核攻防技术
  • 安卓 Android 全套视频教程 + 源码
  • 全套
  • 安卓逆向课程
  • B站逆向相关视频
  • SRC漏洞挖掘三期课程
  • eBPF基础课程
  • eBPF实战 + 隐私探针 + 系统定制
  • B站逆向/安全课程
  • ROM定制
  • 设备指纹对抗
  • LSPosed 框架源码分析
  • eBPF 深入课程
  • Frida高级教程
  • 高级逆向课程
  • 沙箱
  • Hunter
  • eBPF 安全应用
  • Android/Linux 二进制漏洞挖掘
  • 安卓协议逆向
  • 当地App
    • 北京交警
    • 京医通
    • 北京一卡通
  • 北京交警
  • 京医通
  • 北京一卡通
  • 海外App
    • LINE
    • WhatsApp
  • LINE
  • WhatsApp
  • 大厂App
    • 金融类
      • 支付宝
      • 云闪付
      • 微信账单通知
    • 非金融类
      • 抖音
      • 小红书
  • 金融类
    • 支付宝
    • 云闪付
    • 微信账单通知
  • 支付宝
  • 云闪付
  • 微信账单通知
  • 非金融类
    • 抖音
    • 小红书
  • 抖音
  • 小红书
  • 看雪社区
  • BUF
  • 漏洞平台
  • Android Studio
  • IDEA
  • Pycharm
  • ADB
  • IDA/Ghidra
  • Jadx
  • apktool
  • charles
  • wireshark
  • requable
  • r0capture
  • ecapture
  • mitmproxy
  • HttpCanary
  • Proxydroid
  • Postern
  • 使用

    • unidbg hook
      • hookZz xHook Unicorn Hook
    • 打印调用栈
    • Console Debugger
    • 监控内存读写
  • unidbg hook
    • hookZz xHook Unicorn Hook
  • hookZz xHook Unicorn Hook
  • 打印调用栈
  • Console Debugger
  • 监控内存读写
  • 结构

    • 模拟器核心
    • JNI 环境模拟
    • 系统调用模拟
    • 内存管理
    • so 文件加载器
    • 调试与日志
    • 辅助工具和接口
  • 模拟器核心
  • JNI 环境模拟
  • 系统调用模拟
  • 内存管理
  • so 文件加载器
  • 调试与日志
  • 辅助工具和接口
  • AFL Radamsa Honggfuzz
  • Peach Protobuf Fuzzer
  • LibFuzzer AFL++ QEMU-Fuzz
  • SymDroid(Android专用)Triton+AFL Angr(通用二进制分析)
  • TaintScope(硬件级跟踪)GREBE(Android数据流分析)
  • Xposed Framework(原生)

  • EdXposed(兼容 Android 8.0+)

  • LSPosed / LSPosed-Zygisk(模块化/轻量级)

    • LSPatch(基于LSPosed的免Root补丁框架)
  • LSPatch(基于LSPosed的免Root补丁框架)
  • TaiChi(太极,无Root兼容方案)

  • VirtualXposed(免Root沙盒环境)

  • Dreamland(类似Xposed的Zygisk实现)

  • Dexposed(阿里Dalvik时代方案)
  • Pine(ART下直接Hook Java方法)
  • Legend(结合反射与JNI的混合Hook)
  • YAHFA(ART下Dex方法替换)
  • Epic(VirtualApp使用的动态Dex Hook)
  • Substrate(Cydia Substrate,MSHook)
  • Whale(ART优化版Inline Hook)
  • FastHook(低开销Inline Hook)
  • HookZz(ARM/ARM64多平台支持)
  • AndHook(早期ART Hook实验项目)
  • BHook(抖音高性能Inline Hook)
  • ShadowHook(字节跳动ART优化方案)
  • PLT Hook(ELF外部函数劫持)
  • GotHook(优化版PLT Hook)
  • ByteHook(字节跳动开源,多线程安全)
  • Dobby(替代Substrate的PLT Hook)
    • dobby.h dobby.a
  • dobby.h dobby.a
  • ADBI/DDI(Android Dynamic Binary Instrumentation)
  • Syscall Hook(直接劫持Linux内核调用)
  • LKM Hook:内核模块直接替换系统调用(sys_call_table patch)
  • Kprobe / Jprobe:动态插桩内核函数
  • Binder transaction监控:跟踪跨进程通信数据
  • SandHook(支持双模式Hook)

  • Whale(部分场景混合使用)

  • Frida(通过JavaScript同时Hook Java/Native)

    • 基础必修
      • 脚本编写
        • spawn / attach 模式:差异与应用场景
        • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
      • 环境与注入方式
        • frida-server(root 设备)
        • frida-gadget(无 root 内置到 APK)
    • 进阶分析

      • Stalker(动态跟踪)

        • 基础用法(跟踪函数调用 / 指令)
        • 限制跟踪范围、过滤函数
        • 高级内存操作
        • Pattern scan(内存模式搜索)
        • 导出整个模块内存并离线分析
        • 在运行时 patch 机器码(inline hook)
      • 加密 / 协议分析

        • SSL Pinning 绕过:
        • Java Hook okhttp3
        • Native Hook SSL_write / SSL_read
      • 对抗检测与安全绕过

        • Frida 检测点与反检测

          • 检测端口(27042 等)
          • 检测线程名(gum-js-loop
          • 检测内存特征(frida-gadget 字符串)
        • 绕过方法

          • 修改 frida-server 端口
          • 改线程名 / 删除 gadget 特征字符串
          • Zygisk + LSPosed 注入
          • Native inline hook 注入
          • ptrace 层面反检测
        • 加固壳对抗

          • OLLVM / VMP 特征识别
          • 内存 dump + 修复
          • Inline hook 还原真实 API 调用
          • Anti-debug 绕过(ptracesyscall hook
    • 源码与底层原理

      • Frida 架构

        • frida-core(通信、脚本管理)
        • frida-gum(Hook 引擎)
        • gum-js-loop(JS 运行环境)
      • Android ART Hook 原理

        • ArtMethod Hook(替换 entrypoint)
        • Inline Hook art_quick_invoke_stub
        • JNI Hook 与函数表篡改
      • Native Hook 原理

        • 动态链接表(PLT / GOT)篡改
        • Inline Hook(修改指令)
        • 断点 / 调试寄存器 Hook
      • 源码改造方向

        • 定制 gadget(去特征、增加功能)
  • 基础必修
    • 脚本编写
      • spawn / attach 模式:差异与应用场景
      • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
    • 环境与注入方式
      • frida-server(root 设备)
      • frida-gadget(无 root 内置到 APK)
  • 脚本编写
    • spawn / attach 模式:差异与应用场景
    • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
  • spawn / attach 模式:差异与应用场景
  • 方法重载 修改参数 / 返回值 打印调用栈 内存读写
  • 环境与注入方式
    • frida-server(root 设备)
    • frida-gadget(无 root 内置到 APK)

  • [培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

    上传的附件:
    收藏
    免费 262
    支持
    分享
    最新回复 (206)
    雪    币: 6234
    活跃值: (5597)
    能力值: ( LV5,RANK:76 )
    在线值:
    发帖
    回帖
    粉丝
    2
    这些楼主都做过了吗
    2025-8-12 21:28
    0
    雪    币: 136
    活跃值: (3688)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    3
    66666
    2025-8-12 21:44
    0
    雪    币: 281
    活跃值: (300)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    4
    陈可牛 这些楼主都做过了吗[em_079]
    还没呢
    2025-8-12 21:53
    0
    雪    币: 156
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    5
    游戏逆向都上了,这真有点太广了
    2025-8-12 22:04
    0
    雪    币: 0
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    6
    感谢分享
    2025-8-13 01:05
    0
    雪    币: 8033
    活跃值: (4493)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    7
    有点全面
    2025-8-13 01:27
    0
    雪    币: 2855
    活跃值: (3639)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    8
    过来瞧瞧
    2025-8-13 05:26
    0
    雪    币: 2
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    9
    真的挺全的
    2025-8-13 06:45
    0
    雪    币: 0
    活跃值: (2346)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    10
    真的挺全的
    2025-8-13 09:34
    0
    雪    币: 380
    活跃值: (3900)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    11
    太全了
    2025-8-13 09:44
    0
    雪    币: 4005
    活跃值: (3691)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    12
    看完。我都麻了。
    2025-8-13 11:12
    0
    雪    币: 223
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    13
    人麻了
    2025-8-13 12:36
    0
    雪    币: 10
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    14
    好长
    2025-8-13 12:42
    0
    雪    币: 206
    活跃值: (625)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    15
    看完。我都麻了。
    2025-8-13 12:46
    0
    雪    币: 2313
    活跃值: (4440)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    16
    666
    2025-8-13 12:58
    0
    雪    币: 0
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    17
    666
    2025-8-13 13:13
    0
    雪    币: 576
    活跃值: (500)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    18
    1
    2025-8-13 13:19
    0
    雪    币: 576
    活跃值: (500)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    19
    缺风控 常用风控建模智能算法  模型迭代优化 风控模型体系搭建  模型监控与异常处理  风控特征画像体系的搭建 特征监控和特征异常处理 搭建智能风控策略体系 智能风控与人工的结合
    2025-8-13 13:23
    4
    雪    币: 208
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    20
    感谢分享
    2025-8-13 13:23
    0
    雪    币: 227
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    21
    6666
    2025-8-13 13:33
    0
    雪    币: 2280
    活跃值: (2730)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    22
    666
    2025-8-13 13:34
    0
    雪    币: 204
    活跃值: (40)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    23
    666
    2025-8-13 13:35
    0
    雪    币: 281
    活跃值: (300)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    24
    我不是卷王 缺风控 常用风控建模智能算法 模型迭代优化 风控模型体系搭建 模型监控与异常处理 风控特征画像体系的搭建 特征监控和特征异常处理 搭建智能风控策略体系 智能风控与人工的结合
    感谢补充!后续研究遇到问题再向您请教~ ???? 
    2025-8-13 13:55
    0
    雪    币: 504
    活跃值: (2196)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    25
    来看看 查漏补缺
    2025-8-13 13:58
    1
    游客
    登录 | 注册 方可回帖
    返回