买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:深圳前海微众银行股份有限公司
摘要:本发明实施例提供一种智能合约的控制流图生成方法及装置,该方法包括:在将智能合约转译为以太坊虚拟机字节码过程中,针对智能合约中的跳转指令生成跳转记录,且针对智能合约中的函数指令生成函数记录;跳转记录用于表征跳转指令的跳转地址;函数记录用于表征函数指令的边界地址;通过反汇编工具将以太坊虚拟机字节码转换为以太坊虚拟机指令序列,并将以太坊虚拟机指令序列进行划分得到具有顺序信息的多个指令基本块;将每个指令基本块作为控制流图中的节点,根据跳转记录、函数记录和顺序信息,生成各节点之间的有向边,得到智能合约的控制流图。上述方法用于准确完整的生成EVM字节码形式的智能合约的控制流图。
主权项:1.一种智能合约的控制流图生成方法,其特征在于,所述方法包括:在将智能合约转译为以太坊虚拟机字节码过程中,针对所述智能合约中的跳转指令生成跳转记录,且针对所述智能合约中的函数指令生成函数记录;所述跳转记录用于表征跳转指令的跳转地址;所述函数记录用于表征函数指令的边界地址;通过反汇编工具将所述以太坊虚拟机字节码转换为以太坊虚拟机指令序列,并将所述以太坊虚拟机指令序列进行划分得到具有顺序信息的多个指令基本块;将每个指令基本块作为控制流图中的节点,根据所述跳转记录、所述函数记录和所述顺序信息,生成各节点之间的有向边,得到所述智能合约的控制流图;其中,所述针对所述智能合约中的函数指令生成函数记录,包括:在转译到所述智能合约中的函数选择器时,将所述函数选择器中的公共函数的函数入口地址记录至函数记录中的函数入口信息,所述公共函数的函数入口地址为参数加载转译后的首个JUMPDEST指令的地址;在转译到所述智能合约中的函数体时,将所述函数体中的私有函数的函数入口地址记录至所述函数入口信息;所述私有函数的函数入口地址为调用地址的首个参数的地址;在转译到所述函数体中的函数调用语句时,将所述函数调用语句的调用地址和返回地址记录至函数记录中的调用信息;所述调用地址为函数调用语句对应的JUMP指令的地址;所述返回地址为函数调用语句对应的JUMPDEST指令的地址。
全文数据:
权利要求:
百度查询: 深圳前海微众银行股份有限公司 一种智能合约的控制流图生成方法及装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。