文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
ethcc-livestream2
文章
专栏
问答
视频
课程
集市作品
活动
招聘
TA的视频
TA的合集
从EVM字节码重建控制流图:更快、更好、更强
视频 AI 总结: Maxim 在本次演讲中介绍了其用于从 EVM 字节码重建控制流图(CFG)的新算法。他首先概述了 EVM 字节码和基本块的概念,然后指出现有 CFG 重建工具缺乏准确性评估的问题。为此,他提出了一种基准测试算法,通过比较算法生成的块与实际基本块来评估其性能,并使用假阳性和假阴性指标进行比较。实验结果表明,他的开源库 EVMOL 在重建基本块的数量和假阴性方面优于其他解决方案。该算法采用自下而上的分析方法,结合堆栈分析和循环检测,以递归方式探索父块,直到找到明确的跳转目标。EVMOL 库提供 Rust、JavaScript、TypeScript 和 Python 版本,并提供在线演示,可用于分析智能合约的功能选择器、参数、状态可变性、存储使用情况以及生成交互式控制流图。 关键信息: * **控制流图(CFG)重建算法:** 提出了一种新的从 EVM 字节码重建 CFG 的算法。 * **基准测试方法:** 设计了一种评估 CFG 重建算法准确性的基准测试方法,通过比较算法生成的块与实际基本块来评估其性能。 * **EVMOL 库:** 开发了一个名为 EVMOL 的开源库,实现了该算法,并提供多种语言版本(Rust、JavaScript、TypeScript、Python)。 * **自下而上的分析方法:** 该算法采用自下而上的分析方法,结合堆栈分析和循环检测,以递归方式探索父块,直到找到明确的跳转目标。 * **性能优势:** 实验结果表明,EVMOL 在重建基本块的数量和假阴性方面优于其他解决方案。 * **应用场景:** EVMOL 库可用于分析智能合约的功能选择器、参数、状态可变性、存储使用情况以及生成交互式控制流图。 * **循环检测和中间状态:** 算法通过跟踪访问过的节点及其堆栈状态来检测循环,并引入中间状态的概念来避免无限循环。 * **不确定性处理:** 如果算法无法确定跳转目标,则会明确地用 Option 类型表示,避免产生错误的结论。
61
0
0
1天前
ethcc-livestream2
关注
贡献值: 5
学分: 10
江湖只有他的大名,没有他的介绍。
0 关注
0 粉丝
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容:
提醒
检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
×
编辑封面图
封面预览
取消
确认