rhg59321 發表於 2024-2-29 18:30:35

用CE功能自動更新數據位址

本帖最後由 rhg59321 於 2024-2-29 18:40 編輯

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

先附上"自動使用Shift按鍵"的簡易數據// TwMS v259.3 Auto Key

Alloc(Auto_Key_Hook,128,142218962)

Auto_Key_Hook:
push rcx
push rdx
push r8
push r9
push r10
push r11
sub rsp,20
mov r8,002A0003
mov edx,10
mov rcx, // Key_Base
call 14440F620 // Key_Call
add rsp,20
pop r11
pop r10
pop r9
pop r8
pop rdx
pop rcx
call 1428106F0 // Hook_Opcode
jmp 142218962+5  // Hook_Address+5

142218962: // Hook_Address
jmp Auto_Key_Hook


142218962: // Hook_Address
call 1428106F0 // Hook_Opcode

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


CreateThread(GetAddr_Hook)
Alloc(GetAddr_Hook,4096,MapleStory.exe)
Registersymbol(Hook_Address)
Registersymbol(Hook_Opcode)
Registersymbol(Key_Base)
Registersymbol(Key_Call)
Alloc(Hook_Address,08,140000000)
Alloc(Hook_Opcode,08,140000000)
Alloc(Key_Base,08,140000000)
Alloc(Key_Call,08,140000000)

GetAddr_Hook:
xor rbx,rbx
mov rax,Hook
mov ,rax
mov ebx,
add rbx,rax
add rbx,5
mov ,rbx
xor rbx,rbx
mov rax,Scan_Key_Base
mov ebx,
add rbx,rax
add rbx,7
mov ,rbx
xor rbx,rbx
mov rax,Scan_Key_Call
mov ebx,
add rbx,rax
add rbx,5
mov ,rbx
ret


GetAddr_Hook:
ret

DeAlloc(Key_Base)
DeAlloc(Key_Call)
DeAlloc(Hook_Opcode)
DeAlloc(Hook_Address)
DeAlloc(GetAddr_Hook)
UnRegistersymbol(Key_Base)
UnRegistersymbol(Key_Call)
UnRegistersymbol(Hook_Opcode)
UnRegistersymbol(Hook_Address)開啟數據後的樣子
https://image.bingfong.com/?v=messageimage1709202125309.jpg



附上已寫入"更新位址"數據的CT


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

至於為什麼這段數據要這樣寫的部分
等到有人有興趣提出疑問會再找時間盡我所能做個不專業的解釋GetAddr_Hook:
xor rbx,rbx
mov rax,Hook
mov ,rax
mov ebx,
add rbx,rax
add rbx,5
mov ,rbx
xor rbx,rbx
mov rax,Scan_Key_Base
mov ebx,
add rbx,rax
add rbx,7
mov ,rbx
xor rbx,rbx
mov rax,Scan_Key_Call
mov ebx,
add rbx,rax
add rbx,5
mov ,rbx
ret
頁: [1]
查看完整版本: 用CE功能自動更新數據位址