mcpField
C
ctf-reverse

ctf-reverse

github.com/wgpsec安全1.8k58 次安装5 天前更新
代码仓库

关于 ctf-reverse

ctf-reverse 是面向 CTF 参赛者的逆向工程方法论,提供从二进制识别到静态、动态分析和反分析处理的参考索引。资料按分析方向拆分,便于针对不同文件类型、语言和平台选择工具与方法。

主要功能

  1. 01按文件类型选择分析工具
  2. 02提供静态与动态分析参考
  3. 03涵盖反调试和反分析绕过
  4. 04整理语言、平台与硬件专题
  5. 05提供常见逆向题型分析模式

适用场景

  1. 01根据二进制格式规划分析步骤
  2. 02为调试或符号执行选择参考工具
  3. 03处理反调试、混淆或运行时修补题目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill ctf-reverse

安装后在 Claude Code 中输入/ctf-reverse确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
recall.json
references/
anti-analysis-ctf.md
anti-analysis.md
field-notes.md
languages-compiled.md
languages-platforms.md
languages.md
patterns-ctf-2.md
patterns-ctf-3.md
patterns-ctf.md
patterns-runtime.md
patterns.md
platforms-hardware.md
platforms.md
tools-advanced.md
tools-dynamic.md
tools-emulation.md
tools.md

详细介绍

来自项目 README

CTF 逆向工程

深入参考

以下参考资料按需加载,根据识别出的具体方向选择对应文件:


分类决策树

拿到逆向题?
├─ 识别文件类型: file binary
│  ├─ ELF → GDB + Ghidra
│  ├─ PE/DLL → x64dbg + IDA
│  ├─ Mach-O → lldb + Hopper
│  ├─ APK → apktool + jadx (Flutter → Blutter)
│  ├─ .NET → dnSpy / ILSpy
│  ├─ Python .pyc → uncompyle6 / decompyle3
│  ├─ WASM → wasm-decompile / wasm2wat
│  └─ 未知 → binwalk + strings + hexdump
├─ 分析策略
│  ├─ 静态优先 → Ghidra反编译 → 找 main/check 函数
│  ├─ 动态辅助 → GDB断点 / Frida hook
│  ├─ 符号执行 → angr(自动探路)
│  └─ 反混淆 → D-810 / GOOMBA / Miasm
├─ 有反调试? → [references/anti-analysis.md](references/anti-analysis.md)
│  ├─ ptrace → LD_PRELOAD hook
│  ├─ /proc/self/status → 修改返回值
│  └─ 时间检测 → 跳过或 patch
└─ 常见模式
   ├─ 逐字符校验 → 逐字节爆破/约束求解
   ├─ 矩阵变换 → numpy/Z3 逆运算
   ├─ 自定义VM → 提取opcode表 → 反汇编
   └─ 迷宫 → BFS/DFS 自动求解

快速启动命令

# 基础分析
file binary && checksec binary
strings -n 6 binary | grep -iE "flag|pass|correct"
objdump -d binary | head -100

# GDB 调试
gdb -q binary -ex 'b main' -ex 'r'

# Ghidra 无头分析
analyzeHeadless /tmp/proj proj -import binary -postScript ExportDecompiled.java

# angr 符号执行
python3 -c "
import angr
p = angr.Project('./binary')
s = p.factory.entry_state()
sm = p.factory.simgr(s)
sm.explore(find=0x TARGET_ADDR)
print(sm.found[0].posix.dumps(0))
"

常见反调试绕过

技术绕过方法
ptrace(PTRACE_TRACEME)LD_PRELOAD hook 返回0
/proc/self/status修改 TracerPid
时间检测patch 掉 rdtsc/clock
IsDebuggerPresent (Win)PEB.BeingDebugged = 0

工具速查

工具用途
Ghidra免费反编译器(支持多架构)
GDB + pwndbgLinux 动态调试
Frida运行时 hook(跨平台)
angr符号执行引擎
dogbolt.org在线多反编译器对比

评论

支持 Markdown