native · 11
原生二进制
识别二进制格式、架构和平台特征,再通过 REA 与 Ghidra 后端搜字符串、反编译、跟交叉引用和定位功能。指南覆盖 Windows EXE/DLL、macOS 应用包、加固标志和通用二进制。REA 工作流还介绍通过 ida-pro-mcp 接入 IDA Pro,以及为去符号或特殊二进制调整 headless Ghidra;具体版本和限制见各篇说明。
.mobileprovision 里装了什么?描述文件的解码与核对
用 security cms、openssl、plutil 解开 iOS 描述文件,读出 entitlements、团队、UDID、过期时间和证书,再和 App 的实际签名对比。
ELF / PE / Mach-O 在线查看:识别架构、节区、导入导出,判断是否 stripped
在浏览器里打开 ELF、PE 或 Mach-O 文件,查看架构、带熵值的节区、导入导出和字符串,并判断二进制有没有被 strip,文件不上传。
Ghidra MCP:用 REA 让 AI agent 无界面调用 Ghidra 反编译
用 REA 在 CLI 或 AI agent 里驱动 Ghidra 无头分析:配置与 doctor 检查,decompile、xrefs、trace 命令,附一个带标准答案的样本。
macOS 应用怎么逆向:以 Rectangle 为例一步步拆解
不运行程序也能逆向 macOS 应用:bundle 结构、Info.plist、Mach-O 切片、签名、dylib 加载、NIB 菜单和 Swift 类,全部在 Rectangle 上实测。
不运行就能判断 EXE / DLL 是 32 位、64 位还是 ARM64(含 .NET AnyCPU)
不运行程序,判断 Windows EXE 或 DLL 是 x86、x64 还是 ARM64;讲清 .NET AnyCPU 程序集为什么看起来像 32 位,以及怎么读 CLI 标志。
修复 macOS 报错 dyld: Library not loaded: @rpath
复现 dyld 的 Library not loaded @rpath 崩溃,读懂 tried 路径,用 otool 查 rpath,再用 install_name_tool 或随包附带 dylib 修好。
在 Android 模拟器上用 Frida hook 原生函数:spawn 与 attach
用 Frida Interceptor 在 Android 模拟器里 hook 一个 C 函数:frida-server 部署、-rdynamic 导出坑、spawn 与 attach 区别、frida-trace,以及 macOS 上为何超时。
如何逆向 Windows EXE/DLL:一个完整实测示例
一步步逆向 EXE 或 DLL:先判断原生还是 .NET,再看导出表和导入表、解码版本与字符串资源,最后读导出函数背后的机器码。
查看 Go 二进制的 Go 版本和依赖模块(go version -m)
go version -m 能从任意 Go 可执行文件读出 Go 版本、依赖模块、replace 替换和 VCS 提交,去符号、交叉编译后也一样。附 gh、cloudflared 实测。
检查自己构建的二进制加固选项:NX、PIE、RELRO、ASLR、CFG 一次看清
发布前确认自己的 ELF、PE、Mach-O 构建开了 NX、PIE、完整 RELRO、栈保护、ASLR、CFG 和 Hardened Runtime:真实输出、参数和结果解读。
这个 Mac 应用是不是通用二进制?查看 Mach-O 里的 Apple 芯片与 Intel 切片
判断 Mac 应用或 dylib 是不是通用二进制,列出 arm64 和 x86_64 切片,逐个对比最低系统版本、签名和依赖库;手边没有 Mac 也能查。