Thanks Max - I thought I could rely on you to provide a useful reply!

Will the VMT only contain information on virtual and dynamic methods? That
is, if a class has 3 virtual methods and 5 normal (non dynamic/virtual)
methods then surely only the 3 virtual methods are built into the VMT?

On a slightly different tack, when the CPU debug window is open listing the
assembler code it contains labels every few lines (such as function names,
source code line numbers). Presumably these are inserted for our benefit by
the CPU window and they aren't actually present in the EXE file?

David.

----- Original Message -----
From: "Max Nilson" <[EMAIL PROTECTED]>
To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
Sent: Thursday, March 15, 2001 12:20 PM
Subject: RE: [DUG]: What information is compiled into the EXE?


> 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"

---------------------------------------------------------------------------
    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