冰楓論壇

標題: 用CE功能自動更新數據位址 [打印本頁]

作者: rhg59321    時間: 2024-2-29 18:30
標題: 用CE功能自動更新數據位址
本帖最後由 rhg59321 於 2024-2-29 18:40 編輯

本文沒有任何技術成分
單純使用CE的功能寫個數據來小偷懶一下而已

先附上"自動使用Shift按鍵"的簡易數據
  1. // TwMS v259.3 Auto Key
  2. [Enable]
  3. Alloc(Auto_Key_Hook,128,142218962)

  4. Auto_Key_Hook:
  5. push rcx
  6. push rdx
  7. push r8
  8. push r9
  9. push r10
  10. push r11
  11. sub rsp,20
  12. mov r8,002A0003
  13. mov edx,10
  14. mov rcx,[14721B5D8] // Key_Base
  15. call 14440F620 // Key_Call
  16. add rsp,20
  17. pop r11
  18. pop r10
  19. pop r9
  20. pop r8
  21. pop rdx
  22. pop rcx
  23. call 1428106F0 // Hook_Opcode
  24. jmp 142218962+5  // Hook_Address+5

  25. 142218962: // Hook_Address
  26. jmp Auto_Key_Hook

  27. [Disable]
  28. 142218962: // Hook_Address
  29. call 1428106F0 // Hook_Opcode

  30. DeAlloc(Auto_Key_Hook)
複製代碼
當遊戲改版時
使用下面數據在讀取楓谷記憶體後打勾就能獲取所有的地址
*****前提是aob沒變動, 變動的話就要手動重新抓一次aob*****
  1. // 更新位址
  2. aobscanmodule(Hook ,MapleStory.exe ,E8 * * * * 48 8B * * * * * E8 * * * * 48 8B * E8 * * * * 45 33)
  3. aobscanmodule(Scan_Key_Base ,MapleStory.exe ,48 8B 0D * * * * E8 * * * * 48 8B * * * * * 48 85 C0 74 * 48 * * * * * * 00 00 00 00)
  4. aobscanmodule(Scan_Key_Call ,MapleStory.exe ,E8 * * * * 48 8B * * * * * 48 85 C0 74 * 48 * * * * * * 00 00 00 00 44)

  5. [Enable]
  6. CreateThread(GetAddr_Hook)
  7. Alloc(GetAddr_Hook,4096,MapleStory.exe)
  8. Registersymbol(Hook_Address)
  9. Registersymbol(Hook_Opcode)
  10. Registersymbol(Key_Base)
  11. Registersymbol(Key_Call)
  12. Alloc(Hook_Address,08,140000000)
  13. Alloc(Hook_Opcode,08,140000000)
  14. Alloc(Key_Base,08,140000000)
  15. Alloc(Key_Call,08,140000000)

  16. GetAddr_Hook:
  17. xor rbx,rbx
  18. mov rax,Hook
  19. mov [Hook_Address],rax
  20. mov ebx,[rax+1]
  21. add rbx,rax
  22. add rbx,5
  23. mov [Hook_Opcode],rbx
  24. xor rbx,rbx
  25. mov rax,Scan_Key_Base
  26. mov ebx,[rax+3]
  27. add rbx,rax
  28. add rbx,7
  29. mov [Key_Base],rbx
  30. xor rbx,rbx
  31. mov rax,Scan_Key_Call
  32. mov ebx,[rax+1]
  33. add rbx,rax
  34. add rbx,5
  35. mov [Key_Call],rbx
  36. ret

  37. [Disable]
  38. GetAddr_Hook:
  39. ret

  40. DeAlloc(Key_Base)
  41. DeAlloc(Key_Call)
  42. DeAlloc(Hook_Opcode)
  43. DeAlloc(Hook_Address)
  44. DeAlloc(GetAddr_Hook)
  45. UnRegistersymbol(Key_Base)
  46. UnRegistersymbol(Key_Call)
  47. UnRegistersymbol(Hook_Opcode)
  48. UnRegistersymbol(Hook_Address)
複製代碼
開啟數據後的樣子

messageImage_1709202125309.jpg


附上已寫入"更新位址"數據的CT
MapleStory.CT (3.96 KB, 下載次數: 33)

接下來是廢話時間
其實有aobscan為什麼我選用aobscanmodule?
因為我電腦比較爛
aobscan會搜尋比較久加上數據是修改楓谷的記憶體
所以就用aobscanmodule只掃描楓谷的記憶體了

至於為什麼這段數據要這樣寫的部分
等到有人有興趣提出疑問會再找時間盡我所能做個不專業的解釋
  1. GetAddr_Hook:
  2. xor rbx,rbx
  3. mov rax,Hook
  4. mov [Hook_Address],rax
  5. mov ebx,[rax+1]
  6. add rbx,rax
  7. add rbx,5
  8. mov [Hook_Opcode],rbx
  9. xor rbx,rbx
  10. mov rax,Scan_Key_Base
  11. mov ebx,[rax+3]
  12. add rbx,rax
  13. add rbx,7
  14. mov [Key_Base],rbx
  15. xor rbx,rbx
  16. mov rax,Scan_Key_Call
  17. mov ebx,[rax+1]
  18. add rbx,rax
  19. add rbx,5
  20. mov [Key_Call],rbx
  21. ret
複製代碼





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