Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
angrgdb — 在GDB中使用angr。从当前调试器状态创建一个angr状态。 | Kitploit
工具/GitHubGitHub/andreafioraldi/angrgdb
漏洞利用逆向工程调试器二进制分析
GitHubandreafioraldi/angrgdb

angrgdb

在GDB中使用angr。从当前调试器状态创建一个angr状态。

查看仓库
204256年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

angrgdb

在 GDB 中使用 angr。根据当前调试器状态创建 angr 状态。

安装

root@kitploit:~
pip install angrgdb
echo "python import angrgdb.commands" >> ~/.gdbinit

使用

angrgdb 在 GDB 中实现了 angrdbg API。

你可以在脚本中这样使用:

root@kitploit:~
from angrgdb import *

gdb.execute("b *0x004005f9")
gdb.execute("r aaaaaaaa")

sm = StateManager()
sm.sim(sm["rax"], 100)

m = sm.simulation_manager()
m.explore(find=0x00400607, avoid=0x00400613)

sm.to_dbg(m.found[0]) #write input to GDB

gdb.execute("x/s $rax")
#0x7fffffffe768:	"ais3{I_tak3_g00d_n0t3s}"
gdb.execute("c")
#Correct! that is the secret key!

你也可以在 GDB 中直接使用 angrgdb 命令来处理简单任务:

  • angrgdb sim <寄存器名称> [大小] 符号化一个寄存器
  • angrgdb sim <地址> [大小] 符号化一个内存区域
  • angrgdb list 列出所有已设置为符号化的项
  • angrgdb find <地址0> <地址1> ... <地址N> 设置查找目标列表
  • angrgdb avoid <地址0> <地址1> ... <地址N> 设置避免目标列表
  • angrgdb reset 重置上下文(符号化值和目标)
  • angrgdb run 从调试器状态生成状态并运行探索
  • angrgdb shell 打开一个 shell,其中包含从当前 GDB 状态创建的 StateManager 实例
  • angrgdb interactive 从调试器状态生成状态,并使用修改版的 angr-cli 手动探索

以下是一个使用 angrgdb+GEF+idb2gdb 解决 crackme 的示例:

asciicast

在 GDB 中加载脚本

如果你不想在命令行中使用 angrgdb,而想使用 Python 脚本,可以参考以下提示。 在 GDB 中使用 source script.py 加载脚本。

待办

  • 添加类似 IDAngr 的远程 angrdbg 支持

引用

论文 PDF.

Bibtex:

root@kitploit:~
@misc{fioraldi2020symbolic,
    title={Symbolic Execution and Debugging Synchronization},
    author={Andrea Fioraldi},
    year={2020},
    eprint={2006.16601},
    archivePrefix={arXiv},
    primaryClass={cs.CR}
}
下载工具