能力值:
( LV4,RANK:40 )
|
-
-
2 楼
沙发 我没看仔细
最后于 2020-6-21 01:19
被萌克力编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
萌克力
读写不够骚呗
而且内核HOOK窗口相关API,是无法让窗口不被枚举的。
加上听你说的像是x32的环境...还是省省吧
老哥可能没仔细看帖子, 只要不在计次循环 里 有读内存操作。 无论在循环上面还是下面读内存 绘制窗口。都没有任何异常。
|
能力值:
( LV9,RANK:280 )
|
-
-
4 楼
考虑api高频调用被检测
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
既然都注入进去了,那直接用汇编来读不就行了?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
同进程下,还用什么ReadProcessMemory,直接读写指针不是更好么. 但我认为,问题不是出在内存读取上面,而是在线程上面. 除了上面所说的方式,根据你特征描述,我觉得还有个方式会出卖你的, 就是线程的入口地址,检测到线程入口地址,就知道你代码所在的内存区域,无需QueryVirtualMemory也可以知道是不是自己的内存区域. 而为什么你前一段代码没有问题,我认为是因为检测机制是心跳的方式循环检测所有已知的内存区域, 而你的前一段代码是执行一次就消失了,错过了心跳检测...所以免于一死. 尝试下隐藏(欺骗)线程入口地址,或者索性不使用自己的线程做事情,使用APC或者是HOOK一个游戏自身的繁忙的线程来做事.
ps 1.:除了线程入口,心跳循环枚举线程上下文(ThreadContex),获取CIP(EIP/RIP)的方式,也可以暴露你的模块(DLL)所在的内存区域. 所以说,那些什么隐藏DLL的功能,都是傻子骗傻子的方式.有就是有,没就是没,除非是死代码,否则肯定有执行的,有执行就会 暴露位置.
2.高频率API调用检测的可能性几乎也是0,因为API的调研频率,根本是无法估量的,10毫秒一次对于某些API来说算是高,而对于某些API 来说,这个还是非常正常的,比如绘制API和性能计时器的API.除非厂商真的出了一个ReadProcessMemory API调用频率检测,那真的是日了狗, 真.山寨.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
flarejune
同进程下,还用什么ReadProcessMemory,直接读写指针不是更好么.
但我认为,问题不是出在内存读取上面,而是在线程上面.
除了上面所说的方式,根据你特征描述,我觉得还有个方式会出卖你的 ...
前面的读写代码 也是在线程里面。毫秒级无限循环读。没有问题。 只不过不在计次循环里面。 在同一个线程里面。 只要在线程里面的计次循环 有读内存操作。无论读空白地址。,还是任意什么操作 都会被检测。 不应该是ReadProcessMemory被检测。 还是那个尴尬问题。只要不在计次循环里面读。都一切正常
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
关键是,你前一段代码,虽然也有循环的处理,但是整个运行周期,是不是很短? 要检测是不是ReadProcessMemory的原因,直接做测试吧,HOOK一个游戏繁忙的线程,然后ReadProcessMemory. 游戏最繁忙的线程,就是主线程(GUI THREAD)了,就干它.
说到底.你也认为不是ReadProcessMemory的问题,那根据我上面所说,除了披露ReadProcessMemory不存在问题之外, 也说明了一点就是你DLL注入的这个行为,还有很多方式被发现的. 而你说单挂绘制操作(你这个绘制操作肯定是在GUI线程上面干的咯)就没有问题,也正好证明了:在游戏自己的线程里面,做啥都没问题, 也证明了HOOK没有被发现,游戏没有对自己的代码进行CRC检测.
总结收盘(问题就1点): 1.注入行为被发现,通过线程入口/CIP这些方式,一样可以发现已经被抹除的DLL,除此当然也有其它的方式. 1.a:根据情况所猜想,本人依然认为最大可能被发现的方式,就是你这个常驻的循环线程被检测到CIP,从而导致整个注入行为被发现. 见招拆招,先从这里入手吧(隐藏ThreadContext的CIP试下,返回一个游戏所属的代码地址,如果游戏有严格检测的话,你还必须返回一个真实 有效的代码地址.text段里面的范围), 1.b:通常情况下,要隐藏线程的CIP,是有点困难的,特别是地方如果在内核有处理的话.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
感谢大佬的 用心回复。 我试试去。 这个检测 是真的耐人寻味。哈哈哈。
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
应该是读取时间检测,你要做方框透视肯定刷新和调用读取API时间要很快才能绘制方框,游戏公司在这个方面有检测也算正常
|