能力值:
( LV2,RANK:10 )
|
-
-
2 楼
对了,我用网上过内存保护无驱动ce也可以读取出来内存,但是我查阅相关资料,并没有什么内存保护ReadProcessMemory不防,防ce啊。一头雾水。
|
能力值:
( LV5,RANK:73 )
|
-
-
3 楼
¿ 没驱动你摘啥回调?还是说你理解的驱动就只能是那俩回调?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
没驱动就是万万不可能,有驱动就是万万个可能. 如果游戏没有驱动的话,它可以做到这样,你再来"雾水"吧. 如果有驱动的话,那也不是什么高科技了,RING0要玩残RING3,无数种方法.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
Sprite雪碧
¿没驱动你摘啥回调?还是说你理解的驱动就只能是那俩回调?
啥意思,我的意思,我已经用驱动摘了俩钩子和3个回调。我主要表达的是,解决所有回调以后,为啥ce在不加载ce自己驱动情况无法读取内存,但是readReadProcessMemory能读出来。这是啥情况,是内存保护吗,如果内存保护,我需要去查看哪个函数。我只查找到在用户层函数VirtualProtect,但是没找到内核层函数,经过测试用户层函数并无法体现上图效果,应该不是这个原因导致的。我就一头雾水
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
flarejune
没驱动就是万万不可能,有驱动就是万万个可能.
如果游戏没有驱动的话,它可以做到这样,你再来"雾水"吧.
如果有驱动的话,那也不是什么高科技了,RING0要玩残RING3,无数种 ...
我想知道做到这种保护的是哪个函数。不是说我认为驱动做不到这个行为。我奇怪的是,ce读取不到,readReadProcessMemory可以读取到,难道是驱动检测到ce,然后又执行了什么奇怪的函数?那我应该如何去分析。我驱动就简单用自己注册的回调函数入口替换了这5个函数入口地址,我没有卸载这5个函数,不然关闭游戏要蓝屏。
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
屏蔽内存 的手法很多啊。这个需要具体分析。你把回调摘掉只是基操,但是读写内存方面的 你可没有处理。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
青丝梦
屏蔽内存 的手法很多啊。这个需要具体分析。你把回调摘掉只是基操,但是读写内存方面的 你可没有处理。
自写ReadProcessMemory()能读取,按理说ce就能读取吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
别沉了呀,老哥们!!!给个思路也行!
|
能力值:
( LV4,RANK:40 )
|
-
-
10 楼
因为CE不是通过readprocessmemory读内存的.. CE在github有源码,感兴趣可以读一下。
最后于 2020-6-17 00:47
被萌克力编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
楼上说的太复杂化了,楼主说的并非只是CE无法读取,X64dbg也无法读取. X64dbg使用的就是ReadProcessMemory读取的. 而我觉得,这种可能就是最笨的反调试技能之一:判断当前进程是不是调试器/修改器. 而CE和X64DBG都是被黑名单了的.至于如何反,个人猜测可能仅仅是进程名判断....
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
flarejune
楼上说的太复杂化了,楼主说的并非只是CE无法读取,X64dbg也无法读取.
X64dbg使用的就是ReadProcessMemory读取的.
而我觉得,这种可能就是最笨的反调试技能之一:判断当前进 ...
谢谢老哥给的思路,但是我今天晚上已经做了实验,用改名为CSRSS.exe的ce也读取不到内存,我现在初步判断,要不就是检测到了某个模块?或者说我钩子还是没清理干净,又或者有深层次的钩子。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
老哥,大佬们。我已经琢磨了快两个星期了,battleye是不是还hook了什么函数。求个大佬提一下也行啊!为啥就是无法读取内存啊,我都开始检查pe头了!
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
通用型反反调试插件用上再说吧,比如ScyllaHide,TitanHide,SharpOD这些. 如果这样依然还被检测到,再做深入研究吧. 这些通用型反反调试插件的用处就是这样,虽然无法完全帮你越过检测,但是可以帮你指明大概思路. 类似你这种情况,我百分之一一亿肯定是进程检测的方式以黑名单识别拒绝对象. 因为x64dbg和CE的共同点并没有什么,就是你说的2个API:OpenProcess+ReadProcessMemory, 而默认情况下,CE是没有"调试器"行为的,它不会附加到进程去,当然也不会启用调试模式.如果连 这样都被识别的话,除了进程检测之外,没有任何方式了. 这个傻屌游戏,没有你想象中那么复杂,你以"用什么方式识别进程是CE"的方向去思考就行了, 什么调试对象,什么调试端口,什么进程权限这些,你通通不用理.
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
flarejune
通用型反反调试插件用上再说吧,比如ScyllaHide,TitanHide,SharpOD这些.
如果这样依然还被检测到,再做深入研究吧.
这些通用型反反调试插件的用处就是这样,虽然无法完全帮你越 ...
谢谢思路,我这就试试。这个问题,这两天弄得头昏脑胀的,没啥动力看理论知识,真的很烦。
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
使用dbvm,没有读写不了的内存
最后于 2023-3-30 00:20
被逆向爱好者编辑
,原因:
|
|
|