473,385 Members | 1,798 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Reverse Engineering an mde

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


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

"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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Weird-beard | last post by:
Is there a uml reverse engineering tool for php? I am using argo uml, but it only has support for java reverse engineering, I remember that poseidon is same too. Thanks.
8
by: xiao zhang yu | last post by:
me was sorry if this question are present before DotNet, no matter VB.Net or C# all they are compiled to IL, and yes, that IL will totally same as "open-sourse", every IL will easy to decompile...
7
by: Martin | last post by:
Hi, I am trying to reverse engineer some software in C. Ideally I would like to use a free program that would scan for function calls and map the route of function calls in programs in a tree...
6
by: bluekarthik | last post by:
Hi , Hi, has anyone tried reverse engineering a .drv / .dll file ? Plz tell me some techniques to reverse engineer .drv / .dll files !! karthik bala guru
2
by: seash | last post by:
H I developed an windows form application(visual c#), i want to protect it against copying(only licensed should be able to use) and i heard a topic like reverse engineering(c# decompilers) etc...Is...
3
by: Sérgio Almeida | last post by:
greetings it is possible to use reverse engineering on a .NET Dll? If so, how? TIA Almeida
15
by: Fady Anwar | last post by:
Hi while browsing the net i noticed that there is sites publishing some software that claim that it can decompile .net applications i didn't bleave it in fact but after trying it i was surprised...
2
by: mary | last post by:
Hi, for my thesis at the university I'm working on a Visual c++ 6.0 source code, to understand better it I need to extract the UML graphics: Class Diagram, Object Diagram, Use Case Diagram, State...
6
by: Herby | last post by:
Hi, Im interested in Reverse Engineering C++ source code into a form more comprehensible than the source itself. I want to write a basic one myself, obviously i need to write a parser for the...
7
by: Gui | last post by:
Hi folks, I have unpacked an all-in-one exe produced by InstallShield. I've made the necessary changes and now I'm ready to repack the files. How can I do that? Which program should I use? ...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.