Link to home
Start Free TrialLog in
Avatar of imarshad
imarshadFlag for Pakistan

asked on

Distributing Shape Files with a program......

Hi all,
          I have developed a Vehicle Tracking Software and now its time for deployment of that project......I am using about 30 different layers of Maps (mostly Shape files) and some of them are Geo referenced BMP's....... Currently I am developing using MapObjects 2.1 and VB6......
Can someone tell me how to secure my Shape files so that no one can copy them (or use them after copying) in their project ? Currently I am keeping them into a specific folder.....But anyone who knows about GIS will make  a search for *.shp and will copy all the files into a CD or thumb disk and can easily use these into his project.....so what is the safe method of distributing Shape Files with the project of VB?

Imran
Avatar of imarshad
imarshad
Flag of Pakistan image

ASKER

I want Distributing these Shape Files so that only my project can open the Shape Files but no one else can open these files even within ARC VIEW or Mapobjects.......

Imran
Avatar of vilia
vilia

You can’t make a bulletproof system, but you can add some difficulties for example:

- Scramble Shape files and compress them (by VB).
- Store same info into registry (absolute file locations, installation timestamp, etc.)
SOLUTION
Avatar of kissgisit
kissgisit

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
>> I have never heard of a shapefile being unavailible to ArcView.
I was thinking of changing/corrupting the header of the Shape Files so that whenever someone tries to open the Shape File from any other program it will generate error....but the problem is that mapobjects might also not be able to open the Shapefile for my project......

>>- Scramble Shape files and compress them (by VB).
Can you illustrate a little bit more......I apprehend I will face the same difficulties as above........

Imran
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You can do something like:
1. zip SHP file
2. XOR each byte of the zipped file (newByte = oldByte XOR 0xFA)
3. rename shp extension to something different (.frm or .xyz)


In the application (each time):
1. load .xyz file
2. XOR each byte back (oldByte = newByte XOR 0xFA)
3. unzip
All steps without creating an external/temp file


Note: As I have mentioned earlier there is not protection against a dedicated person.
kissgisit,
>>Is there a reason why you wouldn't want any other program to see it.
Yes of course there is....We have produced these maps with  great effort and investment. So we will not like others to just enter that system and simply copy the maps and get all of our 3-4 year work within a minute.....

              I put the same question on the ESRI forum and I got the following response......

Re: Distributing Shape Files with project.....  
Author A.J. Romanelli  
Date Oct 18, 2004  
Message This topic has been covered multiple times in this forum, search for "encrpyt shapefiles". The short answer is that this is not possible. You will need to extract the data to shapefiles and place them on disk for MO to access them, at which point any other application could make use of them as well (or they could be copied off to another location).  


Subject Re: Distributing Shape Files with project.....  
Author ESRI Developer Support  
Date Oct 18, 2004  
Message No easy solution, but here are some ideas:

http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=15449 


So almost all the signs are discouraging but I will leave the question open for a few days so that if someone has done something on it might pop up and help me in this regard......

Imran
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Still waiting......

Imran
What I have done so far is that I have placed the Maps in a folder and I am the only one who knows that path....(It is a very long path)..... Then I have simply made that folder hidden using dos Commands.... Then lastly I have used  "Hide Folders XP" software to make it completely invisible...... Now it is protected from novice level hackers but anyone who knows even some small level of hacking will still be able to figure it out... But it has given me at least some security which I can show to my boss......

Imran Arshad
Hi Imran,

Have you got a chanse to investigate the posibility I wrote (10/28/2004 07:26AM PDT), pariculary:
If there is possibility to have VB in "full control" and use MO objects under VB control, it could be possible to use encryption (that, in a very simplified form, I have described).

In other words is it possible to call MO objects from VB in your application?

Vilia
Still waiting......
Vilia,
       Thinking in your suggestions I have made slight advancement...... I have changed the projection in the map i.e the Shape files will now not show the actual Lat/Long when viewed with some other program..... But when my application loads them then it will change the projection on the fly and display those maps with correct Lat/Long...... But the biggest problem i.e with the Geo-referenced BMP's still remains.... These are the ones that we are most afraid of being stolen..... Since they have an external world file so still no way to make it useless for other people.....

Imran
OK I am finalizing this question......

Imran