首页
社区
课程
招聘
[讨论]对于注入dll访问进程内存数据和函数,有什么比较好的应对方法,大家来说下
发表于: 2010-8-26 11:55 7596

[讨论]对于注入dll访问进程内存数据和函数,有什么比较好的应对方法,大家来说下

2010-8-26 11:55
7596
不管是什么注入方式,远程线程,空钩子 还是其他更暴力的方式。目的是访问进程的数据或者call进程的函数。游戏外挂常用手法。
有什么比较简单有效的防范手法?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
再说一句,hook 自己写壳的方式暂时不考虑。
据说有个未公开API RegisterSystemThread 可以防止被hook 用了没效果。有知道的也说一下
2010-8-26 12:36
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
3
讨论首先你要说出点东西,难道只等别人来告诉你吗?
2010-8-26 22:04
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
1:对关键代码进行效验。
2:在调用CALL这里做效验。
3:其他的嘛,就HOOK该HOOK的地方。
2010-8-26 22:11
0
雪    币: 247
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WST
5
看是拦截什么了,这个方法应该多吧,可以直接思考,也可以直接逆向别人的,

应用层可以考虑让别人打不开你保护进程句柄,防止消息注入,驱动的话拦截就困难了
2010-8-27 10:42
0
雪    币: 75
活跃值: (698)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
装 微点主防,该拦的都拦了
逆下,照搬,
2010-8-27 12:18
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
多谢!
首先对于3,我觉得用Hook对付hook始终不是好方法。尤其对于客户端软件,应该对客户机器负责一些,不要到处都是钩子。
1应该是比较简单又能很快看到效果的方法,但是始终后期跟进维护起来比较麻烦,应对的方法也比较多

第2种方法具体如何校验呢,麻烦再讲多点思路。
2010-8-30 09:15
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
还是多在游戏的架构和设计上多下工夫吧
2010-9-6 17:17
0
雪    币: 1407
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
微点的防Ring 3注入很不全面吧
2010-9-6 17:32
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主是代码高手,在看雪发个招聘呗。这事儿不用自己动手吧?交给大牛去做啊。。。
2010-9-6 21:22
0
雪    币: 106
活跃值: (271)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
呵呵,API钩子,基本无敌的,那么多API调用,中间一两个的执行被修改了也很难察觉的
API的地址空间都是固定的(有些小的差异),作个平台判断就可以了
关键CALL过程校验,但是你执行重要返回或者加载函数的吧?在这里就被Hook了
至于微点,也是API Hook,连微点也能够劫持,文字,网络调用,界面,上百个API,全部效验?
深层Hook技术直接采用内存覆盖的形式,基本是检测不出来的
2010-9-6 23:02
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
这年头 都不钩API了
2010-9-7 09:33
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
终于又有人回了。这里不像讨论hook的具体技术,更不说API的hook了。

只讨论一种情况:借hook注入dll 从而得以访问你的进程。或者直接分析到你的程序里面某些函数的入口 然后直接call

防止dll注入可能不太现实,那就只有dll注入之后定时检测它,但是无论是特征码检测还是名称检测 都要跟着dll的修改而维护。

上面说的在call这里检测,我觉得如果能实现倒是好方法 但具体怎么判断对你的函数的call是非法的呢
2010-9-7 10:58
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我是进来学习的!
2010-9-9 05:50
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
1,检测CALL的返回地址啊 栈回溯之类的
2,还可以加一些暗桩,只有设置了某个结构,这个CALL才真正有效
3,关键代码VM是少不了的
2010-9-9 09:30
0
游客
登录 | 注册 方可回帖
返回
//