首先說說走路CALL的基本思想:
我們在窗口裏點擊某個二維座標,遊戲把它換算爲三維座標,然後遊戲把算出的目的地座標保存在一個臨時的變量裏,
並將這個地址以參數形式傳遞給走路函數,然後人物就會走動起來,大概就是這麼一個過程。
這裏的臨時變量在重新選擇人物前一般不會改變,所以我們可以利用這個特點,先用CE找到鼠標點擊目的地的座標地址,
然後用OD就可以找出我們需要的走路CALL地址了。
下面開始找CALL之旅,首先啓動遊戲,選擇人物完全進入遊戲,然後啓動CE,CE加載遊戲進程。
我們先在遊戲裏隨便點一下一個比較近的地面,人物跑到目的地後,就不要動了,
用CE搜索這個數,用X座標或Y座標都可以,但是後面都要用同一種座標,不可以變。
遊戲裏我走到了這個座標,X:504 Y:665 ,在CE裏設置搜索類型爲Float ,就是浮點數型,搜索504這個值,
可能時間會比較長,慢慢等待CE搜索完成。家裏電腦不行,我去倒杯水喝。。。
終於搜索完成,結果很多,要繼續搜索。
遊戲裏,我再點一下,人物走到座標,X:494 Y:664 ,在CE裏繼續搜索 494 ,
不要點New Scan啊,要點 Next Scan 。這下很快就搜索完成了,結果大概230多個。還是太多,繼續搜索。
我在遊戲裏走到座標,X:491 ,Y:656 ,在CE裏繼續搜索 491 ,如果結果還是太多,
那麼在搜索類型那裏換一個搜索方式,我們用沒有改變的數值(Unchanged Value)來搜索,點一下Next Scan ,結果大概只有100個左右了,
還是有點多,怎麼辦,涼拌,呵呵。方法還是有的,在遊戲裏轉動一下視角,注意是轉動視角,而不是走路。
再次用沒有改變的數值(Unchanged Value) 多搜索幾次,儘量降結果控制在30個以下。
好了,當你覺得結果可以很快瀏覽完的時候,也就是大概30個以下的時候,開始關鍵的一步搜索。
切換到遊戲,我們點擊一個比較遠的地面,可以讓人物跑很久的點,人物開始跑以後,
我們切回到CE觀察,此時會有幾個或者更多的和其他座標不同的座標,這些座標是固定的,
而其它座標是慢慢減小或變大的,我們需要的就是這幾個固定的座標地址。
把那些固定不變的地址全部雙擊添加到地址列表。
右鍵一個個的點擊這些地址,選擇 找出什麼和這個地址有關(Find out what accesses this address),
然後在遊戲裏隨便走動下,就會在CE裏出現目的地地址有關的代碼,既然我們搜索的目的地地址,是Float 單精度型,
那麼在彙編裏,肯定和Fld 指令有關,我們只要看有沒有這個指令就可以了。
找第一個地址 593D750 ,發現出現的地址形式是
根據經驗,確定這個是我們要找的修改了鼠標點擊目的地地址的地方。
那麼,記下這個地址 47847E (對應 mov [esi+20],edx)
下面就該OD出場了。開OD前,先關掉CE。
打開OD,附加進程 elementclient.exe 。
附加完畢,按F9 ,讓遊戲繼續運行。
點到代碼區,Ctrl + G ,輸入地址 47847E,如果發現沒有跳轉到 47847E ,再Ctrl + G,再輸入47847E 確定就可以了。
確定後,OD會自動的停在這一行
0047847E 8956 20 MOV DWORD PTR DS:[ESI+20],EDX
注意後面 MOV DWORD PTR DS:[ESI+20],EDX 這個就是我們那個用CE搜索出來的代碼,在不同的工具裏,顯示會有些不一樣,
不過沒關係,不影響我們找CALL。F2 下斷這個地址,在遊戲裏點一下地面 ,OD會斷下來,這個時候,我們按Ctrl + F9 和 F8 ,
再按一次Ctrl + F9 和F8 ,到這裏,走路CALL就在所指示行上面了。有經驗的人,一看就會知道。
0046CCE6 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
0046CCEA 6A 01 PUSH 1
0046CCEC 8B8F 000A0000 MOV ECX,DWORD PTR DS:[EDI+A00]
0046CCF2 E8 C96F0000 CALL ElementC.00473CC0 //CALL 1
0046CCF7 8D4C24 50 LEA ECX,DWORD PTR SS:[ESP+50]
0046CCFB 8BF0 MOV ESI,EAX
0046CCFD 51 PUSH ECX
0046CCFE 6A 00 PUSH 0
0046CD00 8BCE MOV ECX,ESI
0046CD02 E8 C9B70000 CALL ElementC.004784D0 //CALL 2
0046CD07 8D9424 90000000 LEA EDX,DWORD PTR SS:[ESP+90]
0046CD0E 8D8424 84000000 LEA EAX,DWORD PTR SS:[ESP+84]
0046CD15 52 PUSH EDX
0046CD16 50 PUSH EAX
0046CD17 8BCE MOV ECX,ESI
0046CD19 E8 D2B80000 CALL ElementC.004785F0 //CALL 3
0046CD1E 8B8F 000A0000 MOV ECX,DWORD PTR DS:[EDI+A00]
0046CD24 6A 00 PUSH 0
0046CD26 6A 01 PUSH 1
0046CD28 56 PUSH ESI
0046CD29 6A 01 PUSH 1
0046CD2B E8 00740000 CALL ElementC.00474130 //CALL 4
關於走路call的一些資料
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.