操作步骤
突破口[物品数量]
1.扫描药品数量
2.吃药扫描
3.看访问的代码
ebp = 223F5930
谁访问-线路一
0056532D - 8B CE - mov ecx,esi
0056532F - E8 3CFC3600 - call ELEMENTCLIENT.EXE+4D4F70
00565334 - 8B 45 14 - mov eax,[ebp+14] << 223F5930+14
00565337 - 83 F8 01 - cmp eax,01
0056533A - 7E 1D - jle ELEMENTCLIENT.EXE+165359
004CA9E0 /$ 8B4424 04 mov eax, dword ptr [esp+4]
004CA9E4 |. 85C0 test eax, eax
004CA9E6 |. 7C 1E jl short 004CAA06
004CA9E8 |. 3B41 10 cmp eax, dword ptr [ecx+10]
004CA9EB |. 7D 19 jge short 004CAA06
004CA9ED |. 8B49 0C mov ecx, dword ptr [ecx+C]
004CA9F0 |. 8A5424 08 mov dl, byte ptr [esp+8]
004CA9F4 |. 84D2 test dl, dl
004CA9F6 |. 8D0C81 lea ecx, dword ptr [ecx+eax*4]
004CA9F9 |. 8B01 mov eax, dword ptr [ecx]
004CA9FB |. 74 0B je short 004CAA08
004CA9FD |. C701 00000000 mov dword ptr [ecx], 0
004CAA03 |. C2 0800 retn 8
004CAA06 |> 33C0 xor eax, eax
004CAA08 \> C2 0800 retn 8
EAX 223F5930
ECX 052BF22C
EDX 00BF1F00 ELEMENTC.00BF1F00
EBX 0000000D
ESP 2B25FB50
EBP 223F5930
ESI 310F9580
EDI 0D7CD458
下条件断点ecx==052BF22C,看看eax角标是几
eax = 十六进制D = 十进制13
[221B29E0+C] + 0*4
[221B29E0+C] + 1*4
[221B29E0+C] + 2*4
[221B29E0+C] + 3*4
[221B29E0+C] + 4*4
[221B29E0+C] + 5*4
221B29E0
221B2A08 背包数组
[221B2A08+C] + 0xD*4 = 223F5930 00BEAE18 ELEMENTC.00BEAE18
00564FF5 |. E8 D65CF9FF call 004FACD0
00564FFA |. 8BA8 D80A0000 mov ebp, dword ptr [eax+AD8] ; 背包数组02
表达式 [[eax+AD8]+0xC]+14 物品数量
004FACD0 /$ A1 1CDFD000 mov eax, dword ptr [D0DF1C]
004FACD5 |. 8B48 1C mov ecx, dword ptr [eax+1C]
004FACD8 |. 8B41 28 mov eax, dword ptr [ecx+28]
004FACDB \. C3 retn
表达式 [[[[ecx+28]+0AD8]+0C]+0*4]+14 物品数量
表达式 [[[[[eax+1C]+28]+0AD8]+0xC]+0*4]+14 物品数量
表达式 [[[[[[0xD0DF1C]+1C]+28]+0AD8]+0C]+0*4]+14 物品数量
eax = 200BA7E0
dd 200BA7E0+0AD8 =>> 200BB2B8 221B2A08
[[[[0xD0DF1C]+1C]+28]+0AD8] = 221B2A08
[221B2A08+C] + 0xD*4 = 223F5930 00BEAE18 ELEMENTC.00BEAE18
[[[[[[0xD0DF1C]+1C]+28]+0AD8]+0C]+0xD*4]+14
线路一