能力值:
( LV3,RANK:20 )
|
-
-
2 楼
下断B中代码,单步跟踪返回到A
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
返回不到A,只在系统领空处就停止了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
在A中断CreateRemoteThead
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
按照你所说的,B的发送数据肯定来源于A,就应该知道A是通过何种方式将数据发给B的。
进程间的数据通讯,你可以看看 《windows核心编程》这本书。里面有介绍。比如通过共享内存、文件映像、管道或者通过进程间的内存写入等。
可以对B进程的send函数的发送BUF进行回溯,肯定能回溯到数据的来源。
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
据说先要分离进程的 好像穿山甲壳
|
能力值:
( LV9,RANK:370 )
|
-
-
7 楼
大部分游戏都是这样实现的。多线程控制。
线程A:主角动作是一个线程,每个动作需要发的数据,压入一个队列。
线程B:去队列中取出数据,然后发送。
我觉得你是不是在说,,在线程B中用bp Send,虽然可以断,但是无法返回到线程A的Call里面。
这个一般情况下用内存写入断点,可以找到线程A的写入数据的Call。
但是有的游戏要发的数据经过N次Copy,而且每次Copy,就释放了原始Buf,所以不好搞。
这个情况下,你首先跟Recv,找到 心跳包,在心跳包的处理过程Call中,必然可以找到线程A的SendCall。
|
|
|