冰楓論壇

標題: TwMS v210.1 背包結構Pointer [打印本頁]

作者: prt    時間: 2018-9-6 03:11
標題: TwMS v210.1 背包結構Pointer
  1. // TwMS v210.1 背包結構Pointer
  2. // Author: Doem
  3. // Update: prt

  4. /*
  5. [Base]+179C           // 01A33933
  6. 裝備1 消耗2 其他4 裝飾3 特殊5
  7. */
  8. 背包欄位: [03956DE0]+179C

  9. -----------------------------------------------------------------------------------

  10. /*
  11. [Base]                // 01A325B5
  12. [Base]+2258      // 023E3865
  13. [[Base]+2258]+欄位*04+4FB        // 004FAB5E
  14. [[[Base]+2258]+欄位*04+4FB]-04    // 004FAB69

  15. 出來的值會是欄位最大格數+1!
  16. */
  17. 欄位最大格數: [[[036D00A8]+2258]+欄位*4+4FB]-04

  18. -----------------------------------------------------------------------------------

  19. /*
  20. [[[Base]+2258]+欄位*4+04FB]                  // 004FAB71
  21. [[[Base]+2258]+欄位*4+04FB] + 位置*08    // 004FAB7B
  22. [[[[Base]+2258]+欄位*4+04FB] + 位置*08] + 04]    // 004C5F09
  23. [[[[[Base]+2258]+欄位*4+04FB] + 位置*08] + 04]+10    // 01A329BC

  24. // GetData Call
  25. 01A329BC - 8D 4B 10              - lea ecx,[ebx+10]
  26. 01A329BF - E8 1C39A9FE           - call 004C62E0

  27. */
  28. 物品ID Key:[[[[[036D00A8]+2258]+欄位*04+04FB] + 位置*08] + 04]+10
  29. GetData call 004C62E0

  30. -----------------------------------------------------------------------------------
  31. 01DB2D1F - 8B 06                 - mov eax,[esi]          //ESI = [[[[[Base]+2258]+欄位*4+04FB] + 位置*8]
  32. 01DB2D21 - 8B CE                 - mov ecx,esi
  33. 01DB2D23 - FF 50 4C              - call dword ptr [eax+4C]

複製代碼
  1. // TwMS v210.1 背包陣列Pointer 測試數據
  2. // Rewrite: XMAX
  3. // 只是隨便找個地方 hook 下來取值而已
  4. [ENABLE]
  5. GlobalAlloc(Hook,128)
  6. GlobalAlloc(Column,04)
  7. GlobalAlloc(ItemID,04)
  8. GlobalAlloc(Position,04)
  9. GlobalAlloc(ItemCount,04)
  10. Label(Return)

  11. Column:    //物品欄位 裝備01 消耗02 裝飾03 其他04 特殊05
  12. DD 00000002
  13. Position:  //物品位置
  14. DD 00000001

  15. Hook:
  16. PUSHAD
  17. MOV  ECX,[036D00A8]
  18. MOV  ECX,[ECX+2258]
  19. MOV  EBX,[Column]
  20. MOV  ECX,[ECX+EBX*4+04FB]
  21. MOV  EBX,[Position]
  22. MOV  ECX,[ECX+EBX*8+04]
  23. CMP  ECX,00000000
  24. JE   Return

  25. //取物品數量
  26. PUSH ECX
  27. MOV  EAX,[ECX]
  28. CALL [EAX+4C]
  29. MOV  [ItemCount],EAX
  30. POP  ECX
  31. //

  32. ADD  ECX,10
  33. CALL 004C62E0
  34. MOV  [ItemID],EAX
  35. JMP  Return

  36. Return:
  37. POPAD
  38. JMP  GetFocus

  39. 03958990:
  40. DD Hook
  41. [DISABLE]
  42. 03958990:
  43. DD GetFocus
複製代碼





歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓