System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种应用程序的明文流量获取方法、装置、电子设备及存储介质。
技术介绍
1、网络流量分析作为网络管理与网络安全的关键技术之一,随着加密技术的普及和广泛使用,获取应用程序的明文流量和密文流量,并有效运用明文流量和密文流量不但能够优化网络配置,而且能够降低网络安全隐患。
2、在相关技术中,对于应用程序的明文流量获取,通常是通过抓包工具的方式实现,但是抓包工具的实现方式,会导致获取明文流量的耗时较大,存在严重的时延。
技术实现思路
1、本申请实施例提供一种应用程序的明文流量获取方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效提高明文流量的获取时效。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种应用程序的明文流量获取方法,包括:
4、在所述应用程序的进程存储空间中,确定所述应用程序中库函数的源代码的存储位置;其中,所述库函数包括流量读取函数及流量写入函数;
5、基于所述库函数的源代码的存储位置,在所述进程存储空间中,查找所述流量读取函数的读取源代码及所述流量写入函数的写入源代码;
6、基于所述读取源代码和所述写入源代码,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数;
7、基于所述读取接口函数,获取所述应用程序与服务器进行通信时接收的明文流量,并基于所述写入接口函数,获取所述应用程序与所述服务器进行通信时发送的明文流量;
8、将所述接收的明文流量和所述发送的明文流量,确定为所述应用程序的明文流量。
9、本申请实施例提供一种应用程序的明文流量获取装置,包括:
10、存储位置确定模块,用于在所述应用程序的进程存储空间中,确定所述应用程序中库函数的源代码的存储位置;其中,所述库函数包括流量读取函数及流量写入函数;
11、查找模块,用于基于所述库函数的源代码的存储位置,在所述进程存储空间中,查找所述流量读取函数的读取源代码及所述流量写入函数的写入源代码;
12、函数确定模块,用于基于所述读取源代码和所述写入源代码,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数;
13、流量获取模块,用于基于所述读取接口函数,获取所述应用程序与服务器进行通信时接收的明文流量,并基于所述写入接口函数,获取所述应用程序与所述服务器进行通信时发送的明文流量;
14、流量确定模块,用于将所述接收的明文流量和所述发送的明文流量,确定为所述应用程序的明文流量。
15、在一些实施例中,上述存储位置确定模块,还用于在所述应用程序的进程存储空间中,获取目标结构体的源代码,其中,所述目标结构体的源代码,用于记录所述应用程序中各所述库函数的指针,所述指针,用于指示所述库函数的源代码的起始地址;基于所述目标结构体的源代码中各所述库函数的指针,在所述进程存储空间中,确定所述应用程序中库函数的源代码的存储位置。
16、在一些实施例中,上述存储位置确定模块,还用于获取用于定位所述目标结构体的定位字符;在所述应用程序的进程存储空间中,确定所述定位字符的存储地址;将所述定位字符的存储地址,确定为所述目标结构体在所述进程存储空间中的起始地址;基于所述目标结构体在所述进程存储空间中的起始地址,获取所述目标结构体的源代码。
17、在一些实施例中,上述查找模块,还用于从所述目标结构体的源代码中,确定所述流量读取函数的指针及所述流量写入函数的指针;基于所述流量读取函数的指针及所述流量写入函数的指针,确定所述读取源代码的读取存储位置及所述写入源代码的写入存储位置;基于所述读取存储位置,从所述进程存储空间中读取所述流量读取函数的读取源代码,并基于所述写入存储位置,从所述进程存储空间中读取所述流量写入函数的写入源代码。
18、在一些实施例中,上述查找模块,还用于按照所述目标结构体的起始地址至结束地址的顺序,从所述目标结构体的源代码中依次获取各所述库函数的指针;按照所述指针获取的先后顺序,将各所述库函数的指针构建为指针队列,并从所述指针队列中获取第一目标指针和第二目标指针;其中,所述第一目标指针是所述指针队列中的第一个非空指针,所述第二目标指针是所述指针队列中的第二个非空指针;将所述第一目标指针确定为所述流量写入函数的指针,将所述第二目标指针确定为所述流量读取函数的指针。
19、在一些实施例中,上述函数确定模块,还用于按照所述读取源代码的起始地址至结束地址的顺序,获取所述读取源代码中的各第一接口函数;按照所述写入源代码的起始地址至结束地址的顺序,获取所述写入源代码中的各第二接口函数;按照获取所述第一接口函数的先后顺序,构建对应所述流量读取函数的第一接口函数队列,并按照获取所述第二接口函数的先后顺序,构建对应所述流量写入函数的第二接口函数队列;基于所述第一接口函数队列和所述第二接口函数队列,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数。
20、在一些实施例中,上述函数确定模块,还用于从所述第一接口函数队列的队首开始,依次将所述第一接口函数队列中各第一接口函数分别与所述第二接口函数队列中相应位置的第二接口函数进行对比,得到各所述第一接口函数的对比结果;其中,所述对比结果用于,表征所述第一接口函数和所述相应位置的第二接口函数是否相同;基于各所述对比结果,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数。
21、在一些实施例中,上述函数确定模块,还用于针对所述第一接口函数队列中第一目标接口函数,当所述对比结果表征所述第一目标接口函数和所述第二接口函数队列中相应位置的第二目标接口函数不相同时,将所述第一目标接口函数确定为所述读取接口函数,将所述第二目标接口函数确定为所述写入接口函数。
22、在一些实施例中,上述流量获取模块,还用于获取所述读取接口函数的读取参数信息,其中,所述读取参数信息包括所述接收的明文流量在所述进程存储空间中的第一目标存储地址;基于所述第一目标存储地址,获取所述应用程序与所述服务器进行通信时接收的明文流量;上述流量获取模块,还用于获取所述写入接口函数的写入参数信息,其中,所述写入参数信息包括所述发送的明文流量在所述进程存储空间中的第二目标存储地址;基于所述第二目标存储地址,获取所述应用程序与所述服务器进行通信时发送的明文流量。
23、在一些实施例中,上述存储位置确定模块,还用于接收到针对所述应用程序的明文流量获取请求;响应于所述明文流量获取请求,在所述应用程序的进程存储空间中,确定所述应用程序中所述库函数的源代码的存储位置。
24、在一些实施例中,上述应用程序的明文流量获取装置,还包括:发送模块,用于向所述明文流量获取请求的发起方,发送所述应用程序的明文流量。
25、在一些实施例中,上述应用程序的明文流量获取装置,还包括:漏洞挖掘模本文档来自技高网...
【技术保护点】
1.一种应用程序的明文流量获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述应用程序的进程存储空间中,确定所述应用程序中库函数的源代码的存储位置,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述应用程序的进程存储空间中,获取目标结构体的源代码,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述库函数的源代码的存储位置,在所述进程存储空间中,查找所述流量读取函数的读取源代码及所述流量写入函数的写入源代码,包括:
5.根据权利要求4所述的方法,其特征在于,所述从所述目标结构体的源代码中,确定所述流量读取函数的指针及所述流量写入函数的指针,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述读取源代码和所述写入源代码,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一接口函数队列和所述第二接口函数队列,确定所述流量读取函数中的读取接口函数和所述流量写入函数
8.根据权利要求7所述的方法,其特征在于,所述基于各所述对比结果,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数,包括:
9.根据权利要求1所述的方法,其特征在于,所述基于所述读取接口函数,获取所述应用程序与服务器进行通信时接收的明文流量,包括:
10.根据权利要求1所述的方法,其特征在于,所述在所述应用程序的进程存储空间中,确定所述应用程序中库函数的源代码的存储位置,包括:
11.根据权利要求1所述的方法,其特征在于,所述将所述接收的明文流量和所述发送的明文流量,确定为所述应用程序的明文流量之后,所述方法还包括:
12.一种应用程序的明文流量获取装置,其特征在于,所述装置包括:
13.一种电子设备,其特征在于,所述电子设备包括:
14.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至11任一项所述的应用程序的明文流量获取方法。
15.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至11任一项所述的应用程序的明文流量获取方法。
...【技术特征摘要】
1.一种应用程序的明文流量获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述应用程序的进程存储空间中,确定所述应用程序中库函数的源代码的存储位置,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述应用程序的进程存储空间中,获取目标结构体的源代码,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述库函数的源代码的存储位置,在所述进程存储空间中,查找所述流量读取函数的读取源代码及所述流量写入函数的写入源代码,包括:
5.根据权利要求4所述的方法,其特征在于,所述从所述目标结构体的源代码中,确定所述流量读取函数的指针及所述流量写入函数的指针,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述读取源代码和所述写入源代码,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一接口函数队列和所述第二接口函数队列,确定所述流量读取函数中的读取接口函数和所述流量写入函数中的写入接口函数,包括:
8.根据权利要求7所述的方法...
【专利技术属性】
技术研发人员:王永科,史海滨,于旸,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。