TwMS v210.1 背包結構Pointer
// TwMS v210.1 背包結構Pointer// Author: Doem
// Update: prt
/*
+179C // 01A33933
裝備1 消耗2 其他4 裝飾3 特殊5
*/
背包欄位: +179C
-----------------------------------------------------------------------------------
/*
// 01A325B5
+2258 // 023E3865
[+2258]+欄位*04+4FB // 004FAB5E
[[+2258]+欄位*04+4FB]-04 // 004FAB69
出來的值會是欄位最大格數+1!
*/
欄位最大格數: [[+2258]+欄位*4+4FB]-04
-----------------------------------------------------------------------------------
/*
[[+2258]+欄位*4+04FB] // 004FAB71
[[+2258]+欄位*4+04FB] + 位置*08 // 004FAB7B
[[[+2258]+欄位*4+04FB] + 位置*08] + 04] // 004C5F09
[[[[+2258]+欄位*4+04FB] + 位置*08] + 04]+10 // 01A329BC
// GetData Call
01A329BC - 8D 4B 10 - lea ecx,
01A329BF - E8 1C39A9FE - call 004C62E0
*/
物品ID Key:[[[[+2258]+欄位*04+04FB] + 位置*08] + 04]+10
GetData call 004C62E0
-----------------------------------------------------------------------------------
01DB2D1F - 8B 06 - mov eax, //ESI = [[[[+2258]+欄位*4+04FB] + 位置*8]
01DB2D21 - 8B CE - mov ecx,esi
01DB2D23 - FF 50 4C - call dword ptr
// TwMS v210.1 背包陣列Pointer 測試數據
// Rewrite: XMAX
// 只是隨便找個地方 hook 下來取值而已
GlobalAlloc(Hook,128)
GlobalAlloc(Column,04)
GlobalAlloc(ItemID,04)
GlobalAlloc(Position,04)
GlobalAlloc(ItemCount,04)
Label(Return)
Column: //物品欄位 裝備01 消耗02 裝飾03 其他04 特殊05
DD 00000002
Position: //物品位置
DD 00000001
Hook:
PUSHAD
MOV ECX,
MOV ECX,
MOV EBX,
MOV ECX,
MOV EBX,
MOV ECX,
CMP ECX,00000000
JE Return
//取物品數量
PUSH ECX
MOV EAX,
CALL
MOV ,EAX
POP ECX
//
ADD ECX,10
CALL 004C62E0
MOV ,EAX
JMP Return
Return:
POPAD
JMP GetFocus
03958990:
DD Hook
03958990:
DD GetFocus
頁:
[1]