home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / ECO30603.ZIP / ECO30603.LZH / ECOLIBII / DEMOS / NOVELL / UPD_SCAN.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-12-01  |  2.7 KB  |  96 lines

  1. uses
  2.   crt, eco_lib, dos
  3.  
  4.   ;
  5.  
  6.  
  7.  
  8. type
  9.   basetype = record
  10.     bday,
  11.     bnum : word;
  12.     bdat : longint;
  13.   end;
  14.  
  15.  
  16. var                                            { 0 = sunday      6 = saturday }
  17.   baseday : basetype;                          {                   FRIDAY.420 }
  18.   tex     :     text;
  19.   diff,
  20.   purg,
  21.   base,
  22.   now     :  longint;
  23.   basedt,
  24.   nowdt   : datetime;
  25.   fnam    :   string;
  26.   dopurge :  boolean;
  27.   i       :     word;
  28.  
  29.  
  30.  
  31.   procedure __longint2datetime(d: longint; var dt : datetime);
  32.   var
  33.     dtst : record date, time : word end absolute d;
  34.     tmp : datetime;
  35.  
  36.   begin
  37.     with dtst do begin
  38.       tmp.year  := (hi(date) shr 1) + 1980;
  39.       tmp.month := (date shr 5) and 15;
  40.       tmp.day   := lo(date) and 31;
  41.       tmp.hour  := hi(time) shr 3;
  42.       tmp.min   := (time shr 5) and 63;
  43.       tmp.sec   := (lo(time) and 31) * 2;
  44.     end;
  45.     dt := tmp;
  46.   end;
  47.  
  48.  
  49.  
  50. begin
  51.   __loginit; programname := 'UPD_SCAN'; logfilename := 'UPD_SCAN.LOG';
  52.   logheader[04] := '│ █      Upd_Scan fakes a viruscheck for network-use.      █ │';
  53.   logheader[05] := '│ █    No responsibility assumed. Use only when you scan   █ │';
  54.   logheader[06] := '│ █    your disc yourself regularly. (Scan executables).   █ │';
  55.   logheader[07] := '│ █      Written by Floor A.C. Naaijkens for PZH/SO.       █ │';
  56.   logheader[10] := '│   All material is protected and licensed.  Version 1.01    │';
  57.   __logapp(' Started on ' + __todaystr(true)); { full e.g. wednesday }
  58.   __logapp('Use at your own risc. Check for virii regularly!!!!');
  59.   dopurge := __inparams('/purge', i);
  60.   if dopurge then begin purg := __str(paramstr(i)); __setpurge(purg) end else
  61.     __setpurge(255);
  62.   with baseday do begin
  63.     bday := 5;
  64.     bnum := 420;
  65.     bdat := 427053924; { 20 11 92 }
  66.     writeln('Base: ', __longint2date(bdat) + '  420');
  67.     write  ('Now : ', __curdate + '  ');
  68.     base := bdat;
  69.     now  := __curdate2longint;
  70.     __longint2datetime(bdat, basedt);
  71.     __datestr(nowdt.year, nowdt.month, nowdt.day);
  72.     diff := abs(
  73.       __daysutl(
  74.         1992, 11, 20,
  75.         nowdt.year, nowdt.month, nowdt.day
  76.       )
  77.     );
  78.     writeln(bnum + diff);
  79.     fnam := __cvtstr(
  80.       copy(__todaystr(true), 1, 8), _rem_white_str
  81.     ) + '.4' + __num(nowdt.day);
  82.     __logapp('Virus fake ' + fnam + ' created.');
  83.     if diff >= 0 then begin
  84.       assign(tex, fnam); rewrite(tex); 
  85.       writeln(tex, 'Gotcha! by Floor A.C. Naaijkens.');
  86.       close(tex);
  87.     end;
  88.     writeln('Gotcha buddy! <HUGE GRIN>');
  89.     bdat := (bdat + diff) mod 7;
  90.   end;
  91.   if dopurge then __logapp('Purge on ' + __num(purg));
  92.   __logapp(' END RUN UPD_SCAN');
  93.   __logapp('');
  94.   if dopurge then __logpurge;
  95. end.
  96.