-
公开(公告)号:CN113190850B
公开(公告)日:2022-10-11
申请号:CN202110568452.X
申请日:2021-05-24
Applicant: 电子科技大学
Abstract: 本发明涉及信息技术领域,提供了一种智能合约短地址攻击检测工具的实现方法。目的在于检测和发现短地址攻击发生时,使得在短地址攻击发生时,拒绝这笔交易请求,以此来极大程度地保障了合约的安全性。主要方案包括利用反编译模块对智能合约以字节码处理得到函数id,反编译模块的输出进入TASE模块,TASE模块将获取每个函数id对应的参数列表,并将函数id与对应的参数列表进行组合输出函数签名;得到的函数签名作为输入,当用户调用智能合约时从调用数据中获取函数签名id,然后找出对应的函数签名中的参数列表;对于函数签名中的每个参数在调用数据中借助TASE定位实际参数,并检查其填充是否正确,如填充错误,则判断为攻击。
-
公开(公告)号:CN113504940A
公开(公告)日:2021-10-15
申请号:CN202110854751.X
申请日:2021-07-28
Applicant: 电子科技大学
IPC: G06F8/74
Abstract: 本发明涉及区块链智能合约技术领域,提供了一种改善智能合约字节码逆向工程效果的方法及装置。本发明能够在已知函数签名的条件下,更好地改善编译器,提高智能合约逆向工程结果的可读性。主要方案包括步骤S1:使用Erays对合约字节码进行逆向工程,得到逆向后的代码;步骤S2:根据合约字节码中已知的函数签名,为逆向工程后得到代码的每个公共/外部函数添加函数id、参数类型,并生成参数列表;步骤S3:对于步骤S1中合约字节码中的每一个函数,使用有意义参数名替换无意义的变量名;步骤S4:针对赋值语句,如果将对应函数的参数赋值给变量,则将对应参数的类型添加到变量中;步骤S5:用简单的赋值语句替换由编译器生成用于访问参数的代码。
-
公开(公告)号:CN113190234B
公开(公告)日:2023-04-07
申请号:CN202110561933.8
申请日:2021-05-21
Applicant: 电子科技大学
Abstract: 本发明公开了一种针对区块链智能合约函数签名自动化恢复的方法及系统,属于区块链智能合约技术领域,解决现有无法正确恢复智能合约函数签名,进而无法调用智能合约中的public和external函数的问题。本发明将智能合约的字节码文件进行反汇编,得到反汇编代码文件;扫描反汇编代码文件中的反汇编代码,将反汇编代码分割成代码块;对分割的代码块进行静态分析,识别出public/external函数的代码块,即获得function id;对识别出的函数代码块使用类型感知符号执行方法,即基于类型规则采用类型感知符号执行方法,得到每个public/external函数的参数的类型,得到智能合约的函数的参数的类型列表;基于上述内容,得到智能合约的函数签名。
-
公开(公告)号:CN113190850A
公开(公告)日:2021-07-30
申请号:CN202110568452.X
申请日:2021-05-24
Applicant: 电子科技大学
Abstract: 本发明涉及信息技术领域,提供了一种智能合约短地址攻击检测工具的实现方法。目的在于检测和发现短地址攻击发生时,使得代币的发行者在短地址攻击发生时,拒绝这笔交易请求,以此来极大程度地保障了代币合约的安全性。主要方案包括利用反编译模块对智能合约以字节码处理得到函数id,反编译模块的输出进入TASE模块,TASE模块将获取每个函数id对应的参数列表,并将函数id与对应的参数列表进行组合输出函数签名;得到的函数签名作为输入,当用户调用智能合约时从调用数据中获取函数签名id,然后找出对应的函数签名中的参数列表;对于函数签名中的每个参数在调用数据中借助TASE定位实际参数,并检查其填充是否正确,如填充错误,则判断为攻击。
-
公开(公告)号:CN113504940B
公开(公告)日:2023-04-07
申请号:CN202110854751.X
申请日:2021-07-28
Applicant: 电子科技大学
IPC: G06F8/74
Abstract: 本发明涉及区块链智能合约技术领域,提供了一种改善智能合约字节码逆向工程效果的方法及装置。本发明能够在已知函数签名的条件下,更好地改善编译器,提高智能合约逆向工程结果的可读性。主要方案包括步骤S1:使用Erays对合约字节码进行逆向工程,得到逆向后的代码;步骤S2:根据合约字节码中已知的函数签名,为逆向工程后得到代码的每个公共/外部函数添加函数id、参数类型,并生成参数列表;步骤S3:对于步骤S1中合约字节码中的每一个函数,使用有意义参数名替换无意义的变量名;步骤S4:针对赋值语句,如果将对应函数的参数赋值给变量,则将对应参数的类型添加到变量中;步骤S5:用简单的赋值语句替换由编译器生成用于访问参数的代码。
-
公开(公告)号:CN113190234A
公开(公告)日:2021-07-30
申请号:CN202110561933.8
申请日:2021-05-21
Applicant: 电子科技大学
Abstract: 本发明公开了一种针对区块链智能合约函数签名自动化恢复的方法及系统,属于区块链智能合约技术领域,解决现有无法正确恢复智能合约函数签名,进而无法调用智能合约中的public和external函数的问题。本发明将智能合约的字节码文件进行反汇编,得到反汇编代码文件;扫描反汇编代码文件中的反汇编代码,将反汇编代码分割成代码块;对分割的代码块进行静态分析,识别出public/external函数的代码块,即获得function id;对识别出的函数代码块使用类型感知符号执行方法,即基于类型规则采用类型感知符号执行方法,得到每个public/external函数的参数的类型,得到智能合约的函数的参数的类型列表;基于上述内容,得到智能合约的函数签名。
-
-
-
-
-