本文适合
熟悉 字符串、交叉引用与控制流,并做过基础前端题的逆向学习者。学完你能:从网页中定位 .wasm,分析导入导出表和线性内存,复现或逆向 Wasm 中的校验逻辑
本文适合
熟悉 字符串、交叉引用与控制流,并做过基础前端题的逆向学习者。学完你能:从网页中定位 .wasm,分析导入导出表和线性内存,复现或逆向 Wasm 中的校验逻辑
本文适合
拿到 .pyc、PyInstaller 打包程序、exec/marshal 混淆脚本后,不知道如何恢复 Python 逻辑的学习者。学完你能:判断 Python 字节码版本,修复/反编译 pyc,读取 code object 常量和字节码,并在反编译失败时用 dis 和动态 dump 还原校验链。
Python 程序可以被编译成 .pyc 字节码文件。CTF 中常见任务是从 .pyc、打包程序或混淆字节码中恢复源码逻辑。
本文适合
已经能用 jadx 看 APK Java 层、但遇到 native 方法和 .so 校验逻辑会卡住的学习者。学完你能:判断 JNI 静态/动态注册方式,定位 Java 方法对应的 native 函数,并用静态分析或 Frida 验证参数和返回值。
JNI 是 Java Native Interface,用来让 Java 或 Kotlin 代码调用 native C/C++ 代码。APK 逆向中,关键校验逻辑常常通过 JNI 藏到 .so 文件里。
本文适合
已经能做普通 C/C++ 逆向,但遇到 Go/Rust 大体积二进制、运行时代码和符号名时容易迷路的学习者。学完你能:识别 Go/Rust 二进制特征,过滤运行时代码,定位 main/业务函数,并用语言特有字符串、panic 和符号信息推进分析。
Go 和 Rust 编译出的二进制常常比传统 C 程序更大,运行时结构也更复杂。识别语言特征能帮助你少走弯路。
如果二进制体积很大、符号或字符串里出现 runtime.、main.main、go1.、Rust mangled name、panicked at、Option::unwrap,就要按 Go/Rust 语言运行时特征来分析。
本文适合
已经理解 文件头、文件尾与真实类型、字符串、交叉引用与控制流 和基础 Linux 目录结构的学习者。学完你能:从固件镜像中提取 rootfs,识别架构和高价值文件,定位 Web 后台、脚本、硬编码密钥或二进制校验逻辑