Requirements
Introduction
Summary of the problem with
normal MDE files created by
Microsoft® Access:
Normal MDE files created by
Access contain extra information
that we like to call "compiler
junk" - this is redundant
information about variable
names, data types, constants, UDTs etc that
are no longer needed in a fully
compiled MDE file.
However, this "compiler junk"
makes it much easier to
decompile/reverse-engineer the
VBA code in an MDE file to a
standard that is very close to
the original VBA source code
(including for example all
variable names).
In fact, for those that can
prove ownership of their MDE
files, we at
EverythingAccess.com offer a
service for reverse-engineering
them including all VBA code.
You must be able to prove
lawful ownership beyond any
doubt for our service -
but that is not to say that
another company (or utility)
won't offer a non-validated
conversion service in the
future.
But I thought that the VBA
source code in MDE files had
been stripped out?
Yes, you're quite correct.
However, the source code can be
re-built with very high accuracy
by using the combination of the
compiled code and the "compiler
junk" which is left behind by
Access when creating the MDE
file.
So what's the solution?
Well, if you want to better
protect your VBA code, then the
solution is to remove the extra
"compiler junk" from the MDE
file completely which makes it
much harder and much less
desirable to
decompile/reverse-engineer the
source code. By removing
the "compiler junk" does not
prevent
decompiling/reverse-engineering
the VBA code, but it does make
it that much harder and the
result would be source code that
does not look anything like the
original source code (and
therefore much less
understandable).
This article shows you how to make use of the utility
MDE Source Code
Protector by EverythingAccess.com to remove this "compiler junk" safely
from an MDE file.
STAGE 1:
Open utility and load the MDE file
If you haven't done so already, please install the software from here:
http://www.everythingaccess.com/mdeprotector.htm
Once installed, open the MDE Source Code Protector from the Start menu.
The first thing you need to do is load your MDE file into the MDE Source
Code Protector (you may type the full path to the .MDE file, or use the
Folder icon to select it in the GUI).

Note: A copy is taken of the MDE file in order to ensure you
always have a backup available in case anything goes wrong.
Next, click the
button
and the file will start to load. This may take a few moments.
STAGE 2:
View the 'compiler junk' that is being exposed
Once loaded, the MDE Source Code Protector now gives you a summary of
what redundant information is being exposed in your MDE file. There is
a simple summary at the top:

And more details available on a per module basis below:

Note: This screen is meant as a guide only - it gives you an idea
of what is being exposed in your MDE file without showing actual values of
constants etc (as this would pose a security risk for many developers).
Click the
button
to continue.
STAGE 3:
Generate a new MDE file, removing the 'compiler junk'.
Now that you've viewed the vulnerabilities posed
by the "compiler junk", you can now remove it.
Note: In order to remove the compiler
junk, you will require to purchase a licence for the utility.
Click here to purchase now
Note: Under normal circumstances
you will have no need to change any of the options on this screen.
To generate the new MDE file, press the
button. After the processing has completed, you can now view the
vulnerabilities exposed by your newly created MDE file (it will
automatically be loaded):

As you can see, the "compiler junk" has now been
removed, and your MDE file is now much better protected against
decompilation / reverse-engineering.
Conclusion
The MDE Source Code Protector is a relatively new product - if you find
any bugs or experience any problems, please contact our support team by
e-mail.
Contact Us
*Microsoft Access is a trademark of
Microsoft Corporation in the United States and other countries*
IMPORTANT: This document may not be reproduced in
part or whole without prior consent from the author.
http://www.everythingaccess.com