Results 1 to 10 of 10

Thread: Copy Protection

  1. #1

    Thread Starter
    PowerPoster eiSecure's Avatar
    Join Date
    Jul 2000
    Location
    Texas
    Posts
    2,209

    Question

    Hello everyone,
    I have this security/encryption program that I am selling, and now, a question has arised that I just can't figure out, and not many web sites have good topics on it. My question is: How do you implement copy protection in your programs so that a)Your registration codes can't be shared, and b)Every machine requires a different registration code.
    Any help, and/or code would be a great help.
    Thanks!

  2. #2
    Guest
    Try some of the following:

    • Make several Registry keys that get created when you run the Setup
    • Base the Registration code on system settings i.e Computer name, Owner name, CPU etc. as well as their personal information
    • When setup is executed, store some of the user's system settings in the registry then whenever your App loads, compare the info in the Registry with the user's settings

  3. #3
    Frenzied Member Jop's Avatar
    Join Date
    Mar 2000
    Location
    Amsterdam, the Netherlands
    Posts
    1,986
    For the sharing problem:
    Use Internet Checks if the Key is already in use, for the machine thing you can use the HardDisks Serial nr. or something, to ensure it's only being used at that HardDisk.

    Hope this helps...
    THere was an earlier post about your last question, try to find it good luck
    Jop - validweb.nl

    Alcohol doesn't solve any problems, but then again, neither does milk.

  4. #4
    Frenzied Member
    Join Date
    Aug 1999
    Location
    Santa Clara, Ca , 95058
    Posts
    1,105
    In order to ensure that the registration is unique, you'd probably need to set up a server that would validate the registration information (that Megatron indicated) _or_ (and this will be a lot harder) you'd have to mkae the software poll for other installations of the registration number (something like what tcp/ip does when it finds a duplicate ip address). Or you can do what most game manufacturers do, require a CD (or even a dongle).

    In any event, you will only be able to slow down piracy, not prevent it. No matter what you do, if your software is popular enough, your protection scheme will be cracked. Copy protection only protects you from casual theft...

  5. #5

    Thread Starter
    PowerPoster eiSecure's Avatar
    Join Date
    Jul 2000
    Location
    Texas
    Posts
    2,209
    "...use the HardDisks Serial nr. or something, to ensure it's only being used at that HardDisk."
    I like this idea, but do you have any code that I can look at to see how this is done?

    "...When setup is executed, store some of the user's system settings in the registry then whenever your App loads, compare the info in the Registry with the user's settings"
    How do I do this with an Install Program? I am currently using GP-Install, and it doesn't support scripts or custom dialogs.

  6. #6

    Thread Starter
    PowerPoster eiSecure's Avatar
    Join Date
    Jul 2000
    Location
    Texas
    Posts
    2,209
    *reflects upon my first thread at VBForums.*

  7. #7
    -= B u g S l a y e r =- peet's Avatar
    Join Date
    Aug 2000
    Posts
    9,629
    getting the serial

    VB Code:
    1. Private Declare Function GetVolumeSerialNumber Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
    2.  
    3. Public Function VolumeSerialNumber(ByVal RootPath As String) As String
    4.     Dim VolLabel As String
    5.     Dim VolSize As Long
    6.     Dim Serial As Long
    7.     Dim MaxLen As Long
    8.     Dim Flags As Long
    9.     Dim Name As String
    10.     Dim NameSize As Long
    11.     Dim s As String
    12.  
    13.     If GetVolumeSerialNumber(RootPath, VolLabel, VolSize, Serial, MaxLen, Flags, Name, NameSize) Then
    14.         'Create an 8 character string
    15.         s = Format(Hex(Serial), "00000000")
    16.         'Adds the '-' between the first 4 characters and the last 4 characters
    17.         VolumeSerialNumber = Left(s, 4) + "-" + Right(s, 4)
    18.     Else
    19.         'If the call to API function fails the function returns a zero serial number
    20.         VolumeSerialNumber = "0000-0000"
    21.     End If
    22. End Function
    23.  
    24.  
    25. 'Usage
    26.  
    27. Private Sub Command1_Click()
    28.     MsgBox VolumeSerialNumber("C:\") 'Shows the serial number of your Hard Disk
    29. End Sub
    -= a peet post =-

  8. #8

    Thread Starter
    PowerPoster eiSecure's Avatar
    Join Date
    Jul 2000
    Location
    Texas
    Posts
    2,209
    lol

    ...sure, now you answer, peet. Why didn't you answer when it was posted 2 years ago?

  9. #9
    -= B u g S l a y e r =- peet's Avatar
    Join Date
    Aug 2000
    Posts
    9,629


    damn .. u got me there alex, didn't see the date of that post... and as u already know, I don't understand english, so u'r post didn't give it away...
    -= a peet post =-

  10. #10

    Thread Starter
    PowerPoster eiSecure's Avatar
    Join Date
    Jul 2000
    Location
    Texas
    Posts
    2,209


    If no english, wut ist tis?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width