能力值:
( LV2,RANK:10 )
2 楼
还有,一下部分摘自广海论坛:
找当前怪:
没选怪时搜ffff,然后选怪。搜改变的数,把怪打死再重复步骤。
最后得到一个地址。下什么写入,断得
0045265e - mov [ebx+00000f98],0000ffff //ebx=17bddb10
搜17bddb10,得到一堆,还不变,没办法,用第一个试试
加入指针后断到
0041cadf - mov [eax+uniperdecfunc_buf+56417c],edx //eax=0
应该差不多。小退再看看
测试正确。
这里还发现,直接写这个地址可以选怪。不用搞什么CALL了。呵呵
只不过看不到选的什么怪,用技能打过去会跑正确。
找怪数组。
用ID搜一下。太多了。不好搞。。
于是就搜了一下名称。得到十几个。。
前面的是绿的。而且比较小。不管。我也不知道哪个是哪个
于就是到处跑着打怪。把猫全杀了(附近的)。于是乎看到好几个变了。。是17xxxxx的地址
。那好。知道17xxxxx才是怪数组的东西。于是等刷新再搜名称
找一个下断。然后就去打(应该不知道是哪个还是一样全杀),呵呵,最后得到一个断下,
查看内在,看到一堆mov [esi+xxx],edi的东西。这肯定的嘛。怪死了应该在清空了(怪这个
版本居然会被清空,v18000可没这么干过)
往上找找esi哪来的。我找呀找,找呀找,最好远看到。mov
[esi],uniperdecfunc_buf+8880c
难道是当前怪首址?
感觉这找法不对。。 理理思路.
我们不是用ID来找找。
搜名称,得到一堆,找一个能用的地址。然后拿去遍历。当然这次是往上历,因为上次研究
过,所以我知道这个名称是在后面的。所以我得向前历,如果是别的游戏可能是往下历.
最后发现。在老远的地址有一个ID。呵呵,很象怪的ID。我们假设它是ID。然后用CE搜这个
ID。得到一堆。找到地址和我们遍历相同的那个
然后下断,选所有操作(感觉自己傻了)为什么我不直接用CE添加一个呢。。晕
断下后得到
00405cb6 - mov ecx,[eax+0c] //eax=17d3a008
还有一个
00448185 - mov eax,[ebx+0c] //ebx=17d3a008
从这里可以看出17d3a008其实是怪的首址。我们对这个地址遍历玩一下
为什么要遍历?我是想抽烟了。所以。。。咳。。
OK.我们搜一下17d3a008,记得别把怪打死。
得到二个地址。好嘛。这个好办了。
选用第一个试。
断下后得到
00452643 - mov ecx,[eax*4+uniperdecfunc_buf+bf4d98] //eax=62c,这个。。还不知道?
对,这个eax就是怪ID,所以。。这个应该不对。为什么不对?你家遍历用怪ID呀,你哪来的
怪ID
所以我们断第二地址,最后得到 mov [eax*4+uniperdecfunc_buf+c04dc0],ecx //eax=1,对
了不?呵呵,我们试一下
经验正,这个地址OK。公式也正确。
那我们知道了怪的数组了。
for i=0 to 50(为什么是50?因为大于50就没东西了) do
begin
单怪首址=[i*4+uniperdecfunc_buf+c04dc0]
end;
怪物的信息各是多少呢?这还问。。遍历呀。。
名称=+2c8
怪ID=+c
等级=+334
当前血=+330
最大血=+34c
怪x=+584
怪y=+58c
距离=+2c4 //这个有点难找。不好对。。我和CE找的。试了好久 那我们段下的第一个是什么呢?有什么和呢?这里我讲一下哈。
因为我刚才选了怪,而且我运气好,一下就点到我们找的那个怪上面了。所以我的当前怪就
是我们找的怪,所以那个地址是录当前怪首址的。明白了吗?
NND运气确实是好呀,找个怪数组,居然连当前怪的地址都搞定了.
当前怪首址=[怪ID*4+uniperdecfunc_buf+bf4d98]
此文中提到的“遍历”是什么意思?还有下断是不是在OD中下,偶在OD附加进程,热血江湖这个游戏就嗡嗡做响咋回事?
能力值:
( LV2,RANK:10 )
3 楼
我真的不知道再下去要学什么了,天
能力值:
( LV2,RANK:10 )
4 楼
楼上方向有点迷茫了
可以到这里看看 http://bbs.pediy.com/forumdisplay.php?f=47