program exespy2; uses Crt; const OffsetOne : word = 000; OffsetTwo : word = 136; { offset - 1 } OffsetThree : word = 208; OffsetFour : word = 464; OffsetFive : word = 728; PartOne : string = 'SPYS'; PartTwo : string = 'ODBCSpy98 for Windows 98 & Windows 95'; PartThree : string = 'IGERMexelite 98 '; fName : string = 'ODBC98UR.DAT'; var DataFile : file; NumWritten : word; Buffer : array[1..788] of char; Count : word; UserName : string; begin ClrScr; Writeln('ODBCSpy 98 v4.2 - Keygen by Quantico [mEX/c4N]'); writeln; Write('Enter your name : '); Readln(UserName); FillChar(Buffer, SizeOf(Buffer), $00); { fill our buffer } for Count := 1 to Length(PartOne) do Buffer[Count + OffsetOne] := PartOne[Count]; for Count := 1 to Length(PartTwo) do Buffer[Count + OffsetTwo] := PartTwo[Count]; for Count := 1 to Length(fName) do Buffer[Count + OffsetThree] := fName[Count]; for Count := 1 to Length(UserName) do Buffer[Count + OffsetFour] := UserName[Count]; for Count := 1 to Length(PartThree) do Buffer[Count + OffsetFive] := PartThree[Count]; Buffer[$0D] := 'Q'; Buffer[$19] := 'Q'; Buffer[$75] := 'Q'; Buffer[$2D1] := 'Q'; Buffer[$2D7] := 'Q'; Assign(DataFile, fName); { open file } Rewrite(DataFile, 1); { record size = 1 (byte) } BlockWrite(DataFile, { write data to file } Buffer, SizeOf(Buffer), NumWritten); Close(DataFile); { close file } if NumWritten < 788 then Writeln('ERROR. Not all 788 bytes saved...') else Writeln('Keyfile created - ', fName,' - move into program directory...') end.