一种反向对抗程序作弊的方法、装置、存储介质及设备与流程



1.本发明涉及网络开发技术领域,尤其涉及一种反向对抗程序作弊的方法。


背景技术:



2.程序运行时,存在非法程序修改功能、监听数据、截获程序的网络数据上报到非法程序的服务器中或者盗取视频流地址等。
3.传统方案都是加强自身程序的安全性,例如对抗非法程序的代码修改方案,通过对代码进行hash校验来防止其修改,通过对抗非法程序的代码注入来检测其存在注入的情况,加密代码防止其逆向分析或者提升算法的安全性提高其破解的门槛。但传统方案导致程序代码多重加密,更加复杂,以至于代码互相重叠,不利于正常程序运行。
4.因此,亟需一种反向对抗程序作弊的方法,能够主动识别并禁止非法程序的运行。


技术实现要素:



5.本发明提供了一种反向对抗程序作弊的方法,通过查到非法程序,并通过调用系统函数,暂停所述非法程序对应的线程,并对非法模块进行hook 操作,以及对非法模块进行干扰,能够再保证自身程序正常运行的前提下,使非法模块功能失效,反向对抗程序作弊的效果更好。
6.第一方面,本发明实施例提供了一种反向对抗程序作弊的方法,包括:
7.检测非法程序,并获取所述非法程序对应的非法模块;
8.查所述非法模块对应的线程;
9.调用系统函数,暂停所述非法模块对应的线程;
10.对所述非法模块进行hook操作;以及
11.对所述非法模块进行干扰,以禁用所述非法模块。
12.优选的是,所述查所述非法模块对应的线程,具体包括:
13.通过调用当前进程的系统函数头文件,获取线程快照,进而获取所有线程;
14.枚举线程,获取所有线程信息;
15.解析所述线程信息,得到任一线程对应的入口函数地址;以及
16.对当前进程进行内存查,枚举所有非法模块信息,获取任一加载非法模块的内存区域;
17.若所述入口函数地址在所述内存区域内,判定非法模块对应所述线程;
18.其中,所述内存区域为模块的内存起始地址至模块的结束地址。
19.优选的是,对所述非法模块进行hook操作,具体包括:
20.解析已经加载到内存的模块文件;
21.获得所述非法模块的导入表和导出表;
22.根据所述非法模块导入表得到所有系统函数的导入项;
23.并根据所述非法模块的导出表得到获取所有导出函数;
24.对所述导入项进行hook,以使当任一系统函数被调用时,均返回错误码;以及
25.对所述导出函数进行hook,并建立插装函数,以使任一导出函数被调用时,均调用所述插装函数;其中,所述插装函数为一个空的逻辑。
26.优选的是,对所述非法模块进行干扰包括:对非法模块的系统时间进行干扰、对非法模块的定时器功能进行干扰、对非法模块的热键功能进行干扰和对非法模块的网络函数进行干扰。
27.优选的是,所述非法模块的系统时间进行干扰,具体包括:
28.获取所述非法模块的系统函数;
29.在所述系统函数中查引入系统时间相关的函数,并进行hook;
30.修改所述引入系统时间相关的函数的时间数组;
31.以使调用所述引入系统时间相关的函数获取时间时,返回干扰时间值;
32.所述对非法模块的定时器功能进行干扰,具体包括:
33.枚举当前程序所有的定时器;
34.获取所述定时器的回调函数;
35.根据所述回调函数确定所述定时器所属模块;
36.若所述所属模块是非法模块,当定时器触发时,禁止回调非法模块中的执行函数;以及
37.所述对非法模块的热键功能进行干扰,具体包括:
38.监控当前程序的所有热键;
39.当所述热键被触发时,对所述热键的执行程序进行拦截。
40.优选的是,所述对非法模块的网络函数进行干扰,具体包括:
41.解析非法模块的导入表;
42.查所有引入网络相关的系统函数;
43.对所述导入表进行hook,以将所述引入网络相关的系统函数替换成空的逻辑函数。
44.优选的是,还包括:
45.获取调用网络相关系统函数的相关代码,并对所述相关代码进行hook;
46.以阻止任一系统网络相关的函数地址的数据调用。
47.优选的是,所述非法程序通过筛选非法注入模块、监控篡改程序代码、检测非法hook操作、检测非法窗口、检测非法热键中的一种或几种进行检测。
48.第二方面,本发明实施例提供了一种电子设备,包括应用处理器和存储器,所述处理器用于实现所述存储器中存储得计算机管理程序式时实现如所述的反向对抗程序作弊的方法。
49.第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现所述的反向对抗程序作弊的方法。
50.有益效果
51.本发明提供了一种反向对抗程序作弊的方法,通过查到非法程序,并通过调用系统函数,暂停所述非法程序对应的线程,并对非法模块进行hook 操作,以及对非法模块进行干扰,以禁用非法模块,使其功能失效,能够保证自身程序正常运行,反向对抗程序作
弊的效果更理想。
附图说明
52.图1为本发明所述的反向对抗程序作弊的方法的流程图。
53.图2为本发明所述的查非法模块对应的线程的流程图。
54.图3为本发明所述的获取非法模块进行hook操作的流程图。
55.图4为本发明所述的反向对抗程序作弊装置的流程图。
56.图5本发明实施例提供的反向对抗程序作弊装置的硬件结构示意图。
57.图6为本发明实施例提供的一种可能的电子设备的实施例示意图。
58.图7为本实施例提供了一种计算机可读存储介质的实施例示意图。
具体实施方式
59.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.需要说明的是,在本发明的描述中,术语“中”、“上”、“下”、“横”、“内”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
61.此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
62.如图1所示,基于背景技术提出的技术问题,本发明提供了一种反向对抗程序作弊的方法,包括:
63.步骤s110、检测非法程序,并获取非法程序对应的非法模块;
64.具体的说,在一个优选实施例中,非法程序通过筛选非法注入模块、监控篡改程序代码、检测非法hook操作、检测非法窗口、检测非法热键中的一种或几种进行检测。
65.其中,1)通过筛选非法注入模块检测非法模块,具体包括:
66.非法程序如果想要修改本程序中的功能,必定会注入一个非法模块到程序中;因此可以通过筛选非法注入模块来检测非法模块,具体步骤为:
67.枚举当前进程所加载的所有模块信息,然后从中筛选出非法的注入模块。并记录非法模块的名称和内存地址信息等,以方便后续对非法模块进行禁止操作。
68.需要特别说明的是,本实施例通过枚举当前进程加载的所有模块筛选出非法注入模块,以记录非法模块的名称和内存地址信息,便于后续禁用非法模块,实现了便于后续改进程序功能,提高防护力度的有益效果。
69.2)通过监控篡改程序代码来检测非法模块,具体包括:
70.程序运行时,非法程序可能会通过修改程序代码来实现一些非法功能,那么针对这种情况,传统方案为加强自身程序安全性,对自己程序的所有代码段进行hash计算,并且预先保存好没有被修改过计算的hash值;
71.通过对比程序执行时计算的hash是否与预先保存的一致,确定是否为非法程序,即如果一致则说明代码没有被修改,如果不一致则说明代码被修改,确定为非法程序。
72.对于代码被修改的情况,通过对代码设置写断点来监控是什么代码对该段代码进行写操作,进而追逐到写代码这段代码,并通过内存查这段代码所属于的模块,进而确定为非法的模块程序。
73.需要特别说明的是,本实施例通过预先保存hash值,并通过对比hash 值判断代码是否被修改,并通过断点监控追逐到代码段,以确定非法模块,监控效果好,实现了代码修改的有效判断和实时监控的有益效果。
74.3)通过检测非法hook操作来检测非法模块,具体包括:
75.非法程序可能会通过对现有程序进行hook,来监控或者修改程序数据,如通过对程序调用系统的网络相关的函数进行hook,那么所有发送或者从服务器接收数据的时候都会被hook的程序所监控到。因此可以通过检测当前程序是否存在hook来查非法的模块程序,具体的说:
76.首先对于任何hook程序,如果是对程序中引入的系统函数进行hook,非法程序则会对本程序中引入的系统函数的函数地址替换成非法程序的函数地址,因此可以通过获取引入的系统函数的地址来查看其是否是系统函数,如果不是则说明其属于非法程序,依据非法地址可以通过内存查来到此地址所属于的模块,进而确定属于非法模块程序。
77.需要特别说明的是,本实施例通过获取引入的系统函数的地址来查看其是否是系统函数,判断hook程序是否属于非法程序,实现了通过检测hook 目标的特定函数,以判断出非法模块,实现了检测效果好,准确率高的有益效果。
78.4)通过检测非法窗口来检测非法模块,具体包括:
79.非法程序可能会在程序中创建一个窗口程序,窗口程序属于非法模块的,可以通过遍历当前程序中所有的窗口并获取窗口的创建者,可以获取到窗口所属于的模块程序,同时可以通过遍历所有的窗口,通过窗口程序需要填入的回调函数接口来查其所属于的模块,那么判定此模块则属于非法模块。
80.需要特别说明的是,本实施例通过检测窗口程序对应填入的回调函数接口来检测查非法模块,实现了检测模式的灵活对应的有益效果。
81.5)通过检测非法热键来检测非法模块,具体包括:
82.非法程序可能会在程序中创建一些热键以方便非法程序的操作,因此可以通过枚举系统的所有热键,通过热键注册的回调处理接口来查该回调属于那个模块,那么判定此模块则属于非法模块。
83.需要特别说明的是,本发明实施例通过上述五种策略检测非法模块,穷举了非法模块的检测方式,拦截了所有可能的非法模块创建模式,实现了检测模式的灵活对应,便于后续拦截对抗操作,提高了检测有效性的有益效果。
84.通过上述的5种策略,可以对当前程序中的非法程序检测到其存在一些作弊行为,
并且检测到了非法模块,那么通常都是对非法程序做了那些改动而阻止其改动,例如其注入非法模块,则阻止其注入,如其对系统函数进行 hook,则可以阻止其hook等。
85.本发明实施例通过如下步骤,对非法模块进行干扰或禁用,以实现反向对抗程序作弊,具体包括:
86.如图2所示,步骤s120、查非法模块对应的线程,具体的说包括如下步骤:
87.步骤s121、通过调用当前进程的系统函数头文件,获取线程快照,进而获取所有线程;具体的说:
88.通过调用系统函数createtoolhelp32snapshot(th32cs_snapall,0)获取线程快照。
89.步骤s122、通过枚举线程,获取所有线程信息,具体的说:通过系统函数thread32first(hshot,&te)获取第一个线程信息,通过系统函数 thread32next(hthreadsnap,&te)则可以获取到下一个线程的信息;
90.步骤s123、解析所述线程信息,得到任一线程对应的入口函数地址;以及
91.步骤s124、对当前进程进行内存查,枚举所有非法模块信息,获取任一加载非法模块的内存区域;
92.步骤s125、若所述入口函数地址在所述内存区域内,判定非法模块对应所述线程;其中,所述内存区域为模块的内存起始地址至模块的结束地址。
93.步骤s130、调用系统函数,暂停所述非法模块对应的线程;具体的说:
94.枚举到了所有模块的线程后,可以对这些线程执行调用系统函数 suspendthread执行暂停,让其无法工作。
95.需要特别说明的是,本实施例通过暂停线程,对非法程序进行禁止操作,则操作空间更大,能够主动执行一些功能,以使得非法模块无法完成任何非法功能,避免正面去对抗非法模块和程序的操作,而是绕过非法模块,通过线程停止非法模块执行功能,能够保证自身程序正常运行,反向对抗程序作弊的效果更理想。
96.如图3所示,步骤s140、获取非法模块进行hook操作,具体包括:
97.步骤s141、解析已经加载到内存的模块文件;
98.步骤s142、获得非法模块的导入表和导出表;
99.步骤s143、根据非法模块导入表得到所有系统函数的导入项;并根据非法模块的导出表得到获取所有导出函数;
100.步骤s144、对导入项进行hook,以使当任一系统函数被调用时,均返回错误码;以及
101.步骤s145、对导出函数进行hook,并建立插装函数,以使任一导出函数被调用时,均调用所述插装函数;其中,所述插装函数为一个空的逻辑。
102.需要特别说明的是,本实施例中对导出函数进行hook,同时hook逻辑则不一样,在插装函数中不调用原来的导出函数,而只是一个空的实现,当非法模块的导出函数被外部调用时,调用到插装函数中,且插装函数为空的逻辑函数,不会执行任何函数从而不改变原来导出函数,通过关联空的插装函数,实现禁止功能,进而不会产生任何其他连带效果。
103.步骤s150、对非法模块进行干扰,以禁用非法模块。
104.优选的是,对所述非法模块进行干扰包括:对非法模块的系统时间进行干扰、对非
法模块的定时器功能进行干扰、对非法模块的热键功能进行干扰和对非法模块的网络函数进行干扰。
105.其中,1)对非法模块的系统时间进行干扰,具体包括:
106.获取所非法模块的系统函数;
107.在所述系统函数中查引入系统时间相关的函数,并进行hook;
108.修改引入系统时间相关的函数的时间数组;
109.以使调用所述引入系统时间相关的函数获取时间时,返回干扰时间值;
110.具体的说,对非法模块的引入的系统时间相关的系统函数进行hook后,修改时间数组,让其执行的时间非常慢,从而其功能则无法执行。例如非法模块存在每间隔10秒去修改一个数据,那则通过修改系统时间,当非法程序每次调用系统函数来获取时间时,返回一个和上次时间差值为1纳秒的时间差值,那么对其来说10秒则基本不太可能达到,因此其功能可能永远无法执行到。
111.需要特别说明的是,本实施例通过引入干扰时间值,调用系统函数获取时间时,始终返回与系统函数计数精度不符的时间插值,从而干扰时间计数,实现对非法模块的干扰,以避免其执行功能。
112.2)对非法模块的定时器功能进行干扰,具体包括:
113.枚举当前程序所有的定时器;
114.获取所述定时器的回调函数;
115.根据所述回调函数确定所述定时器所属模块;
116.若所属模块是非法模块,当定时器触发时,禁止回调非法模块中的执行函数;
117.需要特别说明的是,非法程序会设置一些定时器来完成间隔执行的功能,通过定时器来枚举当前程序所加载的模块或者定时器来对当前程序代码进行修改,因此当定时器触发时,通过拦截,禁止回调非法模块中的执行函数,实现了通过干扰定时器,实现禁止非法模块执行功能的有益效果。
118.3)对非法模块的热键功能进行干扰,具体包括:
119.监控当前程序的所有热键;
120.当所述热键被触发时,对所述热键的执行程序进行拦截。
121.需要特别说明的是,非法程序的非法功能提供热键开启和关闭的设置,因此编写一个热键的功能,对系统的所有热键进行监管,那么当有热键触发时,对热键的程序进行拦截过滤,以实现非法模块的干扰控制。
122.4)对所述对非法模块的网络函数进行干扰,具体包括:
123.解析非法模块的导入表;
124.查所有引入网络相关的系统函数;
125.对所述导入表进行hook,以将所述引入网络相关的系统函数替换成空的逻辑函数。
126.需要特别说明的是,非法程序的获取到了数据后,都会通过网络发送到非法程序的服务器中,那需要对非法模块中的网络相关的功能进行干扰,让其无法使用网络,以实现对非法模块的服务器干扰的有益效果。
127.在另一实施例中,对所述对非法模块的网络函数进行干扰,还包括:
128.解析非法模块的导入表;
129.查所有引入网络相关的系统函数;
130.对所述导入表进行hook,以将所述引入网络相关的系统函数替换成空的逻辑函数;
131.获取调用网络相关系统函数的相关代码,并对所述相关代码进行hook;
132.以阻止任一系统网络相关的函数地址的数据调用。
133.需要特别说明的是,非法程序的获取到了数据后,都会通过网络发送到非法程序的服务器中,那需要对非法模块中的网络相关的功能进行干扰,让其无法使用网络,以实现对非法模块的服务器干扰,且能够对相关代码进行过滤,以实现阻止网络相关的函数地址的数据调用的有益效果。
134.图4为本发明反向对抗程序作弊装置实施例的模块图,如4所示,本发明实施例中还提供了反向对抗程序作弊装置200的一个实施例,该装置包括:
135.检测模块210用于检测非法程序,并获取所述非法程序对应的非法模块;
136.查模块220用于查所述非法模块对应的线程;处理模块230用于调用系统函数,暂停所述非法模块对应的线程;获取述非法模块进行hook操作;以及对所述非法模块进行干扰,以禁用所述非法模块。
137.图4从模块化功能实体的角度对本技术实施例中的反向对抗程序作弊装置进行了描述,下面从硬件处理的角度对本技术实施例中的阻止系统函数调用功能的装置进行详细描述,图5为本发明实施例提供的反向对抗程序作弊装置的硬件结构示意图;请参阅图5,本发明实施例中的反向对抗程序作弊装置实施例的模块图为一个实施例,包括:
138.输入装置301、输出装置302、处理器303和存储器304(其中处理器303 的数量可以一个或多个,图3中以一个处理器303为例)。在本发明的一些实施例中,输入装置301、输出装置302、处理器303和存储器304可通过总线或其它方式连接,其中,图3中以通过总线连接为例。
139.其中,通过调用存储器304存储的操作指令,处理器303,用于执行如下步骤:
140.检测非法程序,并获取所述非法程序对应的非法模块;
141.查所述非法模块对应的线程;
142.调用系统函数,暂停所述非法模块对应的线程;
143.获取所述非法模块进行hook操作;以及
144.对所述非法模块进行干扰,以禁用所述非法模块。
145.通过调用存储器304存储的操作指令,处理器303,还用于执行图1-3对应的实施例中的任一方式。
146.图6为本发明实施例提供的一种可能的电子设备的实施例示意图,如6 所示。
147.在另一实施例中,本发明还提供了一种电子设备,包括存储器410、处理器420及存储在存储器420上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤。
148.检测非法程序,并获取所述非法程序对应的非法模块;
149.查所述非法模块对应的线程;
150.调用系统函数,暂停所述非法模块对应的线程;
151.获取所述非法模块进行hook操作;以及
152.对所述非法模块进行干扰,以禁用所述非法模块。
153.由于本实施例所介绍的电子设备为实施本发明实施例中,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本技术所欲保护的范围。
154.图7为本发明实施例提供的一种可能的计算机可读存储介质的实施例示意图,请参阅图7。
155.如图7所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:
156.检测非法程序,并获取所述非法程序对应的非法模块;
157.查所述非法模块对应的线程;
158.调用系统函数,暂停所述非法模块对应的线程;
159.获取所述非法模块进行hook操作;以及
160.对所述非法模块进行干扰,以禁用所述非法模块。
161.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
162.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
163.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
164.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
165.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
166.本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件
指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的阻止系统函数调用的方法中的流程。
167.所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如, dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
168.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
169.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
170.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
171.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
172.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
173.至此,已经结合附图所示的优选实施提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的之内。

技术特征:


1.一种反向对抗程序作弊的方法,其特征在于,包括:检测非法程序,并获取所述非法程序对应的非法模块;查所述非法模块对应的线程;调用系统函数,暂停所述非法模块对应的线程;对所述非法模块进行hook操作;以及对所述非法模块进行干扰,以禁用所述非法模块。2.根据权利要求1所述的反向对抗程序作弊的方法,其特征在于,所述查所述非法模块对应的线程,具体包括:通过调用当前进程的系统函数头文件,获取线程快照,进而获取所有线程;枚举所述线程,获取所有线程信息;解析所述线程信息,得到任一线程对应的入口函数地址;以及对当前进程进行内存查,枚举所有非法模块信息,获取任一加载非法模块的内存区域;若所述入口函数地址在所述内存区域内,判定非法模块对应所述线程;其中,所述内存区域为模块的内存起始地址至模块的结束地址。3.根据权利要求1或2中任一项所述的反向对抗程序作弊的方法,其特征在于,对所述非法模块进行hook操作,具体包括:解析已经加载到内存的模块文件;获得所述非法模块的导入表和导出表;根据所述非法模块导入表得到所有系统函数的导入项;并根据所述非法模块的导出表得到获取所有导出函数;对所述导入项进行hook,以使当任一系统函数被调用时,均返回错误码;以及对所述导出函数进行hook,并建立插装函数,以使任一导出函数被调用时,均调用所述插装函数;其中,所述插装函数为一个空的逻辑。4.根据权利要求1所述的反向对所述非法模块进行干扰,以禁用所述非法模块对抗程序作弊的方法,其特征在于,对所述非法模块进行干扰包括:对非法模块的系统时间进行干扰、对非法模块的定时器功能进行干扰、对非法模块的热键功能进行干扰和对非法模块的网络函数进行干扰。5.根据权利要求4所述的反向对抗程序作弊的方法,其特征在于,所述非法模块的系统时间进行干扰,具体包括:获取所述非法模块的系统函数;在所述系统函数中查引入系统时间相关的函数,并进行hook;修改所述引入系统时间相关的函数的时间数组;以使调用所述引入系统时间相关的函数获取时间时,返回干扰时间值;所述对非法模块的定时器功能进行干扰,具体包括:枚举当前程序所有的定时器;获取所述定时器的回调函数;根据所述回调函数确定所述定时器所属模块;若所述所属模块是非法模块,当定时器触发时,禁止回调非法模块中的执行函数;以及
所述对非法模块的热键功能进行干扰,具体包括:监控当前程序的所有热键;当所述热键被触发时,对所述热键的执行程序进行拦截。6.根据权利要求4所述的反向对抗程序作弊的方法,其特征在于,所述对非法模块的网络函数进行干扰,具体包括:解析非法模块的导入表;查所有引入网络相关的系统函数;对所述导入表进行hook,以将所述引入网络相关的系统函数替换成空的逻辑函数。7.根据权利要求6所述的反向对抗程序作弊的方法,其特征在于,还包括:获取调用网络相关系统函数的相关代码,并对所述相关代码进行hook;以阻止任一系统网络相关的函数地址的数据调用。8.根据权利要求1所述的反向对抗程序作弊的方法,其特征在于,所述非法程序通过筛选非法注入模块、监控篡改程序代码、检测非法hook操作、检测非法窗口、检测非法热键中的一种或几种进行检测。9.一种电子设备,包括应用处理器和存储器,其特征在于,所述处理器用于实现所述存储器中存储得计算机管理程序式时实现如权利要求1-8中任一项所述的反向对抗程序作弊的方法。10.一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于,所述计算机管理类程序被处理器执行时实现如权利要求1-8中任意一项所述的反向对抗程序作弊的方法。

技术总结


本发明实施例提供了一种反向对抗程序作弊的方法装置、存储介质及设备,包括:检测非法程序,并获取所述非法程序对应的非法模块;查所述非法模块对应的线程;调用系统函数,暂停所述非法模块对应的线程;获取所述非法模块进行hook操作;以及对所述非法模块进行干扰,以禁用所述非法模块,使其功能失效,能够保证自身程序正常运行,反向对抗程序作弊的效果更好。好。好。


技术研发人员:

周志刚

受保护的技术使用者:

武汉斗鱼鱼乐网络科技有限公司

技术研发日:

2021.06.22

技术公布日:

2022/12/22

本文发布于:2024-09-23 12:33:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/46064.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   模块   函数   程序
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议