应用程序的明文流量获取方法、装置、设备及存储介质与流程

    专利2026-02-17  16


    本技术涉及计算机,尤其涉及一种应用程序的明文流量获取方法、装置、电子设备及存储介质。


    背景技术:

    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、在一些实施例中,上述应用程序的明文流量获取装置,还包括:漏洞挖掘模块,用于基于所述应用程序的明文流量,对所述应用程序进行漏洞挖掘,得到漏洞挖掘结果;当所述漏洞挖掘结果表征所述应用程序存在通信漏洞时,输出漏洞指示信息,所述漏洞指示信息,用于指示所述应用程序在与所述服务器通信过程中存在通信漏洞。

    26、本技术实施例提供一种电子设备,包括:

    27、存储器,用于存储计算机可执行指令或者计算机程序;

    28、处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本技术实施例提供的应用程序的明文流量获取方法。

    29、本技术实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于引起处理器执行时,实现本技术实施例提供的应用程序的明文流量获取方法。

    30、本技术实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本技术实施例上述的应用程序的明文流量获取方法。

    31、本技术实施例具有以下有益效果:

    32、通过在应用程序的进程存储空间中,确定应用程序的库函数的源代码的存储位置,基于库函数的代码的存储位置,查找流量读取函数的读取源代码和流量写入函数的写入源代码,从而从读取源代码和写入源代码中确定读取接口函数和写入接口函数,基于读取接口函数和写入接口函数获取明文流量。如此,通过对应用程序的进程存储空间中的库函数的源代码进行分析,确定读取接口函数和写入接口函数,基于读取接口函数和写入接口函数获取明文流量,明文流量的获取过程在应用程序中即可实现,无需第三方抓包工具进行数据转发,从而有效提高了明文流量的获取时效。


    技术特征:

    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任一项所述的应用程序的明文流量获取方法。


    技术总结
    本申请提供了一种应用程序的明文流量获取方法、装置、设备及存储介质;方法包括:在应用程序的进程存储空间中,确定应用程序中库函数的源代码的存储位置;基于库函数的源代码的存储位置,在进程存储空间中查找流量读取函数的读取源代码及流量写入函数的写入源代码;基于读取源代码和写入源代码,确定流量读取函数中的读取接口函数和流量写入函数中的写入接口函数;基于读取接口函数,获取应用程序与服务器进行通信时接收的明文流量,并基于写入接口函数,获取应用程序与服务器进行通信时发送的明文流量;将接收的明文流量和发送的明文流量,确定为应用程序的明文流量。通过本申请,能够有效提高明文流量的获取时效。

    技术研发人员:王永科,史海滨,于旸
    受保护的技术使用者:腾讯科技(深圳)有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-95331.html

    最新回复(0)