By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,808 Members | 1,477 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,808 IT Pros & Developers. It's quick & easy.

Reverse Engineering an mde

P: n/a
Just a general question really. I might soon be required to reverse
engineer an mde file and was wondering if anyone had any experiences on the
subject they'd like to share. Having never done this before I was wondering
if there was a "preferred" method, any pitfalls to avoid, that kind of
thing.

Any input greatly appreciated.
Keith.
Nov 13 '05 #1
Share this Question
Share on Google+
17 Replies


P: n/a


Keith wrote:
Just a general question really. I might soon be required to reverse
engineer an mde file and was wondering if anyone had any experiences on the
subject they'd like to share. Having never done this before I was wondering
if there was a "preferred" method, any pitfalls to avoid, that kind of
thing.


Can't be done, in the strict sense that you cannot recreate an MDB file
directly and view the objects. However, you can deduce the
functionality through observation. If you're lucky, you've got SQL
Server as a backend, so you can set up a trace which will help matters.
Otherwise it's fairly painstaking work, and you may miss some stuff.

Good luck.

Edward
--
The reading group's reading group:
http://www.bookgroup.org.uk

Nov 13 '05 #2

P: n/a
http://www.socrtwo.info/MDE2MDB.htm
http://www.everythingaccess.com/mdeunlocker_faqs.htm#4
http://www.tech-archive.net/Archive/...4-12/0106.html

So it looks like you might be able to get forms and reports. You can get
tables and queries already. But not VBA, which I assume means any CBF as
well as standalone modules.

So you'd have some/lots of work to do, depending on how much VBA there is in
the thing. And of course if there isn't then it's probably a simple
application that you may as well recreate from scratch.

I've opened up mde files in notepad, and you see something that looks a bit
like code, if you could be bothered to work out what it might mean. If the
file was encrypted before it was made into an mde then you can't even see
that.

It all sounds like a ton of work to me. If they've got an app they sort of
like but needs improvements xyz then use that as a high quality prototype.
You've had a lot of the requirements gathering done for you.

Why is it an mde anyway? Have they fallen out with their previous developer
and she won't let them have the mdb? If that's the case I'd be wary. There
may be a good reason they don't have the mdb, but there might not. I often
distribute mde files. Partly cause they're a bit faster and smaller, and
partly just to stop users playing with them. But I'd always give a paying
client and mdb if they asked for one.

Mike

"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in message
news:42**********@glkas0286.greenlnk.net...
Just a general question really. I might soon be required to reverse
engineer an mde file and was wondering if anyone had any experiences on
the subject they'd like to share. Having never done this before I was
wondering if there was a "preferred" method, any pitfalls to avoid, that
kind of thing.

Any input greatly appreciated.
Keith.

Nov 13 '05 #3

P: n/a
Hi Mike, responses embedded ...

"Mike MacSween" <mi***************************@btinternet.com> wrote in
message news:42***********************@news.aaisp.net.uk.. .
http://www.socrtwo.info/MDE2MDB.htm
http://www.everythingaccess.com/mdeunlocker_faqs.htm#4
http://www.tech-archive.net/Archive/...4-12/0106.html

So it looks like you might be able to get forms and reports. You can get
tables and queries already. But not VBA, which I assume means any CBF as
well as standalone modules.

So you'd have some/lots of work to do, depending on how much VBA there is
in the thing. And of course if there isn't then it's probably a simple
application that you may as well recreate from scratch.
I've had a quick look at the db window and there are about 20 VBA modules,
who knows how much code they contained?!

I've opened up mde files in notepad, and you see something that looks a
bit like code, if you could be bothered to work out what it might mean. If
the file was encrypted before it was made into an mde then you can't even
see that.
I didn't know you could do that, maybe it will provide some clues. Thanks
for the tip.

It all sounds like a ton of work to me. If they've got an app they sort of
like but needs improvements xyz then use that as a high quality prototype.
You've had a lot of the requirements gathering done for you.
Agreed.
Why is it an mde anyway? Have they fallen out with their previous
developer and she won't let them have the mdb? If that's the case I'd be
wary. There may be a good reason they don't have the mdb, but there might
not.


The story is that the previous developer has left their company and they
"can't find" the mdb, for whatever reason. I'm just a little afraid that
re-creating this app might be more work than one mere mortal can handle, it
looks quite a complex beastie.

Many thanks for your comments Mike :o)
Nov 13 '05 #4

P: n/a
Hi Keith,

Take a gander at www.qbuilt.com . Gunny used to reckon he
could deconstruct most of an mde.

--
Nick Coe (UK)
Available - Will work for money :-)
http://www.alphacos.co.uk/ AccHelp + pAnimal
http://www.pjandcoe.co.uk/ Online Store

In news:42**********@glkas0286.greenlnk.net,
Keith typed:
Just a general question really. I might soon be required
to
reverse engineer an mde file and was wondering if anyone
had
any experiences on the subject they'd like to share.
Having
never done this before I was wondering if there was a
"preferred" method, any pitfalls to avoid, that kind of
thing.

Any input greatly appreciated.
Keith.

Nov 13 '05 #5

P: n/a
"Nick Coe (UK)" <cl*****************@MASPON.yahooDOTcom> wrote in message
news:42***********************@ptn-nntp-reader03.plus.net...
Hi Keith,

Take a gander at www.qbuilt.com . Gunny used to reckon he could
deconstruct most of an mde.

Thanks Nick, I do remember reading that before. It's the number of
un-openable modules that's scaring me at the moment.
Nov 13 '05 #6

P: n/a
"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in
news:42**********@glkas0286.greenlnk.net:
<te********@hotmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...

Can't be done, in the strict sense that you cannot recreate an
MDB file directly and view the objects. However, you can deduce
the functionality through observation. If you're lucky, you've
got SQL Server as a backend, so you can set up a trace which will
help matters. Otherwise it's fairly painstaking work, and you may
miss some stuff.

Well I knew it couldn't be done via Access menu items, hence the
question. Are your comments based upon experience, have you ever
been tasked to do this? It's not something I'm looking forward to
and my client may well raise his eyebrows when I give him a
man-hour estimate!


I've built Access apps to replace Delphi and VB apps for which I
didn't have the code (and the code would have done me no good,
either), so one could surely do it with an MDE, as long as you have
a working copy to prototype from.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #7

P: n/a
"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in
news:42**********@glkas0286.greenlnk.net:
The story is that the previous developer has left their company
and they "can't find" the mdb, for whatever reason. I'm just a
little afraid that re-creating this app might be more work than
one mere mortal can handle, it looks quite a complex beastie.


Have they gone through all their old backups?

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #8

P: n/a
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.86...
"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in
news:42**********@glkas0286.greenlnk.net:
The story is that the previous developer has left their company
and they "can't find" the mdb, for whatever reason. I'm just a
little afraid that re-creating this app might be more work than
one mere mortal can handle, it looks quite a complex beastie.


Have they gone through all their old backups?

I bet you had a bit of a grin on your face when you wrote that :o)
Nov 13 '05 #9

P: n/a
"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in
news:42********@glkas0286.greenlnk.net:
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.86...
"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in
news:42**********@glkas0286.greenlnk.net:
The story is that the previous developer has left their company
and they "can't find" the mdb, for whatever reason. I'm just a
little afraid that re-creating this app might be more work than
one mere mortal can handle, it looks quite a complex beastie.


Have they gone through all their old backups?


I bet you had a bit of a grin on your face when you wrote that :o)


Well, perhaps! I just know perfectly well that any organization that
even pretends to be functioning is going to have *some* backup tapes
lying around, going back who knows how long. They may not be
current, but they are *definitely* worth looking at, particularly if
they can do a catalog search for the filename in the backup
software.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #10

P: n/a
> Thanks Nick, I do remember reading
that before. It's the number of
un-openable modules that's scaring
me at the moment.


Not only are they "unopenable", the original code has been "compiled" to
tokenized state, the comments are gone, and you won't find nice, meaningful
variable names.

The good news is that, via DAO in a separate database (which you'll have to
write yourself), you can extract the properties of the Reports and Forms
which you cannot now open in design view, and use those to construct a new
copy. But you'll have to figure out what code is needed, where it is needed
and write that yourself. Lyle Fairfield has mentioned doing this, but I
don't know if he has posted code somewhere that does it -- maybe he will
respond or you can google for his posts and see if he mentions it.

The other good news is that, if you have some reasonable experience, you may
just be able to execute the .MDE, make some notes, and re-create it. If it
happens that you are more "in tune with the Access way", you may be able to
recreate the functionality with significantly less code than the original
had. It is because experienced Access developers can so often, so simply
recreate an application that deep discussions of security to protect code,
forms, reports, queries, and modules usually turn out to be merely a waste
of time and effort.

Larry Linson
Microsoft Access MVP


Nov 13 '05 #11

P: n/a
"Larry Linson" <bo*****@localhost.not> wrote in
news:eM1se.3154$kj5.1433@trnddc03:
The other good news is that, if you have some reasonable
experience, you may just be able to execute the .MDE, make some
notes, and re-create it. If it happens that you are more "in tune
with the Access way", you may be able to recreate the
functionality with significantly less code than the original had.
It is because experienced Access developers can so often, so
simply recreate an application that deep discussions of security
to protect code, forms, reports, queries, and modules usually turn
out to be merely a waste of time and effort.


The real way to protect your code is to simply make it so
disorganized and confusing that nobody else could possibly figure
out what it does.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #12

P: n/a
"David W. Fenton" <dX********@bway.net.invalid> wrote
The real way to protect your code
is to simply make it so disorganized
and confusing that nobody else could
possibly figure out what it does.


David, it was an accident -- coulda happened to anybody. When I did that
work for you, I didn't do this _on purpose_, honest I didn't. <BIG GRIN>

FMS even had a product to obfuscate code for you in this manner, at one
time -- may still sell it for all I know.

Larry Linson
Microsoft Access MVP
Nov 13 '05 #13

P: n/a
On Thu, 16 Jun 2005 01:34:01 GMT, "David W. Fenton"
<dX********@bway.net.invalid> wrote:
"Larry Linson" <bo*****@localhost.not> wrote in
news:eM1se.3154$kj5.1433@trnddc03:
The other good news is that, if you have some reasonable
experience, you may just be able to execute the .MDE, make some
notes, and re-create it. If it happens that you are more "in tune
with the Access way", you may be able to recreate the
functionality with significantly less code than the original had.
It is because experienced Access developers can so often, so
simply recreate an application that deep discussions of security
to protect code, forms, reports, queries, and modules usually turn
out to be merely a waste of time and effort.


The real way to protect your code is to simply make it so
disorganized and confusing that nobody else could possibly figure
out what it does.


Ah, you mean an Excel VBA program.
Nov 13 '05 #14

P: n/a
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.74...

Have they gone through all their old backups?


I bet you had a bit of a grin on your face when you wrote that :o)


Well, perhaps! I just know perfectly well that any organization that
even pretends to be functioning is going to have *some* backup tapes
lying around, going back who knows how long. They may not be
current, but they are *definitely* worth looking at, particularly if
they can do a catalog search for the filename in the backup
software.

Good point, I will mention it to him, thanks.
Nov 13 '05 #15

P: n/a
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.86...

The real way to protect your code is to simply make it so
disorganized and confusing that nobody else could possibly figure
out what it does.

Ah, so you've seen my modules ;-)
Nov 13 '05 #16

P: n/a
"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in
news:42**********@glkas0286.greenlnk.net:
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.86...

The real way to protect your code is to simply make it so
disorganized and confusing that nobody else could possibly figure
out what it does.


Ah, so you've seen my modules ;-)


No, just worked with my own!

It all *seemed* so clear when I was writing it...

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #17

P: n/a

"Keith" <ke*********@baeAWAYWITHITsystems.com> wrote in message
news:42**********@glkas0286.greenlnk.net...
Just a general question really. I might soon be required to reverse
engineer an mde file and was wondering if anyone had any experiences on
the subject they'd like to share. Having never done this before I was
wondering if there was a "preferred" method, any pitfalls to avoid, that
kind of thing.

Any input greatly appreciated.
Keith.

Nov 13 '05 #18

This discussion thread is closed

Replies have been disabled for this discussion.