冰楓論壇
標題:
TwMS v206.2 背包結構Pointer
[打印本頁]
作者:
prt
時間:
2018-4-19 17:50
標題:
TwMS v206.2 背包結構Pointer
// TwMS v206.2 背包結構Pointer
// Author: Doem
// Update: prt
/*
[Base]+1798 // 0189A683
裝備1 消耗2 其他4 裝飾3 特殊5
*/
背包欄位: [0364B3BC]+1798
-----------------------------------------------------------------------------------
/*
[Base] // 018992F5
[Base]+2258 // 02137595
[[Base]+2258]+欄位*04+4FB // 004EA5CE
[[[Base]+2258]+欄位*04+4FB]-04 // 004EA5D9
出來的值會是欄位最大格數+1!
*/
欄位最大格數: [[[033C5EB8]+2258]+欄位*4+4FB]-04
-----------------------------------------------------------------------------------
/*
[[[Base]+2258]+欄位*4+04FB] // 004EA5E1
[[[Base]+2258]+欄位*4+04FB] + 位置*08 // 004EA5EB
[[[[Base]+2258]+欄位*4+04FB] + 位置*08] + 04] // 004B5789
[[[[[Base]+2258]+欄位*4+04FB] + 位置*08] + 04]+10 // 018996EE
// GetData Call
018996EE - 8D 4B 10 - lea ecx,[ebx+10]
018996F1 - E8 2AC5C1FE - call 004B5C20
*/
物品ID Key:[[[[[033C5EB8]+2258]+欄位*04+04FB] + 位置*08] + 04]+10
GetData call 004B5C20
-----------------------------------------------------------------------------------
01BED43F - 8B 06 - mov eax,[esi] //ESI = [[[[[Base]+2258]+欄位*4+04FB] + 位置*8] + 04]
01BED441 - 8B CE - mov ecx,esi
01BED443 - FF 50 4C - call dword ptr [eax+4C]
複製代碼
// TwMS v206.2 背包陣列Pointer 測試數據
// Rewrite: XMAX
// 只是隨便找個地方 hook 下來取值而已
[ENABLE]
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,[033C5EB8]
MOV ECX,[ECX+2258]
MOV EBX,[Column]
MOV ECX,[ECX+EBX*4+04FB]
MOV EBX,[Position]
MOV ECX,[ECX+EBX*8+04]
CMP ECX,00000000
JE Return
//取物品數量
PUSH ECX
MOV EAX,[ECX]
CALL [EAX+4C]
MOV [ItemCount],EAX
POP ECX
//
ADD ECX,10
CALL 004B5C20
MOV [ItemID],EAX
JMP Return
Return:
POPAD
JMP GetFocus
0364CDF8:
DD Hook
[DISABLE]
0364CDF8:
DD GetFocus
複製代碼
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓