能力值:
(RANK:300 )
|
-
-
2 楼
动态调试!
od调试 当eip=00425f4c时 查看 EAX的值就是了!
显然静态分析是得不到具体的值的!当然脑袋是二进制的大牛除外!呵呵!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
调试能够读出,但是每次eax都会变,只有特征码不变,我想通过特征码来读eax
|
能力值:
(RANK:300 )
|
-
-
4 楼
不明白‘特征码’指的是什么!
呵呵!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
69C0100100000301C2 0400 这个就是特征码
|
能力值:
( LV8,RANK:120 )
|
-
-
6 楼
DEBUG API...
|
能力值:
(RANK:280 )
|
-
-
7 楼
如果C20400后面有足够空闲区域,可以把EAX的值写到内存中某个安全的地址A3 ?? ?? ?? ??然后再返回,你的程序只需要去读那个地址就好了
希望不是用来做外挂的
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
感谢mstwugui 大大的回复;不修改游戏源代码;有办法实现么;有个想法
开始的时候EAX的值是不变的,等到游戏运行到那个位置,eax的值就会变,通过特征码来定位这个地方,读改变以后的eax 数值;程序里面设置一个变量把eax 送到变量里面;定时读,不知道能不能行的通
|
能力值:
(RANK:280 )
|
-
-
9 楼
EAX不是只有这里用到的,很多其他指令都可能修改EAX的值,这样做没有意义
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
如果调用这个子程序,eax的值应该是正确的吧
|
能力值:
(RANK:280 )
|
-
-
11 楼
这个问题应该只有你自己才能回答了,别人又没有分析你的程序,怎么会知道正确与否
有时候自己动手试一下其实是最快的解决办法
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
感谢mstwugui 大大的回复,我去试一下
|
能力值:
( LV13,RANK:970 )
|
-
-
13 楼
他可以读到的东西你也可以读到,你看看他怎么获取的你也怎么获取不就ok了么
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
你应该继续往上找ESP+4 和ecx是什么值
|
能力值:
( LV9,RANK:180 )
|
-
-
15 楼
看起来像是在索引一个结构阵列
(结构占 272 byte)
ECX = 参数0 = *结构阵列起点
[ESP+4] = 参数1 = idx
return( [ECX] + idx*sizeof(struct) )
可能有多个这种阵列, 所以有 [ECX] 这个写法
来乱的. 看过就算了.
|
能力值:
(RANK:280 )
|
-
-
16 楼
我猜测楼主的问题是如何读取其他非调试进程中特定时刻寄存器中的数值
|
能力值:
( LV15,RANK:2473 )
|
-
-
17 楼
14楼已经给你指明了一条可行的路
至于路有多远要靠你自己去走了
我想很多人也都这样走过的
你可以称他们为过来人
|
能力值:
( LV13,RANK:410 )
|
-
-
18 楼
凡是有ccfer的贴。一定要顶
|
能力值:
( LV12,RANK:210 )
|
-
-
19 楼
膜拜楼上的楼上
|
能力值:
(RANK:650 )
|
-
-
20 楼
膜拜楼上膜拜的人
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
感谢各位大大的指导
|
|
|