angr生成控制流图CFG遇到的问题

环境:Windows 10; Python 3.7.3(虚拟环境)

依赖的第三方库:angr; angr-utils; bingraphvis;

1、AttributeError: 'XRef' object has no attribute 'sort'

错误定位在 "{{虚拟环境路径}}\lib\site-packages\bingraphvis\angr\annotator.py" 这个文件下的第384行。

在github的仓库里有人提出了相同的问题,作者给出的解答是:

第一个和第三个问题在修改后不再报错,但第二个问题出现了新的 bug: 

AttributeError: 'MemoryData' object has no attribute 'insn_addr'

 考虑到第三方库作者提出的 memory_data 参数,于是我在 site-package 下搜索了memory_data,结果如下:

 可以看到xref类下面有一个 ins_addr 属性。把第385行的 dr.insn_addr 改成 dr.ins_addr,错误解决。

(p.s. 在写这篇文章的时候 github 上提出相同问题的老哥也发现了解决的办法hhhh。)

2、FileNotFoundError: [WinError 2] "dot" not found in path.

 百度了很久才发现是自己没有下载 Graphviz,这个需要单独下载,而不是只装一个python库就完事了。下载完以后放到项目的某个目录下,再定位到 pydot.py 下将第1723行的 'dot' 改为绝对路径。

 

参考链接:

angr分析程序的控制流图CFG

AttributeError: 'XRef' object has no attribute 'sort' #33

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值