Database Hiding

bhaumik
bhaumik used Ask the Experts™
on
I am developting a software
it is almost complete
but now i want my database invisible when i install the application
so user cant access my database and manupulate it
the folder of my application will be in the program files
folder in C: drive
but database in my folder should be invisible
and i am using visual basic
so how should i do it
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
"Invisible" will not be possible. But you could password protect your DB so noone can fool around with it. When you want to connect to your DB you need to pass UID and Password in your connection string.
Guy Hengel [angelIII / a3]Billing Engineer
Most Valuable Expert 2014
Top Expert 2009

Commented:
what is the database (i guess m$ access)
Guy Hengel [angelIII / a3]Billing Engineer
Most Valuable Expert 2014
Top Expert 2009

Commented:
anyway, I agree with rdrunner :-)
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Éric MoreauSenior .Net Consultant
Top Expert 2016
Commented:
another thing you can do is to change the extension (change .mdb to .dll or .123 for example) and some people will not try to open it.

Commented:
rdrunner is right that if you don't want them to mess with it you should password protect it.

emoreau also brings up a good point, and I find that .dat makes the most sense.  It makes the file "invisible" to the ordinary user, they just look and see a data file for the program and leave it alone.

If you truly want the file to be invisible to the common user, just make sure you make it hidden before you make the setup program.  Then when the program runs it will create a hidden file, and most users will never see it.

Frankly, I'd suggest that you use all three methods.  The password protection (almost) guarantees that the file won't be messed with, and the other two make most people not even notice it.

Commented:
'to the common user

I just comment for a real cracker all these points are so 'Basics' & will not trick him
      U can then neglect points follow

For that user only U have to Encrypt Ur DBase file
I made it for my self using .mdb after changing its extension
I encrypt file beginning(not all the file but including Jet signature So Access can never open it) whenn closing prog & Decrypt it upon using it

Drawbacks
  1- till now it is a Single user solution.... to make it multi user I must register user entry *.ldb)

  2- illegal close of program lets Dbase decrypted, I check for encryption upon prog load I then tell user in next open prog ( it is recommended to restore backup) & continue prog with out deccryption.

Commented:
A real cracker would debug your code, find where your software calls the function to check for the date and patch both return values to "ok"

So basically it does not "matter" how much thought you put into it...  Just make it so it looks like nonsense to anyone. (very simple xor symetric coding of the datestring for example)

Alltogether you cannot achieve this with a Software where the user has access to ;)
Éric MoreauSenior .Net Consultant
Top Expert 2016

Commented:
please maintain

Questions Asked 3
Last 10 Grades Given  
Question Grading Record 0 Answers Graded / 0 Answers Received
No comment has been added lately, so it's time to finalize this question.
Please leave any recommendations within the next seven days as to who deserves the points, or if they should be refunded.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

RavenOfThought
EE Cleanup Volunteer

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial