首页
社区
课程
招聘
[讨论]过NGS反调试一点思考,可能有错的地方,菜鸟一枚,大佬求放过.
发表于: 2020-6-30 01:26 7701

[讨论]过NGS反调试一点思考,可能有错的地方,菜鸟一枚,大佬求放过.

2020-6-30 01:26
7701

NGS全称neon game security,天成旗下游戏反外挂系统
经检查,没发现驱动,只有3Ring下各种检测api,相对较简单
1.直接OD附加,进程结束,有反调试.
3.api Monitor监控NGS行为.发现各种遍历进程api
,各种遍历硬件基本信息.
4.再次尝试反反调试,移除各种调试信息,卒
5.发现问题,为什么api Monitor可以调试,我不行
6.通过多次使用api Monitor发现,在创建进程时选监控是可以调试NGS的,
而在NGS运行时附加必定退出.
7.附加调用NtDebugActiveProcess
还有另一种调试方法.
BOOL NtCreateProcess
(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATIONlpProcessInformation
);
dwCreationFlags

 

DEBUG_PROCESS
0x00000001
The calling thread starts and debugs the new process
and all child processes created by the new process.
It can receive all related debug events using WaitForDebugEvent

 

8.应该是我没处理好某些反调试,直接从创建进程调试正好可以绕过.
最近太忙了,以后有空研究.
9.实现,偷梁换柱,在CreateProcess下断,改参数写个插件把调试转移给调试器.

 

PS:大佬们,你们是怎么分析出各种反外挂系统的,感觉像神仙一样
调试个ngs都整的头秃
给个基本的学习路径就行,小菜鸟无从下手啊


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-10-9 14:25 被kanxue编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (12)
雪    币: 1319
活跃值: (1960)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
https://www.freebuf.com/column/181083.html  基本上应用层就这些。
2020-6-30 06:56
0
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
3
创建进程调试可以绕过,附加调试绕不过。
考虑一下隐藏线程这种在x64系统上很有用的反调试
2020-6-30 09:26
0
雪    币: 1558
活跃值: (3453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
库尔 https://www.freebuf.com/column/181083.html 基本上应用层就这些。
谢谢大佬,我再仔细研究一下
2020-6-30 11:01
0
雪    币: 1558
活跃值: (3453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢提示,我查下这方面资料,以前没看过
2020-6-30 11:03
0
雪    币: 410
活跃值: (1168)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
NGS自己加载了一份NTDLL跟KernelBase 有些API走的是自建通道 调用的地方基本打VM了
2020-6-30 14:26
0
雪    币: 1558
活跃值: (3453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
如梦而醉 NGS自己加载了一份NTDLL跟KernelBase 有些API走的是自建通道 调用的地方基本打VM了
卧槽...KernelBase我知道,倒是没发现还有Ntdll这回事
2020-6-30 17:52
0
雪    币: 2492
活跃值: (1685)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ngs会重载好几次次ntdll,首先是重载一次NTDLL,然后再用重载的NTDLL再重载NTDLL。重载的文件放在temp的地方
2020-7-8 14:07
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
maxwudi ngs会重载好几次次ntdll,首先是重载一次NTDLL,然后再用重载的NTDLL再重载NTDLL。重载的文件放在temp的地方
还有x86到x64的切换也是自建的,所以Ring3层Hook不到了
2020-8-23 04:54
0
雪    币: 2492
活跃值: (1685)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
yy虫子yy 还有x86到x64的切换也是自建的,所以Ring3层Hook不到了
我记得是可以HOOK WOW的那个节点。 那个地方还是可以HOOK到信息的。5.0.7.0是这样的
2020-9-8 21:34
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
maxwudi 我记得是可以HOOK WOW的那个节点。 那个地方还是可以HOOK到信息的。5.0.7.0是这样的

Hook不到,ngs直接调用syscall指令切换到内核了,想Hook只能上驱动了

最后于 2020-9-8 22:34 被luskyc编辑 ,原因:
2020-9-8 22:34
0
雪    币: 1182
活跃值: (954)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
32bit可以附加,64就不可以了 不知道哪里被检测了
2020-10-4 09:59
0
雪    币: 244
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13

老哥,你附的过检测是不是不能用了

最后于 2021-8-22 11:18 被int0x3CC编辑 ,原因: 搞错了
2021-8-22 11:16
0
游客
登录 | 注册 方可回帖
返回
//