好友
阅读权限20
听众
最后登录1970-1-1
|
饥饿滴小凤
发表于 2011-4-25 19:43
看到每次更新后都会有不少人问基址,其实找到武林的基址很容易,下面就介绍一下。
使用工具:反汇编工具w32dsm
建议工具:ultraedit或者其他工具,用途——查找文本^^
也可直接用w32dsm的搜索功能,不过w32dsm在搜索时容易出错,所以建议使用其他工具
首先,用w32dsm反汇编游戏主程序elementclient.exe,耐心等待一段时间后得到汇编代码,建议保存一下,因为在后面的搜索中w32dsm有时候会出错
查找人物基址:
这个很简单,查找文本
* possible stringdata ref from data obj ->btn_headmp
只有一个结果出现,这就是要找的地方,以79版为例,找到此段文本后,后面有一段代码,如下:
* possible stringdata ref from data obj ->btn_headmp
           |
:004cfe75 68801f8900     push 00891f80
:004cfe7a e8414b1c00     call 006949c0
:004cfe7f 8bc8       mov ecx, eax
:004cfe81 e86aed1d00     call 006aebf0
:004cfe86 8bcb       mov ecx, ebx
:004cfe88 e86381fdff     call 004a7ff0
:004cfe8d 8bf0       mov esi, eax
:004cfe8f bd01000000     mov ebp, 00000001
:004cfe94 8b866c020000     mov eax, dword ptr [esi+0000026c]
:004cfe9a 8b8e4c020000     mov ecx, dword ptr [esi+0000024c]
:004cfea0 8b9654020000     mov edx, dword ptr [esi+00000254]
:004cfea6 3bc5       cmp eax, ebp
:004cfea8 894c242c      mov dword ptr [esp+2c], ecx
:004cfeac 89542428      mov dword ptr [esp+28], edx
:004cfeb0 8944241c      mov dword ptr [esp+1c], eax
:004cfeb4 7f04       jg 004cfeba
:004cfeb6 896c241c      mov dword ptr [esp+1c], ebp
看不懂没关系,不用关心是什么意思,从上往下数第三个call xxxxxxxx,这个才是我们要关心的,接着查找那个:xxxxxxxx(注意前面有一个冒号,别掉了。或者可以直接在w32dsm中按shift+f12,然后输入xxxxxxxx回车)。这时候找到的这一行代码就是我们要找的东西,79版里是下面这一行:
:004a7ff0 a10cba8c00     mov eax, dword ptr [008cba0c]
搞定,后面那个中括号里的东西就是人物的基址~
查找等级经验基址:
这个比上面那个简单得多,但是要多费一点时间:
查找文本
mov eax, dword ptr [4*eax+
看清楚了,这段代码只有一半,因为加号后面就是要找的基址,如果知道还找什么啊^^
搜索结果会有一大堆,哪个才是呢?不用怕,往下看。
在w32dsm反汇编出来的代码中,都会有一些注释将代码分割成代码段,最常见的就是
* referenced by a call at addresses:
然后下面跟着一堆地址,用逗号分开
我们要找的经验基址有一个特点,就是
* referenced by a call at addresses:
之后有四个地址
所以* referenced by a call at addresses:下面有四个地址的那一段就是我们要找的内容(查找时间以从头开始往下找,找到的第一段有这种特点的查找结果就是)
79版武林的查找结果如下:
* referenced by a call at addresses:
|:0047bfc4  , :004b54ee  ,:004cfee4  , :004cfef1
|
:00476d10 8b442404      mov eax, dword ptr [esp+04]
:00476d14 8b048548ff8c00    moveax, dword ptr [4*eax+008cff48]
:00476d1b c3        ret
看好了,mov eax, dword ptr [4*eax+008cff48],所以008cff48就是要找的经验基址 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|