Google Answers Logo
View Question
 
Q: Ways to keep software secure from illegal uninstallation by competitors ( No Answer,   7 Comments )
Question  
Subject: Ways to keep software secure from illegal uninstallation by competitors
Category: Computers
Asked by: shortyv-ga
List Price: $200.00
Posted: 16 Jan 2005 20:44 PST
Expires: 15 Feb 2005 20:44 PST
Question ID: 458424
I have a legitimate and legal software program that allows users to
attach large files (i.e. digital pictures, powerpoint files, etc.) to
their emails.  The program is free.  The problem is that the software
is being illegally removed or 'ripped out' by competing software
companies.   Originally I implemented a process of requiring a
'kaptia'
box when a user accesses the add/remove programs and wants to
un-install my software; however, my competitors are still somehow
removing my software when they are present on the same machine.
My software is free to users and is not ad supported (which my
competitors show tons of pop up ads to users in order to monetize
their 'free' product).  I want to keep my software free and at the
same time allow my users to remove my software if they legitimately
wish to do so but I want to prevent competitors from
illegally deleting my software from a users desktop.

What measures can I put in place to prevent this from happening?
Answer  
There is no answer at this time.

Comments  
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: stone07-ga on 17 Jan 2005 07:04 PST
 
Change the executable/dll filenames and registry keys, if any, that
your application use. You can even change their locations and
sizes/signatures for files. This will probably make your competitor to
have to change their code to continue uninstalling your new version.

Also there might be a registry key/path location/file that is common
for both programs and simply the last one installed overwrites
something required by the first one to run (this can be the case if
uninstallations are not intentional strictly towards your product, but
all similar products or if you have evidence that uninstallations are
not complete, just your app is defunct or something similar). In that
case, you can also try to add another simple application to
system/user startup that will check if your application has been
illegaly removed, and if so - do a silent re-install or simply copy
over again files that have been removed/modified from the backup
location (where you have put them during initial installation).

If a user logged in/running your competitor's app is admin on that
computer/network or has sufficient privileges to tamper with your
files, you can hardly stop him to uninstall your app as long as your
competitor knows where is and how your app works. You simply have to
outsmart them.
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: funnyorange-ga on 19 Jan 2005 11:41 PST
 
What they are doing is illegal and malicious.  They are manipulating
data not owned by them (at the minimum it is a flagrant copyright
violation).  You have several options:

1)  Report them to several anti-virus vendors to get their application
added to virus definition lists.
2)  Get a cease-and-desist court order and request to freeze their assets.
3)  Sue them or get law enforcement to put the owners of those
businesses behind bars.
4)  Contact a number of news sites and their beats.  If the article
makes the front page, the competitor sites (along with your own) will
be Denial of Serviced (DoS'd).  Don't be whiny, but present your topic
with a business-like sense such as a public relations department would
do.  If you get lucky, you might make slashdot.org front page and both
you and your competitors will be DoS'd by zillions of users.  This can
be a great source of PR for your product depending on how you play
this route.

I'd personally start with #4, execute #2 if that doesn't work,
threaten #3 and execute #1, then execute #3.  Be sure to have regular
press releases and press contact - that information will filter down
to the Internet community and people will see you as the good guy and
your competitors as the bad guys.  The result of this will be more
people using your product.

If you do not take any legal action against them, the courts may rule
in favor of them if it ever comes to that.  Some simple PR (free
publicity if done right) is usually sufficient to get such people to
straighten up and fly right.  This approach is a whole ton simpler
than playing cat-and-mouse with code.
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: jamesmcg-ga on 24 Jan 2005 10:24 PST
 
It would seem that your competitors are simply removing the files (and
registry entries?) from your clients computer, rather than executing
the uninstall program (in effect they have written their own
uninstaller).

As with a previous comment, changing file names / directory names /
registry locations or a version by version basis would invalidate
their existing uninstallers.

Or alternatively you could try the method of salting (ie generating a
random string and using it as part of the install directory / registry
keys - the salting should be randomly generated as part of the install
process and not pre-determined in the binary before shipping). They
use this method with mozilla profiles to help avoid malicious access.
Ie  C:\Program Files\MyApp\ would become C:\Program
Files\MyApp.jdtsghtn\  The same idea can be applied to registry keys
and dll files.

For filenames, this can still be countered, as a script could run 
delete C:\Program Files\*MyApp*
The counter to this would be to install into C:\Program
Files\jdtsghtn\ or more neatly C:\Program Files\Outlook
Express\jdtsghtn\ and just create shortcuts within C:\Program
Files\MyApp\

If you have to save the salting to a config file, you might want to
encrypt it (with the key embedded in the binary), or alternatively
allocate a space within your binary, then during the install, hex edit
it to embed the salting(s). You could do this by declaring a unique
string within your program code ie
string salt = "SALTING" 
and then read the exe as a binary file, search for the ASCII codes for
SALTING and replace with a 6 letter salt. (Though do a search before
hand to ensure that the ASCII equivalent of your chosen keyword
doesn't appear elsewhere)


However the application still needs to be registered within the
computer (and the uninstaller), and the files need to be readable by
the computer. It would still be possible to parse the results of
dir C:\ /S 
to locate your program directory (but would slow down the users
machine to generate). There would also be other methods of searching
the windows registry for where the program is registered.


Other alternative suggestions would include installing a second
program, placing a link to it in
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current_Version\Run
which basically checks that the program has not been unintentionally
uninstalled (the uninstaller would need to leave behind a key in the
registry somewhere - also salted so others couldn't fake it), and
redownloads and installs the program if if hasn't been correctly
uninstalled. You would need to leave this program running in memory
(doing nothing), and programmed with a shutdown command to rewrite the
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current_Version\Run
registry key.



The short answer is that there is no technical difference between an
enemy program and a user. Anything a user can do, can be scripted. If
a user can manually uninstall the program without your installer, then
an enemy program can script this uninstall. This is similar (but the
reverse situation) to the core reason why Digital Rights Management is
fundamentally flawed (as in it will always be possible for a user to
crack it - as the key to decrypting the content is on their computer,
hidden but still embedded in their decoder).

I hope this posting helps you, it won't stop them completely, but you
can make it alot harder to uninstall (there may come a point where it
costs them too much in manpower to figure out how). Though you may
need to explain some of these measures to your customers, ones might
equate such measures (especially the extra startup item) as being less
than benign (though Joe-Sixpack would likely be unaware of them).
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: akash_kava-ga on 31 Jan 2005 03:06 PST
 
Here is the step by step method to protect your files.

1) If its NT based system then register your exe file as a service
with low priority thread and in the starting of this exe you open file
pointers and let them be open and when service closes down, just close
the file pointers. Benefit of service is, it loads automatically when
windows starts and no program has access to remove it from service
that easily.
2) This one protects your files being automatically deleted if anyone
will try to delete your file except your service, it will get file
already in use exception.
3) In windows 98 system, there is option of converting your executable
into mini service.
4) When exe file is running, it is not easy to remove it, and you can
write a code of uninstallation in your service which is running in
background. Once someone tries to uninstall, you can show a visual
confirmtion (show some characters in bitmap and tell them to fill in)
which any automatic program cant do.

If you still need my help can I give my email address, I know inside
out of every OS of the world and my answer will be the maximum
possible secure way you can secure your product.

when your competitors will know that you are doing somethign of this
kind, it will not be easy for them to remove it, but remember there is
always a way when other program can harm your program, i am claiming
that it will be difficult but it will not be impossible.
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: netzmagg-ga on 13 Feb 2005 17:01 PST
 
The easy way for doing it,is to write a small execuatable that open
all your application file for read.

This appliction should run on startup.

If someone is tring to close this app , the app should popup a message
"Do you want to uninstall?"

For more details how to keep your app simple,and still hard to remove contact
MomoShlomo@hotmail (only if you arn't a spyware)
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: maxinator-ga on 07 Mar 2005 15:07 PST
 
Ok well heres a simple solution... make a silent installer that
installs your program that restores the installation upon running it.
Ok now as part of the install... make it install a copy of itself into
a random directory like C:\windows\system, or system32 or something
else, and log its location into 
HKEY_CURRENTUSER/Software/Microsoft/Windows/Currentversion/run.....

what this will do... is when the computer restarts, it reinstalls your
application, randomizes the directory of the "restorer" and updates
the registry so if it is ever deleted it is restored again...
Subject: Re: Ways to keep software secure from illegal uninstallation by competitors
From: neorayden-ga on 10 Oct 2005 15:14 PDT
 
You should be able to add an encryption method to your installation
and uninstallation that would require your users to submit a 16 - 32
character code that they would make up during installation that would
be sent to a database within your server. They would then need this
code to uninstall the program so that is gives it a PGP like security
effect.


This could also be a marketable feature not only providing a service
but security. (AND EVERYONE LOVES SECURITY)

Hope this answers your question.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy