|
|
新人上路,下载了 新英雄年代 进行练手。找call
使用ce,找到了选择怪物的地址。找到了三个对其写入的代码地址
00455449 - 89 86 F40B0000 - mov [esi+00000BF4],eax ; 选择时写入的怪物ID
00455551 - 89 86 F40B0000 - mov [esi+00000BF4],eax ; 取消先择怪物时
00455573 - 89 86 F40B0000 - mov [esi+00000BF4],eax ; 左键选择时的ID,包括捡装备和钱
用OD打开游戏,转到这三个地址,F2断点,当使用上述三种功能时,会分别断在三个地址上。
三个地址ctrl+f9,指向的是同一个call
00438BF4 |. |FFD2 |CALL EDX ; 选择怪物call
00438BF6 |. |8B06 |MOV EAX,DWORD PTR DS:[ESI] ; ctrl+f9返回的位置
这个call EDX 怎么破啊。而且00438bf4 是在一个循环中,只要在这里F2,游戏立马会被断下来。好郁闷啊。
00438BC5 |> /3BF3 /CMP ESI,EBX
00438BC7 |. |74 52 |JE SHORT client.00438C1B
00438BC9 |> |8B7E 04 MOV EDI,DWORD PTR DS:[ESI+4]
00438BCC |. |3B35 44A58C00 |CMP ESI,DWORD PTR DS:[8CA544]
00438BD2 |. |75 03 |JNZ SHORT client.00438BD7
00438BD4 |. |895E 4C |MOV DWORD PTR DS:[ESI+4C],EBX
00438BD7 |> |395E 4C |CMP DWORD PTR DS:[ESI+4C],EBX
00438BDA |. |74 0D |JE SHORT client.00438BE9
00438BDC |. |56 |PUSH ESI
00438BDD |. |E8 FE3A2B00 |CALL client.006EC6E0
00438BE2 |. |8BF7 |MOV ESI,EDI
00438BE4 |. |8B4D EC |MOV ECX,DWORD PTR SS:[EBP-14]
00438BE7 |.^ EB DC |JMP SHORT client.00438BC5
00438BE9 |> |8B06 |MOV EAX,DWORD PTR DS:[ESI]
00438BEB |. |8B4D 08 |MOV ECX,DWORD PTR SS:[EBP+8]
00438BEE |. |51 |PUSH ECX
00438BEF |. |8BCE |MOV ECX,ESI
00438BF1 |. |8B50 24 |MOV EDX,DWORD PTR DS:[EAX+24]
00438BF4 |. |FFD2 |CALL EDX ; 选择怪物call
00438BF6 |. |8B06 |MOV EAX,DWORD PTR DS:[ESI] ; 选择怪物call
00438BF8 |. |8BCE |MOV ECX,ESI
00438BFA |. |8B50 28 |MOV EDX,DWORD PTR DS:[EAX+28]
00438BFD |. |FFD2 |CALL EDX
00438BFF |. |85C0 |TEST EAX,EAX
00438C01 |. |74 11 |JE SHORT client.00438C14
00438C03 |. |56 |PUSH ESI
00438C04 |. |A1 38A58C00 |MOV EAX,DWORD PTR DS:[8CA538]
00438C09 |. |8B88 C8010000 |MOV ECX,DWORD PTR DS:[EAX+1C8]
00438C0F |. |E8 4CADFFFF |CALL client.00433960
00438C14 |> |8BF7 |MOV ESI,EDI
00438C16 |. |8B4D EC |MOV ECX,DWORD PTR SS:[EBP-14]
00438C19 |.^\EB AA \JMP SHORT client.00438BC5
|
|