天天看點

外挂輔助技術-分析遊戲尋路相關資料準備

  學習目标:

    分析尋路CALL相關資料

   分析尋路CALL思路

   1、通過目的地坐标回溯<通過關鍵的資料 逆向 分析>

   2、通過發包函數回溯  <通過發包函數回溯>

   分析:

     尋路一般是一個循環走路的過程,大緻有如下架構

   作業:

     根據本課收集的資料嘗試尋路分析

//走路狀态 0和1  //11,33

//尋路狀态

dd [[0F598C0]+298]

+228 //1BYTE 尋路狀态

+234 //X 目的地X坐标

+238 //Y 目的地Y坐标

dd [[0x31E663C]+1D64]  

//尋路也會存在一個 坐标數組序列

    void 尋路函數()

    {

       //1檢測目前與目的地坐标的距離

       if(dw距離<10) //也可能是坐标數組最大下标為判斷

       {

         //停止尋路 置尋路狀态=FALSE;// 人物屬性 人物對象

        }else

       {

         //繼續尋路 置尋路狀态=TRUE;

         移動到下一個坐标點,同時會向伺服器發包.

       }

    }

1、目的地坐标 XYZ XZY XY

2、人物角色對象

3、尋路狀态

//目的地坐标分析

//标記一下 執行尋路動作時 隻通路了一次

0046F8CB - D9 40 E4  - fld dword ptr [eax-1C]

0046F8CE - 8B 91 98020000  - mov edx,[ecx+00000298]

0046F8D4 - D9 9A 34020000  - fstp dword ptr [edx+00000234] <<

0046F8DA - 8B 7F 04  - mov edi,[edi+04]

0046F8DD - A1 C098F500 - mov eax,[Client.exe+B598C0]

004D2DE0 - C2 0C00 - ret 000C

004D2DE3 - 8B 86 641D0000  - mov eax,[esi+00001D64]

004D2DE9 - 8B 08  - mov ecx,[eax] <<

004D2DEB - 53 - push ebx

004D2DEC - 57 - push edi

00443BE4 - D9 41 F8  - fld dword ptr [ecx-08]

00443BE7 - 83 C1 1C - add ecx,1C

00443BEA - D9 18  - fstp dword ptr [eax] <<

00443BEC - 83 C0 1C - add eax,1C

00443BEF - D9 41 E0  - fld dword ptr [ecx-20]

//走路CALL會循環執行

006B1B96 - D9C9 - fxch st(1)

006B1B98 - 89 45 B4  - mov [ebp-4C],eax

006B1B9B - D8 AE 34020000  - fsubr dword ptr [esi+00000234] <<

006B1BA1 - DA 45 B4  - fiadd [ebp-4C]

006B1BA4 - DA 8E BC020000  - fimul [esi+000002BC]

0046AE7B - 56 - push esi

0046AE7C - 8B 75 10  - mov esi,[ebp+10]

0046AE7F - B9 07000000 - mov ecx,00000007 <<

0046AE84 - F3 A5 - repe movsd 

0046AE86 - 5E - pop esi

//尋路時 人物對象通路 一次

00410BC3 - 3B 1D 30661E03  - cmp ebx,[Client.exe+2DE6630]

00410BC9 - 0F85 AB000000 - jne Client.exe+10C7A

00410BCF - A1 3C661E03 - mov eax,[Client.exe+2DE663C] <<

00410BD4 - C6 80 CC1D0000 00 - mov byte ptr [eax+00001DCC],00

00410BDB - A1 3C661E03 - mov eax,[Client.exe+2DE663C]

005FF49D - E8 6E40EFFF - call Client.exe+F3510

005FF4A2 - 8B 0D 30661E03  - mov ecx,[Client.exe+2DE6630]

005FF4A8 - 8B 1D 3C661E03  - mov ebx,[Client.exe+2DE663C] <<

005FF4AE - 8B 95 B8C7FFFF  - mov edx,[ebp-00003848]

005FF4B4 - 8A 42 04  - mov al,[edx+04]

004B0E15 - 85 C0  - test eax,eax

004B0E17 - 74 4A - je Client.exe+B0E63

004B0E19 - 8B 0D 3C661E03  - mov ecx,[Client.exe+2DE663C] <<

004B0E1F - 85 C9  - test ecx,ecx

004B0E21 - 74 40 - je Client.exe+B0E63

006B3F45 - 83 B8 2C020000 00 - cmp dword ptr [eax+0000022C],00

006B3F4C - 0F84 E9080000 - je Client.exe+2B483B

006B3F52 - A1 3C661E03 - mov eax,[Client.exe+2DE663C] <<

006B3F57 - 85 C0  - test eax,eax

006B3F59 - 0F84 88000000 - je Client.exe+2B3FE7

006AEBE6 - 83 BE 28030000 00 - cmp dword ptr [esi+00000328],00

006AEBED - 0F84 36020000 - je Client.exe+2AEE29

006AEBF3 - 8B 0D 3C661E03  - mov ecx,[Client.exe+2DE663C] <<

006AEBF9 - 85 C9  - test ecx,ecx

006AEBFB - 0F84 28020000 - je Client.exe+2AEE29

006AED74 - 6A 00 - push 00

006AED76 - 89 96 30020000  - mov [esi+00000230],edx

006AED7C - 8B 0D 3C661E03  - mov ecx,[Client.exe+2DE663C] <<

006AED82 - 8B 01  - mov eax,[ecx]

006AED84 - 8B 50 04  - mov edx,[eax+04]

006AEE02 - 0FAF C8  - imul ecx,eax

006AEE05 - 89 4D 98  - mov [ebp-68],ecx

006AEE08 - 8B 0D 3C661E03  - mov ecx,[Client.exe+2DE663C] <<

006AEE0E - 8D 45 9C  - lea eax,[ebp-64]

006AEE11 - DA 65 98  - fisub [ebp-68]

//走路狀态 0和1  //11,33

//尋路狀态

dd [[0F598C0]+298]

+228 //1BYTE 尋路狀态

+234 //X 目的地X坐标

+238 //Y 目的地Y坐标

006AED42 - BB 01000000 - mov ebx,00000001

006AED47 - 8B CE  - mov ecx,esi

006AED49 - 88 9E 28020000  - mov [esi+00000228],bl <<

006AED4F - E8 7CEEFFFF - call Client.exe+2ADBD0

006AED54 - 8B 0D 7885F200  - mov ecx,[Client.exe+B28578]

004E776F - 91 - xchg eax,ecx

004E7770 - 28 02  - sub [edx],al

004E7772 - 00 00  - add [eax],al <<

004E7774 - 74 65 - je Client.exe+E77DB

004E7776 - A1 88A7E200 - mov eax,[Client.exe+A2A788]

///

004702B6 - 8B 0D C098F500  - mov ecx,[Client.exe+B598C0]

004702BC - D9 06  - fld dword ptr [esi]

004702BE - 8B 91 98020000  - mov edx,[ecx+00000298] <<

004702C4 - D9 9A 34020000  - fstp dword ptr [edx+00000234]

004702CA - A1 C098F500 - mov eax,[Client.exe+B598C0]

EAX=00000001

EBX=0C2C77F8

ECX=19F11070

繼續閱讀