冰楓論壇
標題:
TwMS v227.1 CRC SetFakeTime For PickNDL
[打印本頁]
作者:
麗麗
時間:
2020-8-14 16:32
標題:
TwMS v227.1 CRC SetFakeTime For PickNDL
自己測試了這個撿/丟/喝無延遲,在不設置Faketime的情況下,撿的過快的情況下會斷綫。
因爲撿物也會發包,系統會判斷兩次撿物的間隔,間隔過短會觸發斷綫。
參考了N大人物Faketime尋找方法,對get_update_time函數下端。找到返回值。
返回值很多,可以直接尋找被VM的call~
最終定位到
055BB7E5
這個點。
測試是否正確,可以對這個地址下斷點,觸發撿物。成功斷下~
eax裏面儲存的是get_update_time的返回值(系統運行時間)。
使用以下數據可以獲得正常情況下,按住Z的時候。兩次撿物的間隔(delay)。
[Enable]
Alloc(hook,128)
Alloc(delay,04)
Alloc(timer,04)
RegisterSymbol(delay)
timer:
dd 0
//正常情況下兩次撿物間隔
delay:
dd 0
hook:
push eax
//
push ecx
mov ecx,eax
sub eax,[timer]
mov [delay],eax
mov [timer],ecx
mov eax,ecx
pop ecx
//
push edx
pushad
jmp 055BB800
055BB7E5:
jmp hook
nop
nop
nop
[Disable]
055BB7E5:
DB 50 52 60 E9 13 00 00 00
DeAlloc(hook)
DeAlloc(delay,04)
DeAlloc(timer,04)
UnRegisterSymbol(delay)
複製代碼
我測試下來兩次撿物的間隔最小是90ms,所以Faketime設置為比這個大的數值應該就不會斷綫啦~
下面就是設置Faketime了,數據是N大那個,稍微修改了一下!
[Enable]
Alloc(FakeTime,64)
Label(SetFakeTime)
Label(InitFakeTime)
FakeTime:
DD 00
SetFakeTime:
cmp [FakeTime],00
je InitFakeTime
mov eax,[FakeTime]
add eax,000000C8 //200ms
InitFakeTime:
mov [FakeTime],eax
DB 50 52 60
jmp 055BB800
055BB7E5:
jmp SetFakeTime
[Disable]
055BB7E5:
DB 50 52 60 E9 13 00 00 00
DeAlloc(FakeTime)
複製代碼
作者:
麗麗
時間:
2020-8-14 16:34
這個單單是撿物的Faketime,丟/喝的沒有弄哦~
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓