How to protect Access application from Reverse Engineering

A

asobel

I have a large aplication made of Access Front End and data in SQL Server.
Moving the application to Access 2007 alows me to create *,accde file which
is which Forms and Reports are protected by compilation but Queries, Macros,
Tables and Table links are not (Why?). I understand that a non Access
Compiler can hide the Queries, Macros, Tables and Table links too. I did find
on such compiler (BrotherSoft) which does pretend to do the job but it's demo
does not work and the full version is not for sale.
1. Please help me find a working compiler.
2. Another solution could be hiding all Queries Macros and Tables. This is
possible with access but it is possible to unhide too. If one can block the
unhiding, he can do the job.
3. Please suggest other solutions

Your help will be appreciated.
Asobel
 
C

Chris O'C via AccessMonster.com

You can use Access and hide your design. Convert all macros to vba procs,
convert all linked tables to SQL Server views and use those as the record
sources for forms and reports, convert all queries to SQL Server views and
stored procedures that use custom dlls.

Convert the accdb to an accde and the vba source code is removed from the db
file. The user can't read the tables, relationships, queries and macros
because there aren't any in Access.

OTH, anyone with access to your SQL Server db can reverse engineer all of
that design except the custom dlls which are compiled code. But that's not a
fault of Access security. There aren't any dbs that can completely hide the
design from those who have access to the db as a legitimate user.

Chris
Microsoft MVP
 
T

Tony Toews [MVP]

asobel said:
I have a large aplication made of Access Front End and data in SQL Server.
Moving the application to Access 2007 alows me to create *,accde file which
is which Forms and Reports are protected by compilation but Queries, Macros,
Tables and Table links are not (Why?).

Who cares about queries and macros. Much of the business logic of
any application will be in the VBA code. You shouldn't have any
macros either.

Tables and table links are not relevant either as the data belongs to
the customer who entered the data and not you.
I understand that a non Access
Compiler can hide the Queries, Macros, Tables and Table links too. I did find
on such compiler (BrotherSoft) which does pretend to do the job but it's demo
does not work and the full version is not for sale.

URL please.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

asobel via AccessMonster.com

Dear Chris

Thanks for your replay

I have hundreds of Queries and Macros in my application. I did convert some
critical Queries to SQL Server Views but converting all to SQL Views and
VBA is not practical. I had one Macro and one Module in VBA that I had to
cancel on converting from 2002 to 2007 because of 2007 error messages. Even
if I convert a query to SQL View, the link to it is not hidden and so are the
links to all my tables in the SQL Server.

Asobel

You can use Access and hide your design. Convert all macros to vba procs,
convert all linked tables to SQL Server views and use those as the record
sources for forms and reports, convert all queries to SQL Server views and
stored procedures that use custom dlls.

Convert the accdb to an accde and the vba source code is removed from the db
file. The user can't read the tables, relationships, queries and macros
because there aren't any in Access.

OTH, anyone with access to your SQL Server db can reverse engineer all of
that design except the custom dlls which are compiled code. But that's not a
fault of Access security. There aren't any dbs that can completely hide the
design from those who have access to the db as a legitimate user.

Chris
Microsoft MVP
I have a large aplication made of Access Front End and data in SQL Server.
Moving the application to Access 2007 alows me to create *,accde file which
[quoted text clipped - 8 lines]
unhiding, he can do the job.
3. Please suggest other solutions
 
A

asobel via AccessMonster.com

Dear Tony

Thanks for your replay

1. So far, I have nothing in VBA. I have hundreds of queries and macros to
convert.
2. Much of the data belongs to me and not to the customer.

I really need to hide as much as possible

Asobel
 
T

Tony Toews [MVP]

asobel via AccessMonster.com said:
1. So far, I have nothing in VBA. I have hundreds of queries and macros to
convert.

No disrespect intended but you don't have a lot there that couldn't be
reverse engineered fairly quickly.
2. Much of the data belongs to me and not to the customer.

Then I'd suggest encryption. Which will require VBA code. MS does
have a crypto API you can use.

But, again, do not hide the customer data as that belongs to them.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
T

Tom van Stiphout

On Wed, 15 Oct 2008 04:38:13 GMT, "asobel via AccessMonster.com"

Why are you concerned about the table links? Even if you could hide
them, couldn't the user simply open the SQL Server database in
Management Studio?

How come that at the eleventh hour you are suddenly concerned about
the macros? It seems a bit late to realize your application
architecture does not support your objectives.

In A2007 there is the "Convert Macros to Visual Basic" menu option.

(Not that I would advocate this course of action) you could replace
all your queries by in-line SQL.

-Tom.
Microsoft Access MVP

Dear Chris

Thanks for your replay

I have hundreds of Queries and Macros in my application. I did convert some
critical Queries to SQL Server Views but converting all to SQL Views and
VBA is not practical. I had one Macro and one Module in VBA that I had to
cancel on converting from 2002 to 2007 because of 2007 error messages. Even
if I convert a query to SQL View, the link to it is not hidden and so are the
links to all my tables in the SQL Server.

Asobel
<clip>
 
T

Tony Toews [MVP]

Tom van Stiphout said:
In A2007 there is the "Convert Macros to Visual Basic" menu option.

Oh, I'd forgotten about that one. And it's there in previous version.
(Not that I would advocate this course of action) you could replace
all your queries by in-line SQL.

I don't have any action queries in the database window as I put them
all in VBA code. However it would be a significant amount of work to
move the queries to VBA code. And a lot of work debugging things
later.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top