Contributor: STEVE ROGERS 
{
STEVE ROGERS> Also, does anyone know how PKware wrote the ZIP2EXE Program? I'm also>writing an encryption Program, and I thought a 'self-decrypting' File>would be neat, so I had some ideas on how to do it. Could you just>append the encrypted data to the end of a short 'stub' Program, which>just seeks in how ever many Bytes and reads from there? Or would I>have to somehow assign all the data to a few Typed Constants?
Just so happens I have been dealing With the same problem. I have
written a Procedure to show the "True" size of an EXE File. Knowing this
you can easily get to your "data area" by seeking past the "True" size.
( Acknowledgements to Andy McFarland and Ray Duncan )
}
Function exesize(fname : String) : LongInt;
Type
 t_size = Record
 mz : Array [1..2] of Char;
 remainder,
 pages : Word;
 end;
Var
 f : File of t_size;
 sz : t_size;
begin
 assign(f,fname);
 {$i-}
 reset(f);
 {$i+} { io checking should be off }
 if (ioresult  0) then
 exesize:= 0
 else
 begin
 read(f,sz);
 close(f);
 With sz do
 exesize := remainder + (pred(pages) * 512);
 end;
end;
{
This thing reads the header of an EXE File and gets the info there. I
was amazed when I ran this on a bunch of progs and found how many have
data appended. Hope it helps. :)
} 

AltStyle によって変換されたページ (->オリジナル) /