首页
社区
课程
招聘
应用层反外挂技术研究
发表于: 2013-6-19 17:02 30743

应用层反外挂技术研究

2013-6-19 17:02
30743
此技术不算原创,但算是整理,详解

话说神秘人物v校,73%可能性为女性。此技术是从他那里学来的。
此人说话言简意赅,需要耐心体会。

外挂,与反外挂,是矛与盾的关系,要想做好反外挂,必须了解矛的构成,以及盾的技术,才能制造出一个较好的盾。

纵观当前反外挂形势,就像是世界大战,各种驱动满天横飞。战火连天,一发生战争,最受伤的是老百姓,一但用到驱动去反外挂,最受伤的是用户
bs驱动反外挂技术,我很欣赏应用层反外挂技术,稳定,优雅,不会伤及无辜。

下面讲讲应用层反外挂技术。

某日,突然想起应用层反外挂技术,自己不得其解,跑去问v校,
问:"应用层反外挂,有什么好点子没有,因为今天 x64大行其道 ,弄驱动,已不合时宜了?"
答:"Dllmain DLL_THREAD_ATTACH"
问:"怎么讲"
答:"阻止远程线程,不开线程,他能干什么?"
问:"如果是SetWIndowsHooks呢"
答:"WH_DEBUG"
问:"怎么讲"
答:"干掉其它进程来的HOOK"
...

这样的回答,十分精辟,我只能叫他v佛,下面,我们仔细口味

技术1: 干掉远程线程,防止利用远程线程注入

只有想不到,没有做不到,这么简单的东西,被我们经常忽略掉了,
我从来没有想到Dllmain这个东西,还能用来反外挂,下面讲讲DLLMain用在反外挂有什么用处

DLLMain是一个回调,如果有新线程创建时,会收到一个DLL_THREAD_ATTACH,
这个时候 ,判断线程入口 点是不是为LoadLibraryA(W),如果 是的话,可以肯定是远程线程正在干注入这事,所以Kill之。至于 如何取得线程入口点QueryThreadInformation,自己百度去。

技术2: 干掉hook,防止SetWindowsHookEx注入

自己先给进程加上一个名叫WH_DEBUG的钩子,
这个钩子能干什么呢。他能监控其它钩子,如果发现,其它进程正在给本进程安装钩子,直接返回FALSE了事,自己的进程在给自己安装钩子,返回TRUE,并且CallNextHookEx
怎么知道是谁在给自己安装钩子呢。

我们看这个回调的第三个参数
LRESULT CALLBACK DebugProc(          int nCode,
    WPARAM wParam,
    LPARAM lParam
);

第三个参数传递以下结构体
typedef struct {
    DWORD idThread;
    DWORD idThreadInstaller;
    LPARAM lParam;
    WPARAM wParam;
    int code;
} DEBUGHOOKINFO, *PDEBUGHOOKINFO;

在这个结构体中,包含了Installer的Theadid,跟据ThreadID可以找到相应的进程,发现了干坏事的进程,想怎么处置,自己看着办吧

矛与盾的关系,不是绝对的,上面两项技术,不能阻止所有外挂程序,但可以阻止大部分外挂,
就第一项,还可以用来干其它的,因为上面两项不能防止所有注入操作,但是他可以监控线程创建,如果一个外挂,不创建线程,能干哪些事,当然,这不是绝对 的,给我一次执行机会,我就能干许多事。

上面只是浅显的技术研究,第一项技术可干许多 的事,自己研究吧

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 5
支持
分享
最新回复 (35)
雪    币: 88
活跃值: (45)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
沙发  不错
2013-6-19 17:16
0
雪    币: 1140
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感觉是外挂促进了我们国家it从业者对操作系统层面方面的技术进步
2013-6-19 17:27
0
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
73%亮了
2013-6-19 17:34
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我自己加载一个debug钩子安装在你的钩子上面……
Windows消息的规则是后到先得
2013-6-19 17:59
0
雪    币: 10
活跃值: (231)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
话说第一项中DLL_THREAD_ATTACH消息是在预注入dll的dllMain中收到的阿, 怎么会在游戏进程中收到这个消息呢,
2013-6-19 18:00
0
雪    币: 137
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
打酱油开了
2013-6-19 18:28
0
雪    币: 297
活跃值: (120)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
不是促进,是引入歧途,成天跟着美国屁股跑,生死大权人家掌握
2013-6-19 18:43
0
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
9
以上两种技术虽然能阻止一部分比较通用的注入方式,但是对DLL劫持、输入法注入不能防范。
另给楼主加一个方法:Hook Ntdll!LdrLoadDll。不管是setwindowshook还是远程线程加载模块,都能拦截~

V校果然猥琐,只能膜拜
2013-6-19 18:44
0
雪    币: 1594
活跃值: (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
太甜了,这也就只能阻止下用模块的熊孩子而已
2013-6-19 19:24
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
11
HOOK是个深坑...
2013-6-19 20:57
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
12
没用模块的熊孩子也一样,有很多时候,有些东西仔细思考一下,可以更多的XX~


2013-6-19 20:58
0
雪    币: 1149
活跃值: (833)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
13
线程不线程, 总会起来.... 起来就有机会....
2013-6-19 21:23
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
如果不用模块,动下脑子,第一项技术,直接给你干掉
2013-6-20 09:22
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
15
v佛,我理解够深入不?
2013-6-20 09:23
0
雪    币: 1594
活跃值: (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
简单点的 SSDT HOOK ,INLINE HOOK 直接跳转到你的执行代码。稍微难点的 硬件断点、SEH、VEH。如果一定要加载DLL的话,你可以选择RELOAD方式。
2013-6-20 09:47
0
雪    币: 437
活跃值: (78)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这个不错,值得学习
2013-6-20 09:51
0
雪    币: 217
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
其实我觉得游戏本身的检测+VM才是最困难的吧。把代码弄进去并执行和反调试并非写挂最困难的部分。
2013-6-25 15:51
0
雪    币: 27
活跃值: (90)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
19
楼主写的帖子很有趣。。
2013-6-25 16:08
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
Hook  LdrLoadDll + CreateThread

万事大全..
2013-6-26 10:36
0
雪    币: 57
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
无dll,不需要远程线程,看你怎么反。
2013-6-26 12:39
0
雪    币: 77
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
73%为女性?
你这一说我都不知道我见到的是不是真身了.
2013-6-26 12:58
0
雪    币: 535
活跃值: (245)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
23
想法很好, 可惜只是一厢情愿的意淫
2013-6-26 13:50
0
雪    币: 9560
活跃值: (2391)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
不错mark一下
2013-6-26 18:29
0
雪    币: 46
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
它是V菩萨 才吻合你的“73%可能性为女性”判断.
2013-6-26 21:14
0
游客
登录 | 注册 方可回帖
返回
//