|
ColdDoT
|
 |
« on: September 13, 2007, 02:02:56 AM » |
|
eMS v28 Hacks/Scripts/AddressesPatch notices:In v28 a lot of offsets are changed so i dont know wat happend and why but i'll hoop its not bad Legend:NAB This does not Auto Bans (still i do not take responsebilities) AB This hack Auto Bans (still i do not take responsebilities) MAB This hack may Auto Bans (still i do not take responsebilities) Pointer Pointer (some pointer are level 2 pointers) SetUp Hacks Hacks like CRC Bypass, Pin thingi (1) Handy Hacks Hacks u have or can use (2) Vacium Hacks Vacium hacks (3) PointersPeople scanner - Pointer: 0079A0B8 Offset: 18 Unlimited Attack - Pointer: 0079AC20 Offset: 13C4 No Breath - Pointer: 0079AC20 Offset: 340 Left Wall - Pointer: 0079A0B0 Offset: C Right Wall - Pointer: 0079A0B0 Offset: 14 Top Wall - Pointer: 0079A0B0 Offset: 10 Bottom Wall - Pointer: 0079A0B0 Offset: 18 Char write X - Pointer: 0079AC20 Offset: 5F4 Char write Y - Pointer: 0079AC20 Offset: 5F8 Char read X - Pointer: 0079ACB8 Offset: 57C Char read Y - Pointer: 0079ACB8 Offset: 580 Map Mouse X - Pointer: 0079A1F8 Offset1: 10 Offset2: 80 Map Mouse Y - Pointer: 0079A1F8 Offset1: 10 Offset2: 84 Screen Mouse X - Pointer: 0079ABF8 Offset: 94 Screen Mouse Y - Pointer: 0079ABF8 Offset: 98 ScriptsCRC Bypass NAB CEM file (required)- [ENABLE]
- ALLOC(crc,128)
- ALLOC(dump,3670016)
- LABEL(oldmem)
- LABEL(ret)
- LOADBINARY(dump,eMSv28.cem)
-
- crc:
- CMP ECX,00400000
- JB oldmem
- CMP ECX,00780000
- JA oldmem
- MOV EAX,dump
- ADD ECX, dump-400000
-
- oldmem:
- MOV EAX,[EBP+10]
- DB 56 57
- JMP ret
-
- 00458BAE:
- JMP crc
- ret:
-
- [DISABLE]
- 00458BAE: //8B 45 10 56 57 8B 7D ?? 83 FF
- MOV EAX,[EBP+10]
- DB 56 57
- DEALLOC(crc)
- DEALLOC(dump)
Pin Unrandomizer NAB- [enable]
- alloc(pinunrandom,128)
- label(returnhere)
-
- pinunrandom:
- add eax,edx
- push edx
- shr edx,1
- mov [eax],edx
- pop edx
- cmp byte ptr [eax],ff
- jmp returnhere
-
- 0060729C:
- jmp pinunrandom
- returnhere:
-
- [disable]
- 0060729C: //03 C2 80 38 ?? 73 ?? 80 E1 ?? D0 E1 EB
- add eax,edx
- cmp byte ptr [eax],0a
Pin Typer NAB- [Enable]
- 00472FC5:
- db 0f 83
-
- [disable]
- 00472FC5: //0F 86 ?? ?? ?? ?? 83 FA ?? 0F 87 ?? ?? ?? ?? A1
- db 0f 86
Unlimited pin amount NAB- [Enable]
- //You can change your pin to infinite amount of numbers/letters. Its purpose is to mess
- //with people or make your pin impossible to brute force with ACTools.
- //Don't use it with pin unrandomizer
-
- 0060729C:
- db 90 90
-
- [Disable]
- 0062946E:
- add eax,edx
UA bypass NAB- [enable]
- alloc(UnlimitedAttack,64)
- alloc(UnlimitedCheck,44)
-
- UnlimitedAttack:
- mov eax,[0079AC20]
- mov ebx,[eax+5F4]
- sub ebx,00000001
- mov [eax+5F4],ebx
- popad
- cmp eax,edi
- mov [ebp-20],eax
- je 0051E20D
- jmp 0051E1AE
-
- UnlimitedCheck:
- pushad
- mov eax,[0079AC20]
- mov eax,[eax+13C4]
- cmp eax,00000062
- jnl UnlimitedAttack
- popad
- cmp eax,edi
- mov [ebp-20],eax
- je 0051E20D
- jmp 0051E1AE
-
- 0051E1A7:
- jmp UnlimitedCheck
-
- [DISABLE]
- 0051E1A7: //3B C7 89 45 ?? 74 ?? FF B3 ?? ?? ?? ?? 8D 83 ?? ?? ?? ?? 50
- cmp eax,edi
- mov [ebp-20],eax
- db 74 5f
-
- dealloc(UnlimitedAttack)
- dealloc(UnlimitedCheck)
NGRush NAB CEA file (required)- [ENABLE]
- alloc(Ngr, 384)
- label(rtnNgr)
- label(matchAny)
- label(ptlDone)
- label(goHome)
-
- label(mapFind)
- label(mapNxt)
- label(dirnOk)
- label(mapFindDone)
-
- label(cPtlNxt)
- label(cPtlNFnd)
- label(cPtlDone)
- label(fndExtPtl)
-
- label(prevMapId)
- label(rushDir)
-
- alloc(paths,2048)
-
- Ngr:
- mov [ebp-18], eax
- pushad
- mov edi, 0079ACB8 //A1 ?? ?? ?? ?? 53 56 33 F6 3B C6 57 89 4D ?? 89 75
- lea esi, [edi+4]
- mov edi, [edi]
- mov edi, [edi+5D4] //edi=curr Map
- mov esi, [esi]
- mov esi, [esi+4] //esi=portal base
- call mapFind //find map in path
- test eax,eax
- jz matchAny //if curr. map not in path, do matchAny
- push eax //find portal to nxtMap
- mov edx, [esi-4]
- call cPtlNxt
- test eax,eax //found portal to NxtMap?
- jnz ptlDone
-
- matchAny:
- push eax //find ANY external portal
- mov edx, [esi-4]
- call cPtlNxt
-
- ptlDone:
- test eax,eax //found any useful portals?
- jz goHome
- push [eax+c] //Portal X
- pop dword ptr[ebp-1C] //Spawn X
-
- push [eax+10] //Portal Y
- pop dword ptr[ebp-18] //Spawn Y
-
- goHome:
- mov [prevMapId], edi
- popad
- cmp dword ptr [edi+10], 0
- jmp rtnNgr
-
- cPtlNxt:
- dec edx
-
- test edx,edx //checked all portals?
- js cPtlNFnd
-
- mov eax, [esi+8*edx+4] //portal
- mov ecx, [eax+14] //dest. map
-
- cmp ecx,edi //skip internal portals
- je cPtlNxt
-
- cmp ecx,[prevMapId] //skip ptl to prevMap
- je cPtlNxt
-
- cmp [eax+8],7 //accept type7 (fm)
- je fndExtPtl
-
- cmp ecx,3B9AC9FF //skip portal 99999999
- je cPtlNxt
-
- fndExtPtl:
- cmp [esp+4],0 //matchAny mode?
- jz cPtlDone
-
- cmp [esp+4],ecx //found map?
- jz cPtlDone
- jmp cPtlNxt
-
- cPtlNFnd:
- xor eax,eax
- cPtlDone:
- ret 4
-
- mapFind:
- xor edx,edx
-
- mapNxt:
- inc edx
- mov eax, [paths+edx*4]
-
- test eax,eax //end of paths?
- jz mapFindDone
-
- cmp eax, edi //found map in path?
- jnz mapNxt
-
- //update rushDir
- mov eax, [rushDir]
- lea eax, [paths+eax*4]
- mov eax, [eax+edx*4]
- cmp eax, [prevMapId]
- jne dirnOk
- neg [rushDir]
-
- dirnOk:
- add edx, [rushDir]
- mov eax, [paths+edx*4]
- mapFindDone:
- ret
-
- prevMapId:
- dd 0
-
- rushDir:
- dd 1
-
- paths:
- dd 0
- include(paths.cea)
- dd 0
-
- 006585B1:
- jmp Ngr
- db 90 90
- rtnNgr:
- db eb
-
- [DISABLE]
- 006585B1: //83 7F 10 00 89 45 E8 74 ?? 8B 47 08
- db 83 7f 10 00 89 45 E8 74
-
- dealloc(NGR, 384)
- dealloc(paths,2048)
Skill Hack (tele only)(hotkey = Nimble Feet) NAB- [ENABLE]
- Alloc(SkTeleport,512)
- Label(Sklvl)
- Label(SkNormal)
- Label(Skret)
- Label(Sklvlret)
- Label(lvlNormal)
-
- SkTeleport:
- cmp [eax],3EA
- jne SkNormal
- mov [eax], 4C4F2F //Teleport //= 2F 4F 4C
- jmp SkNormal
-
- Sklvl:
- cmp [edi], 4C4F2F //Teleport
- jne lvlNormal
- mov [edi],3EA
- jmp lvlNormal
-
- SkNormal:
- push [ebp+08]
- mov edi,[eax]
- jmp Skret
-
- lvlNormal:
- mov eax,[edi]
- push 05
- push eax
- jmp Sklvlret
-
- 005FDC87:
- jmp SkTeleport
- Skret:
-
- 00445909:
- jmp Sklvl
- Sklvlret:
-
- [Disable]
- 005FDC87: //FF 75 ?? 8B 38 8B CE E8 ?? ?? ?? ?? 8B 45 ?? 8D 48 ?? F7
- push [ebp+08]
- mov edi,[eax]
-
- 00445909: //8B 07 6A ?? 50 E8 ?? ?? ?? ?? 33 D2 F7 76 ?? 8B
- mov eax,[edi]
- push 05
- push eax
-
- Dealloc(SkTeleport)
Talk bypass NAB- [Enable]
- 0044C57F:
- db 90 90
-
- 0044C1A9:
- db eb
-
- 0044C1F1:
- db eb
-
- [disable]
- 0044C57F: //74 ?? 80 3F ?? 75 ?? 33 C0 8A 06 50 FF 15
- db 74 1c
-
- 0044C1A9: //74 ?? 83 45 ?? ?? 83 7D ?? ?? 7C ?? FF 15
- db 74
-
- 0044C1F1: //73 ?? FF 15 ?? ?? ?? ?? 33 FF 57 57 57 51
- db 73
Super tubi MAB- [ENABLE]
- 00489108:
- db 90 90
-
- [DISABLE]
- 00489108: //75 ?? 83 7C 24 ?? ?? 75 ?? 8B 86
- db 75 36
2x Drop Speed NAB- [enable]
- 00438AF6:
- push 00
-
- [disable]
- 00438AF6:
- push 01
Item Gravity NAB- [enable]
- 00490836:
- jne 00490841
-
-
- [DISABLE]
- 00490836:
- je 00490841
Moonwalk NAB- [enable]
- 0064E25B:
- db 90 90
-
- [disable]
- 0064E25B:
- db 75 38
Item Jumps verry high NAB- [enable]
- 00698638:
- jne 00698643
-
- [Disable]
- 00698638:
- je 00698643
Poo Poo NAB- [ENABLE]
- 0065B8B7:
- db 75
-
- [DISABLE]
- 0065B8B7: //74 ?? 8B 45 ?? 23 C3 83 C8 ?? Eb ?? 39
- db 74
Unrandomizer NAB- [Enable]
- 006E7BFD:
- mov eax,0
- //0= STR
- //1= DEX
- //2 = INT
- //3 = LUK
-
- [Disable]
- 006E7BFD: //25 FF 7F 00 00 C3 CC
- and eax,00007fff
Levitation+swim MAB- [Enable]
- 00693CE0:
- db 0f 85
-
- 00558FDB:
- db 74 04
-
- [Disable]
- 00693CE0: //0F 84 ?? ?? ?? ?? 8B 8E ?? ?? ?? ?? A1 ?? ?? ?? ?? 8B 58 ?? 83 C1
- db 0f 84
-
- 00558FDB: //73 ?? 6A ?? 58 C3 33 C0 C3
- db 73 04
-
Perfect no breath NAB- [Enable]
- 004A8D4F:
- db eb
-
- 0048B4D3:
- db eb
-
- 006BAA2B:
- db eb
-
- [Disable]
- 004A8D4F: //7E ?? 57 57 57 51 8B C4 89 65
- db 7e
-
- 0048B4D3: //7E ?? 51 51 51 51 8B C4 89 65
- db 7e
-
- 006BAA2B: //7E ?? 57 57 57 51 8B C4 89 65 + Search 2
- db 7e
Speed Attack NAB- [Enable]
- alloc(SpeedAttack,128)
- alloc(counter,4)
- alloc(times,4)
- label(Speed)
- label(retunhere)
- registersymbol(counter)
- registersymbol(times)
-
- times:
- db 04
-
- counter:
- db 00
-
- SpeedAttack:
- push eax
- mov eax,[times]
- cmp [counter],eax
- pop eax
- jl Speed
- mov [counter],00
- add eax,0A
- Speed:
- add [counter],01
- mov [ebp+0c],eax
- jmp retunhere
-
- 0042C987: // 83 C0 ?? 89 45 ?? 83 BB
- jmp SpeedAttack
- nop
- retunhere:
-
- [disable]
- 0042C987: // 83 C0 ?? 89 45 ?? 83 BB
- add eax,0a
- mov [ebp+0c],eax
-
- dealloc(SpeedAttack,128)
- dealloc(counter,4)
- dealloc(times,4)
- unregistersymbol(counter)
- unregistersymbol(times)
Meso Drop NAB- [Enable]
- registersymbol(Value)
- alloc(Value,4)
- alloc(Meso,32)
-
- Value:
- db 00 00
-
- Meso:
- mov eax, [Value]
- mov [esi+000000bc], eax
- jmp 0068F61D
-
- 0068F617:
- jmp Meso
- db 90
-
- [Disable]
- 0068F617: //89 86 BC 00 00 00 7D ?? 68
- mov [esi+000000bc], eax
-
- dealloc(Meso,32)
- dealloc(Value,4)
- unregistersymbol(Value)
1 Hit GodMode NAB- [ENABLE]
- 0064B6A7:
- db 0F 84
-
- [DISABLE]
- 0064B6A7: //0F 85 ?? ?? ?? ?? 89 7D ?? 8B B3
- db 0F 85
No Knockback NABSuck Up NAB- [ENABLE]
- 00695365:
- db 76
-
- [DISABLE]
- 00695365: //73 ?? DD 45 ?? 8D 4E ?? 51 51 DD 1C 24
- db 73
Suck Left NAB- [ENABLE]
- 00695265:
- db 76
-
- [DISABLE]
- 00695265: //73 ?? DD 45 ?? 8B CE 51 51 DD 1C 24
- db 73
Suck Right NAB- [enable]
- 006952D4:
- db 77
-
- [disable]
- 006952D4: //76 ?? DD 45 ?? 8B CE 51 51 DD 1C 24
- db 76
Fall trough floor NAB- [enable]
- 006945F7:
- db 0f 83
-
- [disable]
- 006945F7: //0F 86 ?? ?? ?? ?? 8B 45 ?? 8B 4D ?? 0F AF 4D ?? 89
- db 0f 86
Instand drop NAB- [ENABLE]
- 00735AC0:
- db 00 00 00 00 00 00 00 00
-
- [DISABLE]
- 00735AC0: // 00 00 00 00 00 40 8F 40
- db 00 00 00 00
- add [eax-71], al
- inc eax
Server Sided Mouse Teleport NAB- [ENABLE]
- alloc(HotKeysHook,100)
- alloc(ServerSided,100)
- alloc(switch,1)
- label(teleport)
- label(end)
- label(quit)
- label(on)
- label(return)
-
- switch:
- db 00
-
- HotKeysHook:
- test edi,80000000
- jns quit
-
- cmp [ebp+c],10 // Shift
- jne quit
-
- cmp byte ptr [switch],00
- je on
- mov byte ptr [switch],00
- jmp quit
-
- on:
- mov byte ptr [switch],01
- quit:
- push [esp+8]
- push [esp+8]
- jmp return
-
- ServerSided:
- pushad
- cmp byte ptr [switch],01
- jne end
- mov eax,[0079AC20]
- cmp dword ptr [eax+344],06
- je teleport
- cmp dword ptr [eax+344],07
- jne end
-
- teleport:
- mov edx,[0079A1F8]
- mov edx,[edx+10]
- mov ebx,[edx+80]
- mov ecx,[edx+84]
- mov [eax+E24],ebx
- mov [eax+E28],ecx
- mov [eax+344],00000013
-
- end:
- popad
- mov [ebx],eax
- mov edi,[ebp+10]
- ret
-
- 00696691:
- call ServerSided
-
- 004A63F5:
- jmp HotKeysHook
- db 90 90 90
- return:
-
- [disable]
- 00696691: //89 03 8B 7D 10 85 FF 74 ?? FF B6 ?? ?? ?? ?? 8D 46
- mov [ebx],eax
- mov edi,[ebp+10]
-
- 004A63F5: //FF 74 24 08 FF 74 24 08 E8
- push [esp+08]
- push [esp+08]
-
- dealloc(HotKeysHook)
- dealloc(ServerSided)
- dealloc(switch)
Item filter NAB- [ENABLE]
- Alloc(filter,124)
- label(ifreject)
- label(end)
- label(skip)
- Alloc(iftable,16024)
- label(ifexit)
-
- filter:
- push ebx
- push esi
- xor ebx, ebx
- mov esi,iftable
-
- ifreject:
- cmp eax,[esi]
- je skip
- cmp [esi],ebx
- je end
- add esi,4
- jmp ifreject
-
- skip:
- mov eax,00
-
- end:
- pop esi
- pop ebx
- mov [edi+34], eax
- mov edi, [ebp-14]
- jmp ifexit
-
- iftable:
- //Usable Items
- dd 1F6EE0 //Arrow for Bow
- dd 1F72C8 //Arrow for Crossbow
- dd 1F6EE1 //Bronze Arrow for Bow
- dd 1F72C9 //Bronze Arrow for Crossbow
-
- //Potions
- dd 1E8480 //Red Potion
- dd 1E8481 //Orange Potion
- dd 1E8482 //White Potion
- dd 1E8483 //Blue Potion
- dd 1E8486 //Mana Elixer
-
- dd 1E8487 //Red Pill
- dd 1E8488 //Orange Pill
- dd 1E8489 //White Pill
- dd 1E848A //Blue Pill
- dd 1E848B //Mana Elixer Pill
-
- dd 1E8484 //Elixer
- dd 1E8485 //Power Elixer
-
- dd 1F47D4 //All Cure Potion
- dd 1F47D0 //Antidote
- dd 1F47D1 //Eye Drop
- dd 1F47D3 //Holy Water
- dd 1F47D2 //Tonic
-
- dd 1E8C50 //Dexterity Potion
- dd 1E8C52 //Magic Potion
- dd 1E8C55 //Sniper Potion
- dd 1E8C51 //Speed Potion
- dd 1E8C54 //Warrior Potion
- dd 1E8C53 //Wizard Potion
-
- dd 1E8C59 //Dexterity Pill
- dd 1E8C57 //Magic Pill
- dd 1E8C58 //Sniper Pill
- dd 1E8C5A //Speed Pill
- dd 1E8C56 //Warrior Pill
-
- dd 1EAB93 //Orange
- dd 1EAB94 //Lemon
-
- //Rocks
- //dd 3D2071 //The Summoning Rock
- //dd 3D2070 //The Magic Rock
-
- //Mini-Game Items
- dd 3D7E3C //Monster Card
- dd 3D7E3D //Bloctopus Omok Piece
- dd 3D7E31 //Mushroom Omok Piece
- dd 3D7E3A //Octopus Omok Piece
- dd 3D7E39 //Omok Table
- dd 3D7E3F //Panda Teddy Omok Piece
- dd 3D7E3B //Pig Omok Piece
- dd 3D7E3E //Pink Teddy Omok Piece
- dd 3D7E30 //Slime Omok Piece
- dd 3D7E40 //Trixter Omok Piece
-
- //Ores
- dd 3D3013 //Adamantium Ore
- dd 3D3010 //Bronze Ore
- //dd 3D3016 //Gold Ore
- dd 3D3012 //Mithril Ore
- dd 3D3015 //Orihalcon Ore
- dd 3D3014 //Silver Ore
- dd 3D3011 //Steel Ore
-
- //Jewel Ores
- dd 3D5721 //Amethyst Ore
- dd 3D5722 //Aquamarine Ore
- //dd 3D5728 //Black Crystal Ore
- //dd 3D5727 //Diamond Ore
- dd 3D5723 //Emerald Ore
- dd 3D5720 //Garnet Ore
- dd 3D5724 //Opal Ore
- dd 3D5725 //Sapphire Ore
- dd 3D5726 //Topaz Ore
- dd 00
-
- 00491571:
- jmp filter
- db 90
- ifexit:
-
- [DISABLE]
- dealloc(filter)
- dealloc(IFTable)
-
- 00491571: //89 47 34 8B 7D ?? 8B CE E8 ?? ?? ?? ?? 89 47 ?? 8B
- MOV [EDI+34], EAX
- MOV EDI, [EBP-14]
Zero Vac NAB- [Enable]
- 0051E29D:
- je 0051e2b4
- 0051E2B2:
- jne 0051e2c4
-
- [Disable]
- 0051E29D:
- jne 0051e2b4
- 0051E2B2:
- je 0051e2c4
Slow DupeX NAB- [Enable]
- //Pointer: Pointer Offset: 110
- alloc(CodeCave,32)
- alloc(Pointer,32)
- registersymbol(CodeCave)
- registersymbol(Pointer)
- label(ReturnHere)
-
- CodeCave:
- push ecx
- mov ecx,Pointer
- mov [ecx],esi
- pop ecx
- mov [esi+00000114],edi
- jmp ReturnHere
-
- 00695589:
- jmp CodeCave
- db 90
-
- ReturnHere:
-
- [DISABLE]
- 00695589: // 89 Be 14 01 00 00 EB ?? 83 7D ?? ?? 74 ?? 8B
- mov [esi+00000114],edi
-
- dealloc(CodeCave)
- dealloc(Pointer)
- unregistersymbol(CodeCave)
- unregistersymbol(Pointer)
YoYo DupeX NAB- [ENABLE]
- alloc(YoYoDupe, 1024)
- alloc(RunFlag, 4)
- alloc(ESIValue, 4)
- alloc(EDIValue, 4)
- alloc(ESIAddy,4)
- alloc(hookit,128)
- registersymbol(ESIAddy)
- label(returnhere)
- label(NoVac)
- label(DupeXVac)
- label(DoNormal)
- label(back)
-
- YoYoDupe:
- push eax
- push ecx
- cmp [RunFlag], 2
- je DupeXVac
- mov eax, 0079AC20
- mov eax, [eax]
- add eax, 61C
- mov eax, [eax]
- sub eax, C
- mov [ESIValue],eax
- mov eax,[eax+114]
- mov [EDIValue],eax
- inc [RunFlag]
- inc [RunFlag]
-
- DupeXVac:
- cmp esi,[ESIValue]
- je DoNormal
- push ecx
- mov ecx,ESIAddy
- mov [ecx],esi
- pop ecx
-
- DoNormal:
- mov [esi+00000110],edi
- pop ecx
- pop eax
- jmp back
-
- ESIAddy:
- db 00 00 00 00
-
- RunFlag:
- db 00 00 00 00
-
- ESIValue:
- db 00 00 00 00
-
- EDIValue:
- db 00 00 00 00
-
- 006955C5:
- jmp YoYoDupe
- db 90
- back:
-
- 0051E2F5:
- jmp hookit
- nop
- returnhere:
-
- hookit:
- cmp [ESIAddy], 0
- je NoVac
- push eax
- push ebx
- mov eax,[ESIAddy]
- mov ebx,[EDIValue]
- mov [eax+110],ebx
- mov eax,[eax+110]
- mov [eax+4c],ebx
- mov [eax+50],ebx
- pop ebx
- pop eax
-
- NoVac:
- mov [ebx+00000400],eax
- jmp returnhere
-
- [DISABLE]
- unregistersymbol(ESIAddy)
- dealloc(YoYoDupe)
- dealloc(RunFlag)
- dealloc(ESIValue)
- dealloc(EDIValue)
- dealloc(ESIAddy)
- dealloc(hookit)
-
- 0051E2F5: //89 83 00 04 00 00 8D 85
- mov [ebx+00000400],eax
-
- 006955C5: //89 BE 10 01 00 00 E8
- mov [esi+00000110],edi
Delay DupeX NAB- [Enable]
- //Add addres DupeXSwitch
- //DXS = 0 [OFF]
- //DXS < 0 [FOLLOW]
- //DXS > 0 [STAY]
- alloc(DupeX, 256)
- alloc(CharESI, 4)
- alloc(CharPID, 4)
- alloc(PreviousESI, 4)
- alloc(DupeXSwitch, 4)
- registerSymbol(DupeXSwitch)
- label(NoVac)
- label(DupeXVac)
- label(LoadChar)
- label(RefreshPID)
- label(EndLoadChar)
- label(LoadESI)
- label(LoadPID)
- label(EndLoadPID)
- label(DelayDupeX)
- label(EndDDX)
- label(LoadPrevious)
- label(NormalDupeX)
- label(EndDupeX)
-
- CharESI:
- dd 00000000
- CharPID:
- dd 00000000
- PreviousESI:
- dd 00000000
- DupeXSwitch:
- dd 00000000
-
- DupeX:
- push eax
- xor eax, eax
- cmp eax, [DupeXSwitch]
- je NoVac
- jmp DupeXVac
-
- NoVac:
- mov [CharESI], eax
- mov [CharPID], eax
- mov [PreviousESI], eax
- jmp NormalDupeX
-
- DupeXVac:
- call LoadChar
- call DelayDupeX
- cmp [CharESI], esi
- je NormalDupeX
- call LoadPrevious
- jmp NormalDupeX
-
- LoadChar:
- call LoadESI
- cmp eax, [CharPID]
- je RefreshPID
- cmp [DupeXSwitch], eax
- jl RefreshPID
- jmp EndLoadChar
- RefreshPID:
- call LoadPID
- EndLoadChar:
- ret
-
- LoadESI:
- push eax
- mov eax,[0079A0B8] //8B 0D ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 8B F0 3B F3
- mov eax,[eax+8]
- mov eax,[eax+61C] //8B 81 ?? ?? ?? ?? 8D 48 F4 F7 D8 1B C0 23 C1
- sub eax, C
- mov [CharESI], eax
- pop eax
- ret
-
- LoadPID:
- push ebx
- mov ebx, [CharESI]
- mov ebx, [ebx+110]
- cmp eax, ebx
- je EndLoadPID
- mov [CharPID], ebx
- EndLoadPID:
- pop ebx
- ret
-
- DelayDupeX:
- push esi
- mov esi, [PreviousESI]
- test esi, esi
- je EndDDX
- mov eax, [CharPID]
- mov [esi+110],eax
- mov [esi+114],eax
- EndDDX:
- pop esi
- ret
-
- LoadPrevious:
- mov [PreviousESI], esi
- ret
-
- NormalDupeX:
- pop eax
- mov [esi+114], edi
- jmp EndDupeX
-
- 00695589:
- jmp DupeX
- db 90
- EndDupeX:
-
- [Disable]
- 00695589: //89 BE 14 01 00 00 EB ?? 83 7D
- mov [esi+00000114],edi
-
- dealloc(DupeX)
- dealloc(CharESI)
- dealloc(CharPID)
- dealloc(PreviousESI)
- dealloc(DupeXSwitch)
- unregisterSymbol(DupeXSwitch)
-------------------------Credits-------------------------ColdDoT Original Makers Noobzijn
|