var HackOn: Boolean = False; JMPDWORD, JMPDWORD2, JMPDWORD3: DWORD; procedure OneHitt; assembler; asm push ebx push esi push edi MOV ESI,DWORD PTR DS:[322A6A8h] MOV DWORD PTR DS:[ESI+0BCh],3 MOV DWORD PTR DS:[ESI+0C4h],3 AND DWORD PTR DS:[1CB635Ch],00000000 mov esi,0044596Eh jmp esi end; procedure AntiSaveOneHit; assembler; asm MOV EDI,DWORD PTR DS:[322A6A8h] MOV DWORD PTR DS:[EDI+0BCh],3 MOV DWORD PTR DS:[EDI+0C4h],3 MOV EDI,DWORD PTR DS:[0099F648h] MOV DWORD PTR DS:[EDI+0BCh],3 MOV DWORD PTR DS:[EDI+0C4h],3 XOR EDI,EDI CMP DWORD PTR DS:[36A8A04h],EDI MOV EAX,0059A9C2h JMP EAX end; procedure RestaureOneHit; assembler; asm MOV EAX,DWORD PTR DS:[322A6A8h] MOV DWORD PTR DS:[EAX+0BCh],3000 MOV DWORD PTR DS:[EAX+0C4h],3000 MOV EAX,DWORD PTR DS:[1CB635Ch] ADD ESP,30h POP EDI POP ESI POP EBX RETN end; procedure DLLMain(Reason: DWORD); begin if not HackOn then begin if PBYTE($005D2800)^=$53 then begin JMPDWORD:= DWORD(@OneHitt); JMPDWORD2:= DWORD(@RestaureOneHit); JMPDWORD3:= DWORD(@AntiSaveOneHit); PWORD($00445964)^:= $25FF; PDWORD($00445966)^:= DWORD(@JMPDWORD); PWORD($00445B02)^:= $25FF; PDWORD($00445B04)^:= DWORD(@JMPDWORD2); PWORD($0059A9BC)^:= $25FF; PDWORD($0059A9BE)^:= DWORD(@JMPDWORD3); PDWORD($00445985)^:= $B7; PBYTE($00445C39)^:= $EB; Beep(500,500); HackOn:= True; end; end; end; begin DllProc := @DLLMain; DLLMain(DLL_PROCESS_ATTACH); end.