David Brennan asked us:

> I am curious to know what information ends up in the EXE under
> normal (ie Delphi5 out of the box) compiler and linker settings

Unless you include the TD32 debugging information (or remote debugging
information) into your executable there is certaion amount of information
that is included in the executable, but it breaks down into the following
categories:

1. Any exported procedure names.

2. RTTI (run time type information) for classes with published properties.

3. VMT (virtual method table) information for all classes with virtual and
dynamic methods. This includes method names.

4. Constant data (eg strings).

These can give an hacker clues to your application structure, so if you
avoid any of these sorts of things when you write your critical protection
code are somewhat better off.

Things are very different if you use packages, as the package needs to
export lots of symbols so that the calling code can find the procedure
entrance points. These are essentially class, methods and procedure names,
some of them mangled if you use overloading.

The resources are a different matter, as these are stored in the resource
area of the executable and are browsable and extractable. Its rather fun
to get other people programs and have a look at their forms resources. You
can quickly find out a lot about the component naming, class libraries
used and the like.

Cheers, Max.


---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED] 
with body of "unsubscribe delphi"

Reply via email to