UtterAccess.com
We have detected that you are using an unsupported web browser. We recommend you to upgrade your web browser to get the most from UtterAccess forums.
Why should and how can I upgrade?
X   Site Message
(Message will auto close in 2 seconds)

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> MDE file    
 
   
azizrasul
post Sep 5 2009, 10:50 AM
Post #1

UtterAccess Ruler
Posts: 1,239
From: Faisalabad, Pakistan



I have created a mde file from my database which I want to distribute. Is there a way that anyone can access the original VBA code? I want to make sure that the mde file is as protected as possible. If the answer is no, what can I do to prevent access to the code?
Go to the top of the page
 
+
Alan_G
post Sep 5 2009, 11:22 AM
Post #2

Utterly Yorkshire and Forum/Wiki Editor
Posts: 16,232
From: Devon UK



Hi

In an mde file I'd say your code is 99% safe. There's a few companies that claim to be able to recover the code from an mde file but AFAIK they aren't cheap and I don't know how successful they are at doing it. Someone would have to really want to get at your code before they'd even think about trying one of them I'd imagine.

Having said that, no code in any application is 100% secured. For example I know that Windows 7 has already been cracked and apparently can be downloaded (sidenote - not that I ever would or suggest to anyone to do so, just using it as an example wink.gif )
Go to the top of the page
 
+
BananaRepublic
post Sep 5 2009, 12:51 PM
Post #3

Admin under the bridge
Posts: 1,199
From: Banana Republic



FWIW, if it's so important and you are willing to pay for it, EverythingAccess.com provides a service to make it even more hard to decompile code.
aven't had used it so can't vouch for its success/effectiveness.
However, one more point.
Someone once raised a point that it's actually easier to decompile a .exe file than it is to decompile a .mde file because .exe file is basically complete & standalone, whereas .mde file has several symbols that aren't easy to decompile without source code for Access itself. (Not sure if that is accurate description; welcome any corrections).
Go to the top of the page
 
+
WaynePhillips
post Sep 5 2009, 01:40 PM
Post #4

UtterAccess Addict
Posts: 160
From: Cheshire, England



Hi guys,
would largely have to agree with Banana in that it is generally harder to decompile the VBA code contained in an MDE file than it is to decompile a standard EXE file. The main reason for this is that the R&D costs for learning/dissassembling p-code (the compiled form of VBA) and all the associated symbol table formats (etc) are huge given that the formats are proprietory and not openly documented. The R&D costs are relatively huge, and given the niche market of MDEs (compared to EXEs), means that few are willing to take on that challenge.
So far, there have only been two vendors offering full MDE to MDB reversal / recovery, of which one of them is me at EverythingAccess -- the other vendor (as far as I know) is no longer in business. FYI, running an ethical business, I require proof of ownership (copyright / IP) before I will take on any MDE to MDB recovery project - if there are any doubts in this regard, I simply will not take on the project.
However, that's not to say that in the future someone won't just offer an unregulated product to do the recovery without the ethical checks -- and that is where the MDE Protector software comes in. If you want to protect from possible future software/services that may be able to recover an MDB file from an MDE, then you can use my MDE Protector which strips out the symbol information stored in the MDE file which in turn makes recovery of the VBA code less feasible.
Most people will find the protection MDEs provide to be perfectly adequate. My advice is to not worry unless you feel you have invented something unique that someone couldn't simply re-code by watching your application in action - I would say that less than 5% (wild guess) ofapplications fall into that category.
HTH
Go to the top of the page
 
+
azizrasul
post Sep 5 2009, 06:12 PM
Post #5

UtterAccess Ruler
Posts: 1,239
From: Faisalabad, Pakistan



The code I have written isn't too complicated that it can't be reproduced, given time. However I want to ensure that anyone who wants to has to make the effort to do so rather than simply copy my hard work. The money I will make, God willing, can be done by obtaining the data from the clients and running the db myself and producing the MS Excel reports for them (which is the function of the tool) and charge a fee accordingly. It was just easier and less work for me if I simply sold the mde file and let the clients run the db themselves.
ayne, tell me this, if I use late binding rather than early binding would that make my VBA code even more difficult to decompile or does that not make a difference? Are there any tips in writing VBA code that would make the task of converting mde to mdb more difficult?
Go to the top of the page
 
+
Bob_L
post Sep 5 2009, 06:16 PM
Post #6

Utterly Banned
Posts: 7,038



Personally, I would not be stressing over it. It is not an easy process to convert an mde to mdb and Wayne has already said that it is so hard to do that there are only a couple, if not one now, companies that are doing it.
would just make your MDE and feel okay about it as it is not going to be worth someone's effort likely to even try to steal your work by trying to decompile and convert. It is more likely going to cost them less, unless you have an extremely complex program, to just rebuild it from scratch for the functionality.
Go to the top of the page
 
+
BananaRepublic
post Sep 5 2009, 06:22 PM
Post #7

Admin under the bridge
Posts: 1,199
From: Banana Republic



I'm no Wayne, but I do believe that MDE file has all of the source code stripped away and you'd be left with only compiled code as well associated symbols. I doubt that the method of binding would have have any effect because the "link" is still there, whether it's a call to:
!--c1-->
CODE
Dim xl As Excel.Application

or
CODE
Set xl = CreateObject("Excel.Application")

The actual compiled code may be slighlty different, but whoever know how to decompile & read it certainly will figure it out.
On more general terms, I understand it's fairly common for some people to obfuscate codes, and this is even common with scripting on web servers such as PHP, Javascript, and the likes. If you google, I'm certain you could find a module that does VBA obfuscation, but I'm quite leery of such products because they can produce undefined results. .
Go to the top of the page
 
+
azizrasul
post Sep 5 2009, 06:33 PM
Post #8

UtterAccess Ruler
Posts: 1,239
From: Faisalabad, Pakistan



Thanks all. My mind is at rest.
Go to the top of the page
 
+
azizrasul
post Sep 7 2009, 08:24 AM
Post #9

UtterAccess Ruler
Posts: 1,239
From: Faisalabad, Pakistan



As a matter of curiousity, can you convert a .mdb file to a .exe file?
Go to the top of the page
 
+
Bob_L
post Sep 7 2009, 10:47 AM
Post #10

Utterly Banned
Posts: 7,038



No, you cannot. You can use the Access Runtime to be able to run the Access mdb/accdb file from a computer without the full version of Access installed, but you cannot convert the mdb file to an exe.
Go to the top of the page
 
+
azizrasul
post Sep 7 2009, 10:54 AM
Post #11

UtterAccess Ruler
Posts: 1,239
From: Faisalabad, Pakistan



Thanks Bob.
Go to the top of the page
 
+

Thank you for your support! Reply to this topicStart new topic

Jump To Forum:
 



RSS Search  ·  Go to Top  ·  Lo-Fi Version Time is now: 28th November 2014 - 03:22 PM