冰楓論壇
標題:
用CE功能自動更新數據位址
[打印本頁]
作者:
rhg59321
時間:
2024-2-29 18:30
標題:
用CE功能自動更新數據位址
本帖最後由 rhg59321 於 2024-2-29 18:40 編輯
本文沒有任何技術成分
單純使用CE的功能寫個數據來小偷懶一下而已
先附上"自動使用Shift按鍵"的簡易數據
// TwMS v259.3 Auto Key
[Enable]
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,[14721B5D8] // 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
[Disable]
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)
[Enable]
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 [Hook_Address],rax
mov ebx,[rax+1]
add rbx,rax
add rbx,5
mov [Hook_Opcode],rbx
xor rbx,rbx
mov rax,Scan_Key_Base
mov ebx,[rax+3]
add rbx,rax
add rbx,7
mov [Key_Base],rbx
xor rbx,rbx
mov rax,Scan_Key_Call
mov ebx,[rax+1]
add rbx,rax
add rbx,5
mov [Key_Call],rbx
ret
[Disable]
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)
複製代碼
開啟數據後的樣子
2024-2-29 18:31 上傳
下載附件
(19.96 KB)
附上已寫入"更新位址"數據的CT
MapleStory.CT
(3.96 KB, 下載次數: 41)
2024-2-29 18:26 上傳
點擊文件名下載附件
閱讀權限: 10
接下來是廢話時間
其實有aobscan為什麼我選用aobscanmodule?
因為我電腦比較爛
aobscan會搜尋比較久加上數據是修改楓谷的記憶體
所以就用aobscanmodule只掃描楓谷的記憶體了
至於為什麼這段數據要這樣寫的部分
等到有人有興趣提出疑問會再找時間盡我所能做個不專業的解釋
GetAddr_Hook:
xor rbx,rbx
mov rax,Hook
mov [Hook_Address],rax
mov ebx,[rax+1]
add rbx,rax
add rbx,5
mov [Hook_Opcode],rbx
xor rbx,rbx
mov rax,Scan_Key_Base
mov ebx,[rax+3]
add rbx,rax
add rbx,7
mov [Key_Base],rbx
xor rbx,rbx
mov rax,Scan_Key_Call
mov ebx,[rax+1]
add rbx,rax
add rbx,5
mov [Key_Call],rbx
ret
複製代碼
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓