数据解析方法以及装置、存储介质、电子装置制造方法及图纸

技术编号:26172111 阅读:21 留言:0更新日期:2020-10-31 13:47
本申请公开了一种数据解析方法以及装置、存储介质、电子装置,其中,所述方法包括输入第一编码,其中,所述第一编码包括以太坊智能合约的字节码;根据所述以太坊智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码;根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括所述操作码的字面值字符串;通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果。本申请解决了对于太坊字节码中包含的字节码时,解析过程复杂、灵活性较低的技术问题。

Data analysis method and device, storage medium and electronic device

【技术实现步骤摘要】
数据解析方法以及装置、存储介质、电子装置
本申请涉及计算机软件领域,具体而言,涉及一种数据解析方法以及装置、存储介质、电子装置。
技术介绍
在以太坊区块链的交易中,可以在输入字段存入具有意义的字符串信息,用于表达交易内容或者其他信息。如果含有用solidity语言编写的智能合约的交易,由于输入字段保存了完整的编译后的智能合约字节码,无法将其中具有意义的字符串信息提取出来。针对相关技术中对于太坊字节码中包含的字节码时,解析过程复杂、灵活性较低的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请的主要目的在于提供一种数据解析方法以及装置、存储介质、电子装置,以解决对于太坊字节码中包含的字节码时,解析过程复杂、灵活性较低的问题。为了实现上述目的,根据本申请的一个方面,提供了一种数据解析方法。根据本申请的数据解析方法包括:输入第一编码,其中,所述第一编码包括以太坊智能合约的字节码;根据所述以太坊智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码;根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括所述操作码的字面值字符串;通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果。可选地,所述根据所述智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码,包括:根据所述智能合约的字节码所述字节码的操作码以及操作码列表,其中,所述操作码列表包括:内存操作码和硬盘操作码;遍历所述操作码列表确定所述内存操作码和所述硬盘操作码;根据所述内存操作码得到所述操作码的value以及key值;根据所述硬盘操作码得到所述操作码的offset以及key值。可选地,所述通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果包括:在判断所述智能合约中携带的目标字符串中的中文字符数量大于第一阈值的情况下,匹配得到可读的字符串解析结果;和/或,在判断所述智能合约中携带的目标字符串中的非中文字符数量大于第二阈值的情况下,匹配得到可读的字符串解析结果。可选地,所述通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果包括:根据所述字面值字符串解析得到字面值列表;根据所述字面值列表按照可变长度字符编码后得到转义字符串列表;在所述转义字符串列表中得到所述智能合约中携带的目标字符串的解析结果。可选地,所述根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括所述操作码的字面值字符串,包括:根据所述操作码的参数表的value值列表,提取出所述操作码的字面值字符串。可选地,所述输入第一编码之后,还包括:对所述第一编码进行反汇编。为了实现上述目的,根据本申请的另一方面,提供了一种数据解析装置。根据本申请的数据解析装置包括:输入模块,用于输入第一编码,其中,所述第一编码包括智能合约的字节码;第一确定模块,用于根据所述智能合约的字节码确定第二编码,其中所述第二编码包括对所述字节码的操作码;第二确定模块,用于根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括:所述操作码的字面值字符串;输出模块,用于将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果。可选地,所述第一确定模块,还用于根据所述智能合约的字节码所述字节码的操作码以及操作码列表,其中,所述操作码列表包括:内存操作码和硬盘操作码;遍历所述操作码列表确定所述内存操作码和所述硬盘操作码;根据所述内存操作码得到所述操作码的value以及key值;根据所述硬盘操作码得到所述操作码的offset以及key值。在本申请实施例中,采用输入第一编码并根据所述以太坊智能合约的字节码确定第二编码的方式,通过所述操作码的参数表确定所述操作码中的参数信息,达到了通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果的目的,从而实现了提高数据解析灵活性的技术效果,进而解决了对于太坊字节码中包含的字节码时,解析过程复杂、灵活性较低的技术问题。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的数据解析方法流程示意图;图2是根据本申请实施例的数据解析装置结构示意图;图3是根据本申请实施例的数据解析方法流程示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。本申请针对提取二进制字节码中存在的字符串等数据,健壮性好且效率高。此外,由于只针对二进制字节码中的数据不反编译函数结构等部分,因此不需要引入ABI以及函数字典等外部数据,灵活性高。如图1所示,该方法包括如下的步骤S101至步骤S104:步骤S101,输入第一编码,其中,所述第一编码包括以太坊智能合约的字节码;步骤S102,根据所述以太坊智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码;步骤S103,根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括所述操作码的字面值字符串;步骤S104,通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果。从以上的描述中,可以看出,本申请实现了如下技术效果:采用输入第一编码并根据所述以太坊智能合约的字节码确定第二编码的方式,通过所述操作码的参数表确定所述操作码中的参数信息,达到了通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果的目的,从而实现了提高数据解析灵活性的技术效果,进而解决了对于太坊字节码中包含的字节码时,解析过程复杂、灵活性较低的技术问题。在上述步骤S101中通过输入以太坊智能合约的字节码作为第一编码。在上述步骤S102中根据所述以本文档来自技高网
...

【技术保护点】
1.一种数据解析方法,其特征在于,包括:/n输入第一编码,其中,所述第一编码包括以太坊智能合约的字节码;/n根据所述以太坊智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码;/n根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括所述操作码的字面值字符串;/n通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果。/n

【技术特征摘要】
1.一种数据解析方法,其特征在于,包括:
输入第一编码,其中,所述第一编码包括以太坊智能合约的字节码;
根据所述以太坊智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码;
根据所述操作码的参数表确定所述操作码中的参数信息,其中,所述参数信息包括所述操作码的字面值字符串;
通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果。


2.根据权利要求1所述的方法,其特征在于,所述根据所述智能合约的字节码确定第二编码,其中,所述第二编码包括对所述字节码的操作码,包括:
根据所述智能合约的字节码所述字节码的操作码以及操作码列表,其中,所述操作码列表包括:内存操作码和硬盘操作码;
遍历所述操作码列表确定所述内存操作码和所述硬盘操作码;
根据所述内存操作码得到所述操作码的value以及key值;
根据所述硬盘操作码得到所述操作码的offset以及key值。


3.根据权利要求2所述的方法,其特征在于,所述通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果包括:
在判断所述智能合约中携带的目标字符串中的中文字符数量大于第一阈值的情况下,匹配得到可读的字符串解析结果;
和/或,在判断所述智能合约中携带的目标字符串中的非中文字符数量大于第二阈值的情况下,匹配得到可读的字符串解析结果。


4.根据权利要求1所述的方法,其特征在于,所述通过将所述字面值字符串转义得到所述智能合约中携带的目标字符串的解析结果包括:
根据所述字面值字符串解析得到字面值列表;
根据所述字面值列表按照可变长度字符编码后得到转义字符串列表;
在所述转义字符串列表中得到所述智能合约中携带的目标字符串的解析结果。

【专利技术属性】
技术研发人员:李鹏霄刘晓辉王红兵时磊项菲翟羽佳鲁睿
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1