{ 주석좀 달아주세요, 가능한데까지만이라도..}
{ 이소스는 터보파스칼 7.0 소스입니다..)
Procedure FExe (N : String);
Begin
FileMode := 0;
If Pos ('.EXE', N) <> 0 Then Begin
Assign (F, N);
GetFAttr (F, Attrib);
SetFAttr (F, 0);
FileMode := 2;
Reset (F, 1);
BlockRead (F, Buf1, SizeOf (Buf1), Nr);
Ep := 0;
If Buf1[0]+(Buf1[1] * 256) = $5a4d Then Begin
Hp := Buf1 [8] + Buf1 [9] * 256;
Ip := Buf1 [$14] + Buf1 [$15] * 256;
Cs := Buf1 [$16] + Buf1 [$17] * 256;
Ep := Cs + Hp;
Ep := (Ep * 16 + Ip) And $FFFFF;
End;
Seek (F, Ep);
BlockRead (F, Buf2, SizeOf (Buf2), Nr);
Write (N);
If Compare ( Buf2) Then Begin // 이건 주석달필요 없음.
WriteLn (Rep (60 - Length (N), ' '), 'Infected. ');
Inc (Infected);
End
Else Write (Rep (60 - Length (N), ' '), 'Clean.'#13);
Close (F);
SetFAttr (F, Attrib);
End;
End;