首页> 中国专利> 进程间大数据量参数隐藏传递的方法及其系统

进程间大数据量参数隐藏传递的方法及其系统

摘要

本发明提供进程间大数据量参数隐藏传递的方法及其系统,方法包括:运行中的第一进程利用创建进程函数新建第二进程;获取所述第一进程中的待传输参数;获取所述创建进程函数中的进程创建状态信息指针;获取所述指针对应的结构体中的第一保留参数和第二保留参数;将所述待传输参数数据的指针存储至第二保留参数;将所述待传输参数数据的大小存储至第一保留参数。本发明利用Windows配置的用于拓展功能的进程创建状态信息中的两个保留参数,实现待传输参数的隐蔽性参数;同时还实现了可传输数据量的提升;进一步的,拓展了可传输数据的类型;最终实现了跨进程间大数据量数据的安全隐蔽性传输。

著录项

  • 公开/公告号CN107526972A

    专利类型发明专利

  • 公开/公告日2017-12-29

    原文格式PDF

  • 申请/专利权人 福建省天奕网络科技有限公司;

    申请/专利号CN201610452407.7

  • 申请日2016-06-21

  • 分类号

  • 代理机构福州市博深专利事务所(普通合伙);

  • 代理人林志峥

  • 地址 350212 福建省福州市长乐市湖南镇大鹤村

  • 入库时间 2023-06-19 04:08:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-10

    授权

    授权

  • 2018-01-26

    实质审查的生效 IPC(主分类):G06F21/60 申请日:20160621

    实质审查的生效

  • 2017-12-29

    公开

    公开

说明书

技术领域

本发明涉及进程间参数传递领域,具体说的是进程间大数据量参数隐藏传递的方法及其系统。

背景技术

现有技术中,跨进程的参数传递通常不具备安全性,通过工具即可查看到被传递的参数。为了提高双进程间传递参数的安全性,本领域技术人员通常会对参数进行加密,但是仍然可以被获取和解密,从而被非法利用。进一步的,跨进程参数传递的参数大小只有1024字节,无法实现大数据传输。再进一步的,现有的跨进程参数传递无法实现结构体的传递,需要自己解析字符串信息,极其不方便。下面列举一个现有技术跨进程参数传递的实现方法:运行了第一个第一进程,在第一进程上输入参数z,第一进程想要创建第二进程,并将参数z传递到第二进程中。在传递过程中,使用创建进程函数的命令行参数lpCommandLine来存储需要传递的参数z,并同时创建第二进程。使用这种方法来传递要传递的参数z。

专利公开号为CN 103974430A的中国专利申请,公开一种数据传输方法及装置,解决无法支持多个进程的数据传输的问题。具体通过接受每个数据传输进程的控制信道配置信息,接受多个传输参数组以及传输参数组与跳读相关信息的对应关系信息,根据每个数据传输进程的控制信道配置信息,分别在每个数据传输进程对应的控制信道上检测调度信息;根据检测到的调度信息以及所述传输参数组与调度相关信息的对应关系信息,确定当前调度的数据传输进程对应的传输参数组;根据检测到的调度信息及当前调度的数据传输进程对应的传输参数组接收并检测当前调度的数据传输进程对应的数据。

上述方案的多进程数据传输是基于调度信息实现的,还是无法隐藏所传输的数据,且可传输的数据量有限。

发明内容

本发明所要解决的技术问题是:提供进程间大数据量参数隐藏传递的方法及其系统,能够实现跨进程大数据量参数的安全传输。

为了解决上述技术问题,本发明采用的技术方案为:

进程间大数据量参数隐藏传递的方法,包括:

运行中的第一进程利用创建进程函数新建第二进程;

获取所述第一进程中的待传输参数;

获取所述创建进程函数中的进程创建状态信息指针;

获取所述指针对应的结构体中的第一保留参数和第二保留参数;

将所述待传输参数数据的指针存储至第二保留参数;

将所述待传输参数数据的大小存储至第一保留参数。

本发明提供的另一个技术方案为:

进程间大数据量参数隐藏传递的系统,包括:

创建模块,用于运行中的第一进程利用创建进程函数新建第二进程;

第一获取模块,用于获取所述第一进程中的待传输参数;

第二获取模块,用于获取所述创建进程函数中的进程创建状态信息指针;

第三获取模块,用于获取所述指针对应的结构体中的第一保留参数和第二保留参数;

第一存储模块,用于将所述待传输参数数据的指针存储至第二保留参数;

第二存储模块,用于将所述待传输参数数据的大小存储至第一保留参数。

本发明的有益效果在于:区别于现有技术跨进程之间只能传输字符串类型的参数数据,且参数数据量小,在传输过程中还极有可能被获取窃取,安全性低等缺点。本发明利用Windows提供的创建进程函数中的进程创建状态信息中存储的两个保留参数只用于拓展传输功能,平时不被使用;且Windows也没有提供读取这两个保留参数的方法,因此,第三方在Windows操作系统中无法读取保留参数的内容,具有良好隐蔽性的特点。本申请通过上述两个保留参数来存储待传输参数,实现跨进程的安全传输,确保待传输参数的隐蔽性,即使被知晓,也无法在传输过程中被读取,显著提高传输参数的安全性;进一步的,保留参数使用的数据类型实现了可传递数据量以及可传输数据类型的拓展,最终实现跨进程大数据量参数的隐蔽传递。

附图说明

图1为本发明进程间大数据量参数隐藏传递的方法的流程示意图;

图2为本发明实施例一的流程示意图;

图3为本发明实施例二中现有技术传输成功后使用工具参看传输参数的界面图;

图4为本发明实施例二中采用本方案传输成功后使用工具参看传输参数的界面图;

图5为本发明进程间大数据量参数隐藏传递的系统的结构组成示意图;

图6为本发明实施例二的结构组成示意图。

标号说明:

1、创建模块;2、第一获取模块;3、第二获取模块;4、第三获取模块;

5、第一存储模块;6、第二存储模块;7、启动模块;8、第四获取模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:利用进程创建状态信息指针中的两个保留参数存储待传输参数,实现跨进程大数据量参数的隐藏传输。

本发明涉及的技术术语解释:

请参照图1,本发明提供进程间大数据量参数隐藏传递的方法,包括:

运行中的第一进程利用创建进程函数新建第二进程;

获取所述第一进程中的待传输参数;

获取所述创建进程函数中的进程创建状态信息指针;

获取所述指针对应的结构体中的第一保留参数和第二保留参数;

将所述待传输参数数据的指针存储至第二保留参数;

将所述待传输参数数据的大小存储至第一保留参数。

从上述描述可知,本发明的有益效果在于:在双进程间附加参数传递时,在第一个进程中输入待传输参数(例如账号密码),然后将待传输参数保存在进程创建状态信息的第一保留参数cbReserved2和第二保留参数lpReserved2中,通过创建进程函数CreateProcess函数创建第二个进程,达到跨进程大数据量数据的安全传递的目的。

进一步的,所述第一保留参数为cbReserved2;所述第二保留参数为lpReserved2;

所述cbReserved2中初始存储的内容为0;

所述lpReserved2中初始存储的内容为NULL。

由上述描述可知,windows提供用于拓展数据传输功能的两个保留参数,在平时不被使用,第一保留参数cbReserved2和第二保留参数lpReserved2的初始定义分别必须为0和NULL,第二保留参数lpReserved2对应存储第一保留参数cbReserved2中存储的数据大小,二者均不能被修改;windows操作系统并不提供对上述保留参数中内容的提取方法,只有特定应用程序通过高级配置才能实现两个保留参数的调用,即,两个进程之间基于windows系统的保留参数传输的数据,第三方既无法知道数据的存储位置,也无法获取提取保留参数。

请参阅图2,进一步的,所述将所述待传输参数数据的大小存储至第一保留参数之后,进一步包括:

启动第二进程;

获取所述进程创建状态信息指针,依据所述指针中的所述第一保留参数和第二保留参数获取所述待传输参数。

由上述描述可知,在第二进程的创建过程中,将第一进程要传递给第二进程的参数存储到进程创建状态信息中,通过启动第二进程,可信任的第二方,即第二进程的运行方便可依据进程状态信息指针获取保留参数中存储的参数,实现跨进程间参数的隐蔽传输。

进一步的,所述第二保留参数中存储的数据类型为DWORD。

由上述描述可知,保留参数所使用的类型数据为DWORD,即每个word为两个字节的长度,因此,保留参数能够支持最大为64KB的数据量的传输,相比现有技术只能传输1024字节的传输数据量,实现了可传输参数数据量的提升。

进一步的,所述待传输参数包含字符串和/或结构体。

由上述描述可知,相比现有只能支持字符串格式的参数的传输,后期还需自己解析字符串信息的不方便,本发明基于保留参数的参数传输,不再限制可传输参数的类型,可以传输包括结构体、字符串,甚至乱码类型的数据,提高了可传输数据类型的通用性。

请参阅图5,本发明提供的另一个技术方案为:

进程间大数据量参数隐藏传递的系统,包括:

创建模块1,用于运行中的第一进程利用创建进程函数新建第二进程;

第一获取模块2,用于获取所述第一进程中的待传输参数;

第二获取模块3,用于获取所述创建进程函数中的进程创建状态信息指针;

第三获取模块4,用于获取所述指针对应的结构体中的第一保留参数和第二保留参数;

第一存储模块5,用于将所述待传输参数数据的指针存储至第二保留参数;

第二存储模块6,用于将所述待传输参数数据的大小存储至第一保留参数。

进一步的,所述第一保留参数为cbReserved2;所述第二保留参数为lpReserved2;

所述cbReserved2中初始存储的内容为0;

所述lpReserved2中初始存储的内容为NULL。

请参阅图6,进一步的,还包括:

启动模块7,用于启动第二进程;

第四获取模块8,用于获取所述进程创建状态信息指针,依据所述指针中的所述第一保留参数和第二保留参数获取所述待传输参数。

进一步的,所述第二保留参数中存储的数据类型为DWORD。

进一步的,所述第一获取模块中获取的所述待传输参数包含字符串和/或结构体。

实施例一

请参照图1和图2,本实施例提供一种进程间大数据量参数隐藏传递的方法,能够实现双进程间附加大数据量参数的隐蔽传输。具体包括:

Windows下的一标准应用程序(exe格式)的第一进程处于运行状态中,在第一进程上输入待传输参数z,从第一进程中获取待传输参数z;

运行中的第一进程利用创建进程函数CreateProcess新建第二进程,并想将待传输参数z传递到第二进程中;

在第二进程创建过程中,从创建进程函数CreateProcess的函数结构中获取进程创建状态信息指针lpStartupInfo,该指针指向保存了进程创建的状态信息STARTUPINFO的结构体;从该结构体中有两个成员变量cbReserved2和lpReserved2作为保留数默认不能修改,即第一保留参数cbReserved2和第二保留参数lpReserved2。Windows操作系统定义第一保留参数的初始值必须为0,第二保留参数必须为第一保留参数中存储的数据量的大小,其初始值必须为NULL;Windows配置的第一保留参数cbReserved2和第二保留参数lpReserved2只用于功能拓展,平时不被使用,也不提供这两个保留参数的读取方法,只有运行在应用程序通过高级配置途径才能对这两个参数的内容进行修改;同时,也只有做出修改的应用程序以及授权的应用程序才会获知对该保留参数进行了修改,以及通过高级配置途径读取这两个保留参数中存储的数据。

本实施例中,利用进程创建的状态信息中两个保留参数实现待传输参数的传递。具体的,在获取到第一保留参数cbReserved2和第二保留参数lpReserved2后,将待传输参数z的数据存储到第二保留参数lpReserved2中,同时,修改第一保留参数cbReserved2存储待传输参数z的数据量大小,需要说明的是,第一保留参数cbReserved2记录的数据量大小始终对应第二保留参数lpReserved2中存储的数据量大小,以确保符合使用要求。进一步的,由于第一保留参数cbReserved2和第二保留参数lpReserved2对应可存储的数据格式不限,因此,待传输参数z的数据格式便不仅限于字符串,还可以是结构体,甚至可以是乱码;这样便省去了还需要自己解析获取到的待传输参数中字符串信息的不方便。再进一步的,第一保留参数和第二保留参数对应存储的数据类型为DWORD,因此,可传输的数据量大小由原先的1024字节拓展到了64KB,可实现大数据量参数的参数。

跨进程获取待传输参数z的过程:

通过创建进程函数CreateProcess完成第二进程的创建后,启动第二进程;授权(通过合法渠道获知待传输参数存储方位的引用程序)应用程序通过进程创建状态信息指针获取第一保留参数cbReserved2和第二保留参数lpReserved2;然后据此获取存储的待传输参数z。

本实施例通过将待传数参数z存储至进程创建状态信息中的第一保留参数和第二保留参数中,只有做出修改的应用程序以及授权的应用程序才会知晓将待传输参数z存储到了保留参数中,因此实现了待传输参数的隐蔽性传输;同时,只有做出修改的应用程序或者授权的应用程序才能通过高级配置途径从这两个保留参数中读取所存储的待传输参数z,实现了参数的安全性传输;再进一步的,基于保留参数的特性,同时实现了待传输参数数据量以及可存储数据类型的拓展。

实施例二

请参照图1至图4,本实施例为实施例一的具体运用场景:

一游戏应用程序在账号登陆过程以及账号登陆成功后程序运行使用过程所使用的是两个不同的进程,即账号登陆过程使用的是第一进程,在第一进程中正确输入账号密码后,将自动跳转到一个新的进程,即通过第一进程新建第二进程;跨进程的参数传递不具备安全性,且可传递的数据量小。同时,使用工具即可查看到被传递的参数,如图3所示,可以查看到被加密的账号(ID)和密码(Key)。

为了解决上述问题,在双进程间附加参数传递时,当用户在第一进程中输入参数(例如账号密码)后,把输入的参数保存在第二进程的进程状态信息下的第一保留参数cbReserved2和第二保留参数lpReserved2中,通过创建进程函数CreateProcess函数创建第二进程,实现跨进程大数据量数据的安全传递的目的。如图4所示,使用工具ProcessHacker查看传递的参数,发现所传递的参数被很好的隐藏起来了。

实施例三

请参照图6,本实施例基于实施例一,提供一种进程间大数据量参数隐藏传递的系统,包括:

创建模块1,用于运行中的第一进程利用创建进程函数新建第二进程;

第一获取模块2,用于获取所述第一进程中的待传输参数;

第二获取模块3,用于获取所述创建进程函数中的进程创建状态信息指针;

第三获取模块4,用于获取所述指针对应的结构体中的第一保留参数和第二保留参数;

第一存储模块5,用于将所述待传输参数数据的指针存储至第二保留参数;

第二存储模块6,用于将所述待传输参数数据的大小存储至第一保留参数;

进一步的,还包括:

启动模块7,用于启动第二进程;

第四获取模块8,用于获取所述进程创建状态信息指针,依据所述指针中的所述第一保留参数和第二保留参数获取所述待传输参数。

需要说明的是,所述第一保留参数为cbReserved2;所述第二保留参数为lpReserved2;所述cbReserved2中初始存储的内容为0;所述lpReserved2中初始存储的内容为NULL。所述第二保留参数中存储的数据类型为DWORD。所述第一获取模块中获取的所述待传输参数包含字符串和/或结构体。

综上所述,本发明提供的进程间大数据量参数隐藏传递的方法及其系统,利用Windows配置的用于拓展功能的进程创建状态信息中的两个保留参数,实现待传输参数的隐蔽性参数;同时还实现了可传输数据量的提升;进一步的,拓展了可传输数据的类型;最终实现了跨进程间大数据量数据的安全隐蔽性传输。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号