对软件进行处理的方法和装置制造方法

文档序号:6551006阅读:255来源:国知局
对软件进行处理的方法和装置制造方法
【专利摘要】本发明提出一种对软件进行处理的方法和装置,该对软件进行处理的方法包括安装消息钩子;根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;在执行预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。该方法能够在一些软件限制某些程序时,用户依然可以正常使用受限的程序。
【专利说明】对软件进行处理的方法和装置

【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种对软件进行处理的方法和装置。

【背景技术】
[0002]用户可以通过客户端进行上网,例如采用校园网客户端进行上网。在一些场景下用户可能需要使用客户端中限制的功能,例如,校园网客户端限制使用W1-Fi,但一些场景下用户需要通过校园网客户端使用W1-Fi。因此,在这些场景下需要考虑如何正常使用一些软件的限制功能。


【发明内容】

[0003]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0004]为此,本发明的一个目的在于提出一种对软件进行处理的方法,该方法可以在一些软件限制某些程序时,用户依然可以正常使用受限的程序。
[0005]本发明的另一个目的在于提出一种对软件进行处理的装置。
[0006]为达到上述目的,本发明第一方面实施例提出的对软件进行处理的方法,包括:安装消息钩子;根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
[0007]本发明第一方面实施例提出的对软件进行处理的方法,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。
[0008]为达到上述目的,本发明第二方面实施例提出的对软件进行处理的装置,包括:安装模块,用于安装消息钩子;跳转模块,用于根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;处理模块,用于在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
[0009]本发明第二方面实施例提出的对软件进行处理的装置,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。
[0010]为达到上述目的,本发明第三方面实施例提出的客户端设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为客户端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:安装消息钩子;根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
[0011]本发明第三方面实施例提出的客户端设备,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。
[0012]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

【专利附图】

【附图说明】
[0013]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0014]图1是本发明一实施例提出的对软件进行处理的方法的流程示意图;
[0015]图2是本发明实施例中根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图;
[0016]图3是本发明另一实施例提出的对软件进行处理的方法的流程示意图;
[0017]图4是本发明另一实施例提出的对软件进行处理的方法的流程示意图;
[0018]图5是本发明另一实施例提出的对软件进行处理的装置的结构示意图。

【具体实施方式】
[0019]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0020]图1是本发明一实施例提出的对软件进行处理的方法的流程示意图,该方法包括:
[0021]Sll:安装消息钩子;
[0022]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0023]消息钩子可以包括:应用程序编程接口(Application ProgrammingInterface, API)内联(Inline)钩子(hook),或者,导入地址表(Import Address Table,IAT) hook,或者,导出地址表(Export Address Table, EAT) hook。
[0024]S12:根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;
[0025]其中,要处理的软件可以具体是指校园网客户端。
[0026]权限受限的程序可以是指W1-Fi程序。
[0027]可以通过消息钩子将动态链接库(Dynamic Link Library, DLL)注入到校园网客户端,以使校园网客户端根据DLL执行预设内容。
[0028]S13:在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
[0029]参见图2,为根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图。具体可以包括:
[0030]S21:修改原函数指令A,然后使原来函数本应执行指令A的跳到自定义函数,自定义函数用MyFn函数表示。
[0031]本实施例中,原函数可以具体是校园网客户端对应的函数。
[0032]S22:在MyFn函数中定义预设内容。
[0033]本实施例中,所述预设内容用于过滤W1-Fi数据;和/或,所述预设内容用于向所述校园网客户端返回错误值,以使得所述校园网客户端不能停止所述W1-Fi程序。
[0034]S23:在MyFn函数中执行已经替换的原函数的指令A,以保证原函数正确执行。
[0035]S24:在执行完指令A之后,再跳回原函数处的指令B继续执行,以保证原函数执行流程的连贯性。
[0036]其中,图2中的省略号可以表示有一段指令,也可以去掉表示hook函数头。
[0037]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。
[0038]图3是本发明另一实施例提出的对软件进行处理的方法的流程示意图,该方法包括:
[0039]S31:安装消息钩子。
[0040]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0041]消息钩子可以包括:APIInline hook,或者,IAT hook,或者,EAT hook。
[0042]本实施例以API Inline hook为例。
[0043]S32:根据该消息钩子,在校园网客户端检测W1-Fi程序时,跳转执行第一预设内容,第一预设内容用于过滤W1-Fi数据。
[0044]具体的,S32可以包括:根据所述消息钩子,在所述校园网客户端调用用于检测W1-Fi程序的函数时,对所述用于检测W1-Fi程序的函数进行hook,跳转执行第一预设内容。
[0045]进一步的,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项:
[0046]第一函数,所述第一函数用于获取当前活动的网卡的数量和网卡的信息;
[0047]具体的,第一函数可以是GetAdaptersInfo。
[0048]这个函数很多校园网客户端都会去调用它去获取当前活动的网卡数量及网卡的相关信息(包括网卡的描述名,当前网卡使用的IP等),一旦它们发现活动的网卡超过2个以上或者发现获取到的所有活动网卡描述名为“Microsoft virtual W1-Fi miniportadapter”,“microsoft 托管网络虚拟适配器”, “microsoft w1-fi direct 虚拟适配器”,“microsoft hosted network virtual adapter”(这些网卡描述名均为调用系统承载网络机制创建热点,系统虚拟出来的一个设备)则会断开当前连接。
[0049]对应解决方案,本实施可以对这个函数进行API Η00Κ,然后把包含上述系统虚拟出来的设备的描述名全过滤掉再返回给校园网客户端去判断,这样校园网客户端就检测不到用户虚拟出来的设备,用户可以正常使用W1-FI 了。
[0050]第二函数,所述第二函数用于读取注册表的键值,所述注册表的键值用于表明是否存在多个网卡或使用IE浏览器代理上网。
[0051]具体的,第二函数可以是RegQueryValueExA。
[0052]这个函数用于查询注册表检测,大部分校园网客户端会调用RegQueryValueExA去读取注册表里面的值,以此来检测当前用户机器上有多个活动网卡的存在,因为当有新的设备创建的时候会在注册表里面留下痕迹,校园网客户端软件通过检测注册表HKEY_L0CAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-llCE-BFCl-08002bE10318}或者 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVers1n\Internet Settings 项下的诸如 “DhcpIPAddress”,“ IPAddress,,,“ DHCPNameServer ”, “ Enab I eDHCP ”, “ DhcpSubnetMask ”, “ NameServer ”等以此来判断用户是否存在多个网卡或者使用IE浏览器代理上网。
[0053]对应解决方案,本实施例通过对RegQueryValueExA进行API HOOK并判断校园网程序是否会去查询上述提到的注册表键值,如果是查询这些值本实施例就过滤这些值,使校园网程序获取到错误的信息,从而判断失败使得用户可以使用W1-FI程序。
[0054]当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的属于所述校园网客户端的黑名单中的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项:
[0055]第三函数,所述第三函数用于检测当前活动进程和所述进程里的DLL模块名;
[0056]具体的,第三函数可以是ZwQuerySystemlnformat1n。
[0057]校园网客户端限制W1-Fi时,可以检测当前用户是否存在黑名单进程,校园网程序通过调用 CreateToolhelp32Snapshot Process32First/Process32Next, Module32First/Module32Next去检测当前活动进程和进程里面存在的DLL模块。如果这些进程名和DLL模块名在校园网程序的黑名单里面,那么校园网程序会断开当前网络。
[0058]对应解决方案,因为CreateToolhelp32Snapshot这个函数枚举进程是通过更底层的函数 ZwQuerySystemlnformat1n 去获取,所以本实施例对 ZwQuerySystemlnformat1n这个函数进行Η00Κ,把该函数返回的包含有用户进程数据都隐藏,同时通过对Module32Next进行Η00Κ把用户的DLL模块信息隐藏,从而使校园网程序检测不到用户的进程和模块息。
[0059]第四函数,所述第四函数用于检测当前活动的窗口标题;
[0060]具体的,第四函数可以是InternalFindWindowEx。
[0061]其中,校园网客户端通过FindWindow函数去查找当前所有活动的窗口标题,然后判断这个标题是否存在黑名单里面,如果存在则提示并断网。
[0062]对应解决方案,由于FindWindow这个函数最终会调用到InternalFindWindowEx这个函数里面,因此本实施例直接挂InternalFindWindowEx这个函数去过滤包含用户程序标题名的数据,然后直接返回从而绕过校园网客户端的检测。
[0063]第五函数,所述第五函数用于检测当前获取的网卡的信息。
[0064]具体的,第五函数可以是pcap_findalIdevs 和 PacketOpenAdapter。
[0065]其中,通过调用第三方程序去检测,校园网客户端会调用比较出名的网络截包发包程序Wincap的接口 pcap_findalIdevs或者PacketOpenAdapter去获取并检测当前所有网卡的信息。如果其发现网卡的描述名在其黑名单里面,那么它会直接断网。
[0066]对应解决方案,本实施例对pcap_findalIdevs 和 PacketOpenAdapter 进行 Η00Κ,然后过滤和用户网卡或者系统虚拟出来的设备相关的描述名的数据,从而绕过校园网程序的检测。
[0067]S33:在执行预设内容后,继续执行校园网客户端,并正常使用W1-Fi程序。
[0068]根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图可以具体参见图2,本实施例不再赘述。
[0069]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。本实施例通过过滤W1-Fi数据,使得校园网客户端检测不到用户使用W1-Fi,从而可以在校园网客户端中正常使用W1-Fi。
[0070]图4是本发明另一实施例提出的对软件进行处理的方法的流程示意图,该方法包括:
[0071]S41:安装消息钩子。
[0072]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0073]消息钩子可以包括:APIInline hook,或者,IAT hook,或者,EAT hook。
[0074]本实施例以API Inline hook为例。
[0075]S42:根据所述消息钩子,在所述校园网客户端调用用于限制W1-Fi程序的函数时,对所述用于限制W1-Fi程序的函数进行hook,跳转执行第二预设内容,第二预设内容用于向所述校园网客户端返回错误值。
[0076]所述用于限制W1-Fi程序的函数包括如下项中的至少一项:
[0077]第六函数,用于关闭创建热点的服务和/或驱动;
[0078]具体的,第六函数可以是ControlService。
[0079]其中,校园网客户端通过QueryServiceStatus检测当前系统安装的服务状态,被检测的服务名有“SharedAccess”, “RemoteAccess”, “WZCSVC”, “Wlansvc”, “ALG”, “dot3svc”,“WwanSvc”,“mpssvc”等,还有其他第三方驱动名,如果这些服务或驱动此时的运行状态是处理SERVER_RUNNING(即表示此服务处理运行状态),因为这些服务都和系统创建热点相关,那么校园网客户端会调用ControlService把这些服务关闭,从而限制用户使用W1-F1.
[0080]对应解决方案,本实施例通过对ControlService进行API Η00Κ并判断校园网卡是否去停止上述提到的服务,如果是的话本实施例就直接返回一个值给校园网程序使之以为这些服务已经停止掉。
[0081]第七函数,用于关闭共享;
[0082]具体的,第七函数可以是IWbemClassObject::Get 和 INetSharingConfigurat1n::DisableSharing0
[0083]其中,校园网客户端检测当前活动网卡共享状态(即开启ICS),校园网程序通过调用系统WMI的接口去查询当前本地连接活动网卡是否已经开启共享(即IsIcsPublics的值是否为TRUE),还有虚拟出来的热点的设备是否已经设置(即IsIcsPrivate的值是否为TRUE).如果这两个条件都满足说明当前用户正在使用系统的承载网络机制创建热点上网,那么它就会断开网络。
[0084]对应解决方案:本实施例对校园网程序调用IWbemClassObject::Get检测共享状态这个函数Η00Κ,使其对当前活动网卡共享状态的判断错误,同时本实施例也把INetSharingConfigurat1n::DisableSharing这个函数进行Η00Κ,防止其调用这个函数关闭ICS共孚。
[0085]第八函数,用于打开黑名单驱动符号名;
[0086]具体的,第八函数是CreateFiIe。
[0087]其中,校园网客户端检测当前用户是否有安装校园网的黑名单驱动符号链接,校园网程序通过调用CreateFile去打开黑名单驱动符号名,如果打开成功说明该驱动已经安装上去。那么校园网程序就会提示并断网。
[0088]对应解决方案:本实施例通过对CreateFile进行Η00Κ,当校园网程序试图打开用户的驱动符号名,就拒绝其打开用户的驱动。
[0089]第九函数,用于检测DHCP客户端端口;
[0090]具体的,第九函数是GetUdpTable。
[0091]其中,校园网客户端通过GetUdpTable函数检测当前用户的UDP是否存在67端口,该端口为DHCP的客户端端口,主要用于DHCP对客户端请求的广播进行回应。校园网通过检测这个端口就可以判断当前用户是否启用DHCP,一旦其发现用户启用就会断开网络连接。
[0092]对应解决方案:本实施例对GetUdpTable进行Η00Κ,修改这个函数返回的数据,使校园网客户端程序获取不到67端口。从而绕过校园网客户端的检测使用户的程序能够正常使用。
[0093]第十函数,用于创建进程,所述进程用于解析IP地址数量。
[0094]具体的,第十函数是CreateProcess。
[0095]其中,校园网客户端通过创建cmd.exe程序然后调用系统命令去获取相关信息,有些校园网客户端会通过CreateProcess去创建cmd.exe然后以ipconfig这个命令为参数启动一个进程,然后它把ipconfig这个命令返回的数据进行解析一旦找到多个IP那么它就认为当前用户在使用多个网卡上网。随后它会断开用户的网络连接。
[0096]对应解决方安案:本实施例对CreateProcess进行挂钩,然后判断这个函数的参数里面是否存在ipconfig这个命令,如果存在那么直接返回不让其创建进程。从而绕过校园网程序的检测。
[0097]S43:在执行预设内容后,继续执行校园网客户端,并正常使用W1-Fi程序。
[0098]根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图可以具体参见图2,本实施例不再赘述。
[0099]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。本实施例通过向所述校园网客户端返回错误值,使得校园网客户端认为已经限制了 W1-Fi,从而可以在校园网客户端中正常使用W1-Fi。
[0100]图5是本发明另一实施例提出的对软件进行处理的装置的结构示意图,该装置50包括安装模块51、跳转模块52和处理模块53。
[0101]安装模块51用于安装消息钩子;
[0102]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0103]所述消息钩子包括:API Inline钩子;或者,IAT钩子;或者,EAT钩子。
[0104]跳转模块52用于根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;
[0105]其中,所述要处理的软件是校园网客户端,所述权限受限的程序是W1-Fi程序。
[0106]可以通过消息钩子将动态链接库(Dynamic Link Library, DLL)注入到校园网客户端,以使校园网客户端根据DLL执行预设内容。
[0107]一个实施例中,所述预设内容用于过滤W1-Fi数据。
[0108]当所述预设内容用于过滤W1-Fi数据时,所述跳转模块52具体用于:
[0109]根据所述消息钩子,在所述校园网客户端调用用于检测W1-Fi程序的函数时,对所述用于检测W1-Fi程序的函数进行hook,跳转执行预设内容。
[0110]其中,用于过滤W1-Fi数据可以包括:用于过滤所述用于检测W1-Fi程序的函数获取的数据,和,用于过滤所述用于检测W1-Fi程序的函数获取的属于所述校园网客户端的黑名单中的数据。
[0111]一个实施例中,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项:
[0112]第一函数,所述第一函数用于获取当前活动的网卡的数量和网卡的信息;
[0113]具体的,第一函数可以是GetAdaptersInfo。
[0114]这个函数很多校园网客户端都会去调用它去获取当前活动的网卡数量及网卡的相关信息(包括网卡的描述名,当前网卡使用的IP等),一旦它们发现活动的网卡超过2个以上或者发现获取到的所有活动网卡描述名为“Microsoft virtual W1-Fi miniportadapter”,“microsoft 托管网络虚拟适配器”, “microsoft w1-fi direct 虚拟适配器”,“microsoft hosted network virtual adapter”(这些网卡描述名均为调用系统承载网络机制创建热点,系统虚拟出来的一个设备)则会断开当前连接。
[0115]对应解决方案,本实施可以对这个函数进行API Η00Κ,然后把包含上述系统虚拟出来的设备的描述名全过滤掉再返回给校园网客户端去判断,这样校园网客户端就检测不到用户虚拟出来的设备,用户可以正常使用W1-FI 了。
[0116]第二函数,所述第二函数用于读取注册表的键值,所述注册表的键值用于表明是否存在多个网卡或使用IE浏览器代理上网。
[0117]具体的,第二函数可以是RegQueryValueExA。
[0118]这个函数用于查询注册表检测,大部分校园网客户端会调用RegQueryValueExA去读取注册表里面的值,以此来检测当前用户机器上有多个活动网卡的存在,因为当有新的设备创建的时候会在注册表里面留下痕迹,校园网客户端软件通过检测注册表HKEY_L0CAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-llCE-BFCl-08002bE10318}或者 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVers1n\Internet Settings 项下的诸如 “DhcpIPAddress”,“ IPAddress,,,“ DHCPNameServer ”, “ Enab I eDHCP ”, “ DhcpSubnetMask ”, “ NameServer ”等以此来判断用户是否存在多个网卡或者使用IE浏览器代理上网。
[0119]对应解决方案,本实施例通过对RegQueryValueExA进行API HOOK并判断校园网程序是否会去查询上述提到的注册表键值,如果是查询这些值本实施例就过滤这些值,使校园网程序获取到错误的信息,从而判断失败使得用户可以使用W1-FI程序。
[0120]一个实施例中,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的属于所述校园网客户端的黑名单中的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项:
[0121]第三函数,所述第三函数用于检测当前活动进程和所述进程里的DLL模块名;
[0122]具体的,第三函数可以是ZwQuerySystemlnformat1n。
[0123]校园网客户端限制W1-Fi时,可以检测当前用户是否存在黑名单进程,校园网程序通过调用 CreateToolhelp32Snapshot Process32First/Process32Next, Module32First/Module32Next去检测当前活动进程和进程里面存在的DLL模块。如果这些进程名和DLL模块名在校园网程序的黑名单里面,那么校园网程序会断开当前网络。
[0124]对应解决方案,因为CreateToolhelp32Snapshot这个函数枚举进程是通过更底层的函数 ZwQuerySystemlnformat1n 去获取,所以本实施例对 ZwQuerySystemlnformat1n这个函数进行Η00Κ,把该函数返回的包含有用户进程数据都隐藏,同时通过对Module32Next进行Η00Κ把用户的DLL模块信息隐藏,从而使校园网程序检测不到用户的进程和模块息。
[0125]第四函数,所述第四函数用于检测当前活动的窗口标题;
[0126]具体的,第四函数可以是InternalFindWindowEx。
[0127]其中,校园网客户端通过FindWindow函数去查找当前所有活动的窗口标题,然后判断这个标题是否存在黑名单里面,如果存在则提示并断网。
[0128]对应解决方案,由于FindWindow这个函数最终会调用到InternalFindWindowEx这个函数里面,因此本实施例直接挂InternalFindWindowEx这个函数去过滤包含用户程序标题名的数据,然后直接返回从而绕过校园网客户端的检测。
[0129]第五函数,所述第五函数用于检测当前获取的网卡的信息。
[0130]具体的,第五函数可以是pcap_findalldevs 和 PacketOpenAdapter。
[0131]其中,通过调用第三方程序去检测,校园网客户端会调用比较出名的网络截包发包程序Wincap的接口 pcap_findalIdevs或者PacketOpenAdapter去获取并检测当前所有网卡的信息。如果其发现网卡的描述名在其黑名单里面,那么它会直接断网。
[0132]对应解决方案,本实施例对pcap_findalIdevs 和 PacketOpenAdapter 进行 Η00Κ,然后过滤和用户网卡或者系统虚拟出来的设备相关的描述名的数据,从而绕过校园网程序的检测。
[0133]一个实施例中,所述预设内容用于向所述校园网客户端返回错误值,以使得所述校园网客户端不能停止所述W1-Fi程序。
[0134]当所述预设内容用于向所述校园网客户端返回错误值时,所述跳转模块具体用于:
[0135]根据所述消息钩子,在所述校园网客户端调用用于限制W1-Fi程序的函数时,对所述用于限制W1-Fi程序的函数进行hook,跳转执行预设内容。
[0136]所述用于限制W1-Fi程序的函数包括如下项中的至少一项:
[0137]第六函数,用于关闭创建热点的服务和/或驱动;
[0138]具体的,第六函数可以是ControlService。
[0139]其中,校园网客户端通过QueryServiceStatus检测当前系统安装的服务状态,被检测的服务名有“SharedAccess”, “RemoteAccess”, “WZCSVC”, “Wlansvc”, “ALG”, “dot3svc”,“WwanSvc”,“mpssvc”等,还有其他第三方驱动名,如果这些服务或驱动此时的运行状态是处理SERVER_RUNNING(即表示此服务处理运行状态),因为这些服务都和系统创建热点相关,那么校园网客户端会调用ControlService把这些服务关闭,从而限制用户使用W1-F1.
[0140]对应解决方案,本实施例通过对ControlService进行API Η00Κ并判断校园网卡是否去停止上述提到的服务,如果是的话本实施例就直接返回一个值给校园网程序使之以为这些服务已经停止掉。
[0141]第七函数,用于关闭共享;
[0142]具体的,第七函数可以是IWbemClassObject::Get 和 INetSharingConfigurat1n::DisableSharing0
[0143]其中,校园网客户端检测当前活动网卡共享状态(即开启ICS),校园网程序通过调用系统WMI的接口去查询当前本地连接活动网卡是否已经开启共享(即IsIcsPublics的值是否为TRUE),还有虚拟出来的热点的设备是否已经设置(即IsIcsPrivate的值是否为TRUE).如果这两个条件都满足说明当前用户正在使用系统的承载网络机制创建热点上网,那么它就会断开网络。
[0144]对应解决方案:本实施例对校园网程序调用IWbemClassObject::Get检测共享状态这个函数Η00Κ,使其对当前活动网卡共享状态的判断错误,同时本实施例也把INetSharingConfigurat1n::DisableSharing这个函数进行Η00Κ,防止其调用这个函数关闭ICS共享。
[0145]第八函数,用于打开黑名单驱动符号名;
[0146]具体的,第八函数是CreateFile。
[0147]其中,校园网客户端检测当前用户是否有安装校园网的黑名单驱动符号链接,校园网程序通过调用CreateFile去打开黑名单驱动符号名,如果打开成功说明该驱动已经安装上去。那么校园网程序就会提示并断网。
[0148]对应解决方案:本实施例通过对CreateFile进行Η00Κ,当校园网程序试图打开用户的驱动符号名,就拒绝其打开用户的驱动。
[0149]第九函数,用于检测DHCP客户端端口 ;
[0150]具体的,第九函数是GetUdpTable。
[0151]其中,校园网客户端通过GetUdpTable函数检测当前用户的UDP是否存在67端口,该端口为DHCP的客户端端口,主要用于DHCP对客户端请求的广播进行回应。校园网通过检测这个端口就可以判断当前用户是否启用DHCP,一旦其发现用户启用就会断开网络连接。
[0152]对应解决方案:本实施例对GetUdpTable进行Η00Κ,修改这个函数返回的数据,使校园网客户端程序获取不到67端口。从而绕过校园网客户端的检测使用户的程序能够正常使用。
[0153]第十函数,用于创建进程,所述进程用于解析IP地址数量。
[0154]具体的,第十函数是CreateProcess。
[0155]其中,校园网客户端通过创建cmd.exe程序然后调用系统命令去获取相关信息,有些校园网客户端会通过CreateProcess去创建cmd.exe然后以ipconfig这个命令为参数启动一个进程,然后它把ipconfig这个命令返回的数据进行解析一旦找到多个IP那么它就认为当前用户在使用多个网卡上网。随后它会断开用户的网络连接。
[0156]对应解决方安案:本实施例对CreateProcess进行挂钩,然后判断这个函数的参数里面是否存在ipconfig这个命令,如果存在那么直接返回不让其创建进程。从而绕过校园网程序的检测。
[0157]处理模块53用于在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
[0158]根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图可以参见图2,本实施例不再赘述。
[0159]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。
[0160]本发明实施例还提供了一种客户端设备,该客户端设备包括壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为客户端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
[0161]Sll:安装消息钩子;
[0162]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0163]消息钩子可以包括:应用程序编程接口(Application ProgrammingInterface, API) Inline钩子(hook),或者,导入地址表(Import Address Table, IAT) hook,或者,导出地址表(Export Address Table, EAT)hook。
[0164]S12:根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用;
[0165]其中,要处理的软件可以具体是指校园网客户端。
[0166]权限受限的程序可以是指W1-Fi程序。
[0167]可以通过消息钩子将动态链接库(Dynamic Link Library, DLL)注入到校园网客户端,以使校园网客户端根据DLL执行预设内容。
[0168]S13:在执行预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
[0169]参见图2,为根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图。具体可以包括:
[0170]S21:修改原函数指令A,然后使原来函数本应执行指令A的跳到自定义函数,自定义函数用MyFn函数表示。
[0171]本实施例中,原函数可以具体是校园网客户端对应的函数。
[0172]S22:在MyFn函数中定义预设内容。
[0173]本实施例中,所述预设内容用于过滤W1-Fi数据;和/或,所述预设内容用于向所述校园网客户端返回错误值,以使得所述校园网客户端不能停止所述W1-Fi程序。
[0174]S23:在MyFn函数中执行已经替换的原函数的指令A,以保证原函数正确执行。
[0175]S24:在执行完指令A之后,再跳回原函数处的指令B继续执行,以保证原函数执行流程的连贯性。
[0176]其中,图2中的省略号可以表示有一段指令,也可以去掉表示hook函数头。
[0177]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。
[0178]另一实施例中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
[0179]S31:安装消息钩子。
[0180]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0181]消息钩子可以包括:APIInline hook,或者,IAT hook,或者,EAT hook。
[0182]本实施例以API Inline hook为例。
[0183]S32:根据该消息钩子,在校园网客户端检测W1-Fi程序时,跳转执行第一预设内容,第一预设内容用于过滤W1-Fi数据。
[0184]具体的,S32可以包括:根据所述消息钩子,在所述校园网客户端调用用于检测W1-Fi程序的函数时,对所述用于检测W1-Fi程序的函数进行hook,跳转执行第一预设内容。
[0185]进一步的,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项:
[0186]第一函数,所述第一函数用于获取当前活动的网卡的数量和网卡的信息;
[0187]具体的,第一函数可以是GetAdaptersInfo。
[0188]这个函数很多校园网客户端都会去调用它去获取当前活动的网卡数量及网卡的相关信息(包括网卡的描述名,当前网卡使用的IP等),一旦它们发现活动的网卡超过2个以上或者发现获取到的所有活动网卡描述名为“Microsoft virtual W1-Fi miniportadapter”,“microsoft 托管网络虚拟适配器”, “microsoft w1-fi direct 虚拟适配器”,“microsoft hosted network virtual adapter”(这些网卡描述名均为调用系统承载网络机制创建热点,系统虚拟出来的一个设备)则会断开当前连接。
[0189]对应解决方案,本实施可以对这个函数进行API Η00Κ,然后把包含上述系统虚拟出来的设备的描述名全过滤掉再返回给校园网客户端去判断,这样校园网客户端就检测不到用户虚拟出来的设备,用户可以正常使用W1-FI 了。
[0190]第二函数,所述第二函数用于读取注册表的键值,所述注册表的键值用于表明是否存在多个网卡或使用IE浏览器代理上网。
[0191]具体的,第二函数可以是RegQueryValueExA。
[0192]这个函数用于查询注册表检测,大部分校园网客户端会调用RegQueryValueExA去读取注册表里面的值,以此来检测当前用户机器上有多个活动网卡的存在,因为当有新的设备创建的时候会在注册表里面留下痕迹,校园网客户端软件通过检测注册表HKEY_L0CAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-llCE-BFCl-08002bE10318}或者 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVers1n\Internet Settings 项下的诸如 “DhcpIPAddress”,“ IPAddress,,,“ DHCPNameServer ”, “ Enab I eDHCP ”, “ DhcpSubnetMask ”, “ NameServer ”等以此来判断用户是否存在多个网卡或者使用IE浏览器代理上网。
[0193]对应解决方案,本实施例通过对RegQueryValueExA进行API HOOK并判断校园网程序是否会去查询上述提到的注册表键值,如果是查询这些值本实施例就过滤这些值,使校园网程序获取到错误的信息,从而判断失败使得用户可以使用W1-FI程序。
[0194]当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的属于所述校园网客户端的黑名单中的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项:
[0195]第三函数,所述第三函数用于检测当前活动进程和所述进程里的DLL模块名;
[0196]具体的,第三函数可以是ZwQuerySystemlnformat1n。
[0197]校园网客户端限制W1-Fi时,可以检测当前用户是否存在黑名单进程,校园网程序通过调用 CreateToolhelp32Snapshot Process32First/Process32Next, Module32First/Module32Next去检测当前活动进程和进程里面存在的DLL模块。如果这些进程名和DLL模块名在校园网程序的黑名单里面,那么校园网程序会断开当前网络。
[0198]对应解决方案,因为CreateToolhelp32Snapshot这个函数枚举进程是通过更底层的函数 ZwQuerySystemlnformat1n 去获取,所以本实施例对 ZwQuerySystemlnformat1n这个函数进行Η00Κ,把该函数返回的包含有用户进程数据都隐藏,同时通过对Module32Next进行Η00Κ把用户的DLL模块信息隐藏,从而使校园网程序检测不到用户的进程和模块息。
[0199]第四函数,所述第四函数用于检测当前活动的窗口标题;
[0200]具体的,第四函数可以是InternalFindWindowEx。
[0201]其中,校园网客户端通过FindWindow函数去查找当前所有活动的窗口标题,然后判断这个标题是否存在黑名单里面,如果存在则提示并断网。
[0202]对应解决方案,由于FindWindow这个函数最终会调用到InternalFindWindowEx这个函数里面,因此本实施例直接挂InternalFindWindowEx这个函数去过滤包含用户程序标题名的数据,然后直接返回从而绕过校园网客户端的检测。
[0203]第五函数,所述第五函数用于检测当前获取的网卡的信息。
[0204]具体的,第五函数可以是pcap_findalIdevs 和 PacketOpenAdapter。
[0205]其中,通过调用第三方程序去检测,校园网客户端会调用比较出名的网络截包发包程序Wincap的接口 pcap_findalIdevs或者PacketOpenAdapter去获取并检测当前所有网卡的信息。如果其发现网卡的描述名在其黑名单里面,那么它会直接断网。
[0206]对应解决方案,本实施例对pcap_findalIdevs 和 PacketOpenAdapter 进行 Η00Κ,然后过滤和用户网卡或者系统虚拟出来的设备相关的描述名的数据,从而绕过校园网程序的检测。
[0207]S33:在执行预设内容后,继续执行校园网客户端,并正常使用W1-Fi程序。
[0208]根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图可以具体参见图2,本实施例不再赘述。
[0209]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。本实施例通过过滤W1-Fi数据,使得校园网客户端检测不到用户使用W1-Fi,从而可以在校园网客户端中正常使用W1-Fi。
[0210]另一实施例中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
[0211]S41:安装消息钩子。
[0212]其中,可以通过系统提供的SetWindowsHookEx函数安装消息钩子,以达到注入或者处理相关系统消息信息。
[0213]消息钩子可以包括:APIInline hook,或者,IAT hook,或者,EAT hook。
[0214]本实施例以API Inline hook为例。
[0215]S42:根据所述消息钩子,在所述校园网客户端调用用于限制W1-Fi程序的函数时,对所述用于限制W1-Fi程序的函数进行hook,跳转执行第二预设内容,第二预设内容用于向所述校园网客户端返回错误值。
[0216]所述用于限制W1-Fi程序的函数包括如下项中的至少一项:
[0217]第六函数,用于关闭创建热点的服务和/或驱动;
[0218]具体的,第六函数可以是ControlService。
[0219] 其中,校园网客户端通过QueryServiceStatus检测当前系统安装的服务状态,被检测的服务名有“SharedAccess”, “RemoteAccess”, “WZCSVC”, “Wlansvc”, “ALG”, “dot3svc”,“WwanSvc”,“mpssvc”等,还有其他第三方驱动名,如果这些服务或驱动此时的运行状态是处理SERVER_RUNNING(即表示此服务处理运行状态),因为这些服务都和系统创建热点相关,那么校园网客户端会调用ControlService把这些服务关闭,从而限制用户使用W1-F1.
[0220]对应解决方案,本实施例通过对ControlService进行API Η00Κ并判断校园网卡是否去停止上述提到的服务,如果是的话本实施例就直接返回一个值给校园网程序使之以为这些服务已经停止掉。
[0221]第七函数,用于关闭共享;
[0222]具体的,第七函数可以是IWbemClassObject::Get 和 INetSharingConfigurat1n::DisableSharing0
[0223]其中,校园网客户端检测当前活动网卡共享状态(即开启ICS),校园网程序通过调用系统WMI的接口去查询当前本地连接活动网卡是否已经开启共享(即IsIcsPublics的值是否为TRUE),还有虚拟出来的热点的设备是否已经设置(即IsIcsPrivate的值是否为TRUE).如果这两个条件都满足说明当前用户正在使用系统的承载网络机制创建热点上网,那么它就会断开网络。
[0224]对应解决方案:本实施例对校园网程序调用IWbemClassObject::Get检测共享状态这个函数Η00Κ,使其对当前活动网卡共享状态的判断错误,同时本实施例也把INetSharingConfigurat1n::DisableSharing这个函数进行Η00Κ,防止其调用这个函数关闭ICS共孚。
[0225]第八函数,用于打开黑名单驱动符号名;
[0226]具体的,第八函数是CreateFile。
[0227]其中,校园网客户端检测当前用户是否有安装校园网的黑名单驱动符号链接,校园网程序通过调用CreateFile去打开黑名单驱动符号名,如果打开成功说明该驱动已经安装上去。那么校园网程序就会提示并断网。
[0228]对应解决方案:本实施例通过对CreateFile进行Η00Κ,当校园网程序试图打开用户的驱动符号名,就拒绝其打开用户的驱动。
[0229]第九函数,用于检测DHCP客户端端口 ;
[0230]具体的,第九函数是GetUdpTable。
[0231]其中,校园网客户端通过GetUdpTable函数检测当前用户的UDP是否存在67端口,该端口为DHCP的客户端端口,主要用于DHCP对客户端请求的广播进行回应。校园网通过检测这个端口就可以判断当前用户是否启用DHCP,一旦其发现用户启用就会断开网络连接。
[0232]对应解决方案:本实施例对GetUdpTable进行Η00Κ,修改这个函数返回的数据,使校园网客户端程序获取不到67端口。从而绕过校园网客户端的检测使用户的程序能够正常使用。
[0233]第十函数,用于创建进程,所述进程用于解析IP地址数量。
[0234]具体的,第十函数是CreateProcess。
[0235]其中,校园网客户端通过创建cmd.exe程序然后调用系统命令去获取相关信息,有些校园网客户端会通过CreateProcess去创建cmd.exe然后以ipconfig这个命令为参数启动一个进程,然后它把ipconfig这个命令返回的数据进行解析一旦找到多个IP那么它就认为当前用户在使用多个网卡上网。随后它会断开用户的网络连接。
[0236]对应解决方安案:本实施例对CreateProcess进行挂钩,然后判断这个函数的参数里面是否存在ipconfig这个命令,如果存在那么直接返回不让其创建进程。从而绕过校园网程序的检测。
[0237]S43:在执行预设内容后,继续执行校园网客户端,并正常使用W1-Fi程序。
[0238]根据消息钩子执行预设内容并在执行预设内容完毕后,继续处理原软件的流程示意图可以具体参见图2,本实施例不再赘述。
[0239]本实施例通过安装消息钩子,通过该消息钩子跳转执行预设内容,该预设内容使得权限受限的程序正常使用,因此,可以正常使用软件的限制功能,提升用户体验。本实施例通过向所述校园网客户端返回错误值,使得校园网客户端认为已经限制了 W1-Fi,从而可以在校园网客户端中正常使用W1-Fi。
[0240]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0241]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0242]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0243]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0244]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0245]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0246]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0247]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【权利要求】
1.一种对软件进行处理的方法,其特征在于,包括: 安装消息钩子; 根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用; 在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
2.根据权利要求1所述的方法,其特征在于,所述要处理的软件是校园网客户端,所述权限受限的程序是W1-Fi程序。
3.根据权利要求2所述的方法,其特征在于,所述预设内容用于过滤W1-Fi数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,包括: 根据所述消息钩子,在所述校园网客户端调用用于检测W1-Fi程序的函数时,对所述用于检测W1-Fi程序的函数进行hook,跳转执行预设内容。
5.根据权利 要求4所述的方法,其特征在于,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项: 第一函数,所述第一函数用于获取当前活动的网卡的数量和网卡的信息; 第二函数,所述第二函数用于读取注册表的键值,所述注册表的键值用于表明是否存在多个网卡或使用IE浏览器代理上网。
6.根据权利要求4所述的方法,其特征在于,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的属于所述校园网客户端的黑名单中的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项: 第三函数,所述第三函数用于检测当前活动进程和所述进程里的DLL模块名; 第四函数,所述第四函数用于检测当前活动的窗口标题; 第五函数,所述第五函数用于检测当前获取的网卡的信息。
7.根据权利要求2所述的方法,其特征在于,所述预设内容用于向所述校园网客户端返回错误值,以使得所述校园网客户端不能停止所述W1-Fi程序。
8.根据权利要求7所述的方法,其特征在于,所述根据所述消息钩子,在所述要处理的软件检测权限受限的程序时,跳转执行预设内容,包括: 根据所述消息钩子,在所述校园网客户端调用用于限制W1-Fi程序的函数时,对所述用于限制W1-Fi程序的函数进行hook,跳转执行预设内容。
9.根据权利要求8所述的方法,其特征在于,所述用于限制W1-Fi程序的函数包括如下项中的至少一项: 第六函数,用于关闭创建热点的服务和/或驱动; 第七函数,用于关闭共享; 第八函数,用于打开黑名单驱动符号名; 第九函数,用于检测DHCP客户端端口 ; 第十函数,用于创建进程,所述进程用于解析IP地址数量。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述消息钩子包括: API内联钩子;或者,IAT钩子;或者, EAT钩子。
11.一种对软件进行处理的装置,其特征在于,包括: 安装模块,用于安装消息钩子; 跳转模块,用于根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用; 处理模块,用于在执行完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
12.根据权利要求11所述的装置,其特征在于,所述要处理的软件是校园网客户端,所述权限受限的程序是W1-Fi程序。
13.根据权利要求12所述的装置,其特征在于,所述预设内容用于过滤W1-Fi数据。
14.根据权利要求13所述的装置,其特征在于,所述跳转模块具体用于: 根据所述消息钩子,在所述校园网客户端调用用于检测W1-Fi程序的函数时,对所述用于检测W1-Fi程序的函数进行hook,跳转执行预设内容。
15.根据权利要 求14所述的装置,其特征在于,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项: 第一函数,所述第一函数用于获取当前活动的网卡的数量和网卡的信息; 第二函数,所述第二函数用于读取注册表的键值,所述注册表的键值用于表明是否存在多个网卡或使用IE浏览器代理上网。
16.根据权利要求14所述的装置,其特征在于,当所述预设内容具体用于过滤所述用于检测W1-Fi程序的函数获取的属于所述校园网客户端的黑名单中的数据时,所述用于检测W1-Fi程序的函数包括如下项中的至少一项: 第三函数,所述第三函数用于检测当前活动进程和所述进程里的DLL模块名; 第四函数,所述第四函数用于检测当前活动的窗口标题; 第五函数,所述第五函数用于检测当前获取的网卡的信息。
17.根据权利要求12所述的装置,其特征在于,所述预设内容用于向所述校园网客户端返回错误值,以使得所述校园网客户端不能停止所述W1-Fi程序。
18.根据权利要求17所述的装置,其特征在于,所述跳转模块具体用于: 根据所述消息钩子,在所述校园网客户端调用用于限制W1-Fi程序的函数时,对所述用于限制W1-Fi程序的函数进行hook,跳转执行预设内容。
19.根据权利要求18所述的装置,其特征在于,所述用于限制W1-Fi程序的函数包括如下项中的至少一项: 第六函数,用于关闭创建热点的服务和/或驱动; 第七函数,用于关闭共享; 第八函数,用于打开黑名单驱动符号名; 第九函数,用于检测DHCP客户端端口 ; 第十函数,用于创建进程,所述进程用于解析IP地址数量。
20.根据权利要求11至19任一项所述的装置,其特征在于,所述消息钩子包括:API内联钩子;或者, IAT钩子;或者, EAT钩子。
21.一种客户端设备,其特征在于,包括壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为客户端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤: 安装消息钩子; 根据所述消息钩子,在所述要处理的软件检测和/或限制权限受限的程序时,跳转执行预设内容,所述预设内容使得所述权限受限的程序正常使用; 在执行 完预设内容后,继续执行所述要处理的软件,并正常使用所述权限受限的程序。
【文档编号】G06F21/55GK104077523SQ201410293735
【公开日】2014年10月1日 申请日期:2014年6月25日 优先权日:2014年6月25日
【发明者】陈南利, 李伟健, 潘国勇, 姚娜娜, 杨军 申请人:珠海市君天电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1