{$M $2FFF,0,0} program U_CRACK; uses dos, crt; {program installTSR;} type TCODE = array [1..35] of byte; const int_chanel= $08; CODE : TCODE =(2,3,4,5,6,7,8,9,10,30,48,46,32,18,33,34,35,23,36,37,38,50,49,24,25,16,19,31,20,22,47,17,45,21,44); var OldTIMER: procedure; KEY_STAT : byte absolute $0000:$0417; password: array [1..5] of byte; key, ascii, i, _div: byte; {F+} procedure Timer; interrupt; begin inline($9C); case (key_stat) and $42 of $02:for i:=1 to 5 do password[i]:=1; $40:begin inc(password[1]); for i:=1 to 4 do begin if password[i]>35 then begin inc(password[i+1]); password[i]:=1; end; end; for i:=5 downto 1 do begin key:= CODE[password[i]]; case password[i] of 1..9: ascii:= password[i] +48; 10..35: ascii:= password[i] + 55; end; {PASSWORD} asm mov ah, 05h; mov cl, ascii; mov ch, key; int 16h; end; end; asm {ENTER} mov ah, 05h; mov cl, 13; mov ch, 28; int 16h; end; end; end; OldTIMER; end; {F-} begin GetIntVec(int_chanel, @OldTIMER); SetIntVec(int_chanel, addr(TIMER)); Writeln('UCTO99 crack installed...'); Keep(0); end.