TwMS v228.1 ICS Item Filter
// TwMS v228.1 ICS Item FilterAlloc(ItemFilter_CheckESP,1024)
Alloc(ItemList,10240)
Alloc(Mesos,4)
Alloc(Mode,4)
Alloc(ItemFilterSW,4)
RegisterSymbol(ItemFilterSW)
Label(ItemFilter_Hook)
Label(ItemFilter)
Label(End)
Label(FilterMesos)
Label(RejectOrAccept)
Label(AcceptFilter)
Label(RejectFilter)
Label(Ignore)
ItemFilterSW:
DD 1
Mesos:
DD 0 // Minimum meso
Mode:
DD 1 // 0 = Accept 1 = Reject
ItemList:
//Add filter like below
//dd ItemID
DD #2000006//活力神水
DD 00 // End of list
ItemFilter_CheckESP:
cmp ,0150017E
jne GetLastError
mov ,ItemFilter_Hook
jmp GetLastError
ItemFilter_Hook:
cmp ,1
jne 0150017E
mov ecx,
mov ,al
mov ecx,00009A65
mov edi,
mov al,
test al,al
mov ,cx
movzx ebx,al
mov ecx,0000002A
cmove ebx,ecx
mov al,bl
xor al,
mov ,al
add al,cl
add bl,al
mov eax,
mov esi,
movzx eax,bl
movzx ecx,word ptr
mov dx,cx
shr dx,0D
add dx,ax
lea eax,
mov ecx,0000002A
or dx,ax
test bl,bl
mov ,dx
movzx eax,bl
cmovne ecx,eax
mov al,cl
add cl,2A
xor al,
mov ,al
lea ebx,
mov eax,
mov esi,
movzx eax,bl
movzx ecx,word ptr
mov dx,cx
shr dx,0D
add dx,ax
lea eax,
mov ecx,0000002A
or dx,ax
test bl,bl
movzx eax,bl
cmovne ecx,eax
mov ,dx
mov al,cl
add cl,2A
xor al,
mov ,al
lea ebx,
mov eax,
mov esi,
movzx eax,bl
movzx ecx,word ptr
mov dx,cx
shr dx,0D
add dx,ax
lea eax,
mov ecx,0000002A
or dx,ax
movzx eax,bl
test bl,bl
mov ,dx
mov ebx,
cmovne ecx,eax
mov al,cl
add cl,2A
xor al,
mov ,al
add al,cl
mov esi,
movzx eax,al
movzx ecx,word ptr
mov dx,cx
shr dx,0D
add dx,ax
lea eax,
or dx,ax
mov ,dx
mov esi,
mov ecx,esi
call 0088FAB0
mov ecx,esi
mov ,eax
call 0088FAB0
mov ecx,esi
mov ,eax
call 0088FAB0
mov ecx,esi
movd xmm0,eax
cvtdq2ps xmm0,xmm0
divss xmm0,
movss ,xmm0
call 0088FAB0
mov ecx,
jmp ItemFilter
ItemFilter:
push edx
mov edx,
cmp eax,edx
jle FilterMesos
mov edx,ItemList
jmp RejectOrAccept
FilterMesos:
mov eax,0
jmp End
RejectOrAccept:
cmp byte ptr ,0
je AcceptFilter
cmp byte ptr ,1
je RejectFilter
AcceptFilter:
cmp eax,(Mesos)
je End
cmp dword ptr ,0
je Ignore
add edx,4
jmp AcceptFilter
RejectFilter:
cmp eax,
je Ignore
cmp dword ptr ,0
je End
add edx,4
jmp RejectFilter
Ignore:
cmp eax,3E8 // Added this code otherwise mesos is dropped but not shown in accept mode
jle End
mov eax,0
End:
pop edx
mov ,eax // Original Opcode
inc ecx // Original Opcode
mov eax,939A85C5 // Original Opcode
jmp 015002E0
039FE1C4:
DD ItemFilter_CheckESP
039FE1C4:
DD GetLastError
DeAlloc(ItemFilter_CheckESP)
DeAlloc(ItemList)
DeAlloc(Mesos)
DeAlloc(Mode)
DeAlloc(ItemFilterSW)
UnRegisterSymbol(ItemFilterSW) 由於過濾清單太長,請自行添加。
附件是我常用的過濾清單。
:DXD,这个物品过滤可以缩减的,缩减后顶多就是和原样CRC数据一样,还是ICS只不过会多出一行代码。
mov ke90927 發表於 2020-10-3 22:25 static/image/common/back.gif
XD,这个物品过滤可以缩减的,缩减后顶多就是和原样CRC数据一样,还是ICS只不过会多出一行代码。
mov ...
多謝~
精簡版:// TwMS v228.1 ICS Item Filter
Alloc(ItemFilter_CheckESP,1024)
Alloc(ItemList,10240)
Alloc(Mesos,4)
Alloc(Mode,4)
Alloc(ItemFilterSW,4)
RegisterSymbol(ItemFilterSW)
Label(ItemFilter_Hook)
Label(ItemFilter)
Label(End)
Label(FilterMesos)
Label(RejectOrAccept)
Label(AcceptFilter)
Label(RejectFilter)
Label(Ignore)
ItemFilterSW:
DD 1
Mesos:
DD 0 // Minimum meso
Mode:
DD 1 // 0 = Accept 1 = Reject
ItemList:
//Add filter like below
//dd ItemID
DD #2000006//活力神水
DD 00 // End of list
ItemFilter_CheckESP:
cmp ,0150017E
jne GetLastError
cmp ,1
jne GetLastError
mov ,ItemFilter_Hook
jmp GetLastError
ItemFilter_Hook:
mov ecx,
jmp ItemFilter
ItemFilter:
push edx
mov edx,
cmp eax,edx
jle FilterMesos
mov edx,ItemList
jmp RejectOrAccept
FilterMesos:
mov eax,0
jmp End
RejectOrAccept:
cmp byte ptr ,0
je AcceptFilter
cmp byte ptr ,1
je RejectFilter
AcceptFilter:
cmp eax,(Mesos)
je End
cmp dword ptr ,0
je Ignore
add edx,4
jmp AcceptFilter
RejectFilter:
cmp eax,
je Ignore
cmp dword ptr ,0
je End
add edx,4
jmp RejectFilter
Ignore:
cmp eax,3E8 // Added this code otherwise mesos is dropped but not shown in accept mode
jle End
mov eax,0
End:
pop edx
mov ,eax // Original Opcode
inc ecx // Original Opcode
mov eax,939A85C5 // Original Opcode
jmp 015002E0
039FE1C4:
DD ItemFilter_CheckESP
039FE1C4:
DD GetLastError
DeAlloc(ItemFilter_CheckESP)
DeAlloc(ItemList)
DeAlloc(Mesos)
DeAlloc(Mode)
DeAlloc(ItemFilterSW)
UnRegisterSymbol(ItemFilterSW) 麗麗 發表於 2020-10-4 10:00 static/image/common/back.gif
多謝~
精簡版:
代碼如果這樣精簡
似乎會把所有東西都過濾掉 麗麗 發表於 2020-10-4 10:00 static/image/common/back.gif
多謝~
精簡版:
movd xmm0,eax
cvtdq2ps xmm0,xmm0
divss xmm0,
movss ,xmm0
這邊很重要不能簡略 btb 發表於 2020-10-13 21:54 static/image/common/back.gif
movd xmm0,eax
cvtdq2ps xmm0,xmm0
divss xmm0,
这段代码执行后eax也不是物品ID, 必须要调用下面的call后,eax才有物品id。要不就是所有东西都屏蔽了。。
頁:
[1]