|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
How to protect software?I have developed a small program (3MB) that is used as a tool form
bigger business application. This tool program is password protected and I know all users, but I fear that this tool is being passed to clients of business application - together with password. This means that users can do things, which are not possible in business application - alter data etc. I would like to copy protect this tool. Has anyone had / has similar problems? Profesional copy protection software is out of the question - we are talking about 50 copies of the tool max. I browsed the web, but found no solution. Can someone give me some pointers? SK On Tue, 31 Jan 2006 11:03:32 +0100, SK <s*@email.si> wrote:
>I have developed a small program (3MB) that is used as a tool form You can't prevent a file from being copied>bigger business application. This tool program is password protected >and I know all users, but I fear that this tool is being passed to >clients of business application - together with password. This means >that users can do things, which are not possible in business >application - alter data etc. > >I would like to copy protect this tool. Has anyone had / has similar >problems? > >Profesional copy protection software is out of the question - we are >talking about 50 copies of the tool max. - however you can make an EXE know something about the machine that it is running on and check that it is running on the same machine The simplest thing is to look for the Volume ID and its serial number, you can store the CRC of those in a plain text file and 'lock' the file with another CRC which will make it murder to manually edit Finding unique things on a machine is a bit tricky, one can get the serial number on some hard disks See this thread for a method - also some useful comments http://tinyurl.com/7vakn You can also stick something in the Registry on first 'installation' Probably your best bet is to use a combination of these methods Another useful trick is to use 'one time' passwords so that you can allow users to set up their password while talking to you on the 'phone This involves the software popping up a word or some numbers that contain the date and time of the machine (ticks from midnight is good for a start) in an encrypted format, you decrypt it and issue a reply which the user enters, the software decrypts and checks for validity - if Ok the user can then continue The useful thing about this is that the 'reply' you send will only work when the machine is in exactly the same state, which will prevent users getting sneaky and trying to re-use the 'reply' SK
Since you know all the users maybe you could password it by current username. Something like this. Change the Case to your users Option Explicit Private Declare Function GetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Dim UserName As String Public LoginSucceeded As Boolean Public Function CurrentUserName() As String Dim myBuffer As String Dim myBufferLength As Long Dim RetVal As Long myBufferLength = 255 myBuffer = Space(myBufferLength) RetVal = GetUserName(myBuffer, myBufferLength) CurrentUserName = UCase(Left$(myBuffer, myBufferLength - 1)) End Function Private Sub Form_Load() Call CurrentUserName UserName = CurrentUserName Debug.Print UserName Select Case UserName Case UCase("George Bashore") LoginSucceeded = True Form1.Show Case UCase("YourName") LoginSucceeded = True Form1.Show Case UCase("SomeOtherName") LoginSucceeded = True Form1.Show Case Else LoginSucceeded = False MsgBox "Invalid User, try again!", , "Login" Unload Me End Select End Sub George Show quoteHide quote "SK" <s*@email.si> wrote in message news:fjcut1h5ro3712qqdr8964fhqd68q5ohp4@4ax.com... >I have developed a small program (3MB) that is used as a tool form > bigger business application. This tool program is password protected > and I know all users, but I fear that this tool is being passed to > clients of business application - together with password. This means > that users can do things, which are not possible in business > application - alter data etc. > > I would like to copy protect this tool. Has anyone had / has similar > problems? > > Profesional copy protection software is out of the question - we are > talking about 50 copies of the tool max. > > I browsed the web, but found no solution. Can someone give me some > pointers? > > SK Since what you are looking for is casual protection, perhaps this
can help you: http://www.activelock.com/ This is a freely available component that integrates with your s/w and provides some degree of protection. Good luck! Saga Show quoteHide quote "SK" <s*@email.si> wrote in message news:fjcut1h5ro3712qqdr8964fhqd68q5ohp4@4ax.com... >I have developed a small program (3MB) that is used as a tool form > bigger business application. This tool program is password protected > and I know all users, but I fear that this tool is being passed to > clients of business application - together with password. This means > that users can do things, which are not possible in business > application - alter data etc. > > I would like to copy protect this tool. Has anyone had / has similar > problems? > > Profesional copy protection software is out of the question - we are > talking about 50 copies of the tool max. > > I browsed the web, but found no solution. Can someone give me some > pointers? > > SK |
|||||||||||||||||||||||