[Back to FILES SWAG index]  [Back to Main SWAG index]  [Original]

(*
MH³Anyone have any suggestions on protecting source code against this sort
  ³of piracy? I have tried using a CRC calculation on the .EXE but run
  ³into "FILE ACCESS DENIED" if the game is running on a network (the
  ³program is meant for networks...)
MH³Any suggestions would be appreciated.

 You are probably opening the .exe file with RESET command using the
 default file open mode of read/write which tries to open it with
 read/write access privileges.  Normal access to network programs is
 probably set to read-only access.  Below is how I open a binary file in
 read-only mode in Turbo Pascal v6.  The filemode variable is located in
 the TP system unit. 0=read/only 1=write/only 2=read/write 64=shared-r/o
 65=shared-w/o 66=shared-r/w.  In your case there may be no need to test
 the file attribute first, as the r/o attribute may not be set. But you
 could attempt to always open it with file mode 2 and then try mode 0 or
 64 if mode 2 wasn't successful. Remember to set the file mode back to
 'normal' before opening normal r/w files.
 *)

 Function  OpenF(name:pathstr):boolean;
     var
       readonly : boolean;
       goodfile : boolean;
       attrword  : word;
   begin
     Assign(f,name);  { f is global untyped file ie.  var f:file; }
     GetFAttr(f,attrword);
     readonly := odd(attrword);  { if file read-only attribute is set }
     if readonly then
       filemode := 0   { allows open of untyped file r/o }
      else
       filemode := 2;  { normal readwrite untyped file }
     {$I-}
     Reset(f,1);   { recordsize = 1 byte }
     {$I+}
     goodfile := (ioresult = 0);
     if goodfile then goodfile := (not eof(f));  {protect against
                                                  0 byte files}
     OpenF := goodfile;
   end; {openf}

[Back to FILES SWAG index]  [Back to Main SWAG index]  [Original]