🧩 Ghidra 重命名实战
30章
✨ 大模型驱动 · 从零到插件 ✨
📘 友好色系
01
课程导论
开篇
为什么需要大模型辅助逆向?Ghidra插件开发环境搭建(Java/Python)。
02
Ghidra脚本基础
入门
Ghidra脚本类型(Python vs Java)、API入门、第一个Hello World脚本。
03
函数签名与符号
核心
理解Ghidra中的函数对象、符号表、地址空间。
04
大模型API接入
连接
OpenAI API调用基础、请求与响应解析、Token管理。
05
提示词工程
策略
为逆向任务设计Prompt、上下文注入、Few-shot示例。
06
函数特征提取
分析
提取函数调用图、字符串引用、常量、交叉引用。
07
数据预处理
清洗
清洗反汇编代码、格式化汇编指令、去除噪音。
08
批量重命名策略
批量
基于函数特征的批量命名、去重与冲突解决。
09
上下文增强
注入
将函数调用者/被调用者信息注入Prompt。
10
结果解析与回写
落地
解析大模型返回的JSON、自动重命名Ghidra符号。
11
错误处理与重试机制
健壮
API调用失败处理、超时重试、结果校验。
12
本地模型部署
本地
使用Ollama部署Llama/CodeLlama、本地推理。
13
模型对比
评测
GPT-4 vs CodeLlama vs DeepSeek Coder 效果实测。
14
成本控制
经济
Token消耗估算、缓存策略、降级方案。
15
GUI插件开发
界面
创建Ghidra插件窗口、按钮、进度条。
16
多线程处理
并发
并发调用API、Ghidra任务调度、避免UI卡死。
17
日志与调试
调试
Ghidra日志系统、插件调试技巧、常见坑。
18
安全与隐私
合规
敏感代码脱敏、本地推理优势、数据不出域。
19
实战案例1
加密
一个简单的加密函数识别与重命名。
20
实战案例2
恶意软件
恶意软件中的混淆函数批量重命名。
21
实战案例3
固件
固件逆向中的函数语义恢复。
22
实战案例4
大型项目
大型开源项目(如Linux内核)函数重命名。
23
评估指标
度量
重命名准确率、语义相似度、人工审核流程。
24
持续集成
CI/CD
将插件集成到CI/CD流水线、自动化逆向。
25
社区与生态
生态
Ghidra插件市场、开源项目贡献、分享最佳实践。
26
高级技巧
进阶
动态Prompt生成、RAG(检索增强生成)应用。
27
性能优化
加速
缓存机制、批处理、异步调用。
28
跨架构支持
多架构
x86/ARM/MIPS/RISC-V 指令差异处理。
29
未来展望
前沿
多模态大模型、Agent自动逆向、人机协作。
30
课程总结与项目实战
收官
综合运用所学,完成一个完整的插件项目。