CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 6 of 6
  1. #1
    Join Date
    Aug 2005
    Posts
    40

    Angry Unique Application

    Hi gurus,

    Someone has asked me to build a database application for him but i believe he would sell it to his friends who do the same business (---).

    HOW CAN MAKE THE APPLICATION RUN ON HIS SERVER ONLY AND NOT ON ANYBODY ELSE'S?

    I thought about Serial numbers but these can be shared easily.

    Is there any other approches that i can use?

    Thank you all.

    Floandrod.

  2. #2
    Join Date
    May 2002
    Posts
    10,943

    Re: Unique Application

    Quote Originally Posted by Floandrod
    HOW CAN MAKE THE APPLICATION RUN ON HIS SERVER ONLY AND NOT ON ANYBODY ELSE'S?
    In short. It can't. It is the same question people have been trying to solve for years. It can't be done.

    The only trick I can think of that you could do is if you had access to his server. You could set your application to turn itself off if a network cards MAC address or some distinguishing characteristic about his hardware. But that would require you having access to his computer.
    Last edited by peejavery; November 9th, 2005 at 05:15 PM.
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  3. #3
    Join Date
    Mar 2005
    Location
    Vienna, Austria
    Posts
    4,538

    Talking Re: Unique Application

    My son had a similar prob years ago. He build a bookkeeping pgm for the firm where I'm working. So he made a program which reads out the harddisk No and I think the releasenumber which was internally stored in the pgm. In the prg he created a code out of that data where nobody could see how the code was build. This code looks similar like all this "YGC5-QVFD-JKLZM-4DZW' when pgm was installed and first used a window popped up telling the user he should email that code he sees to him. Getting that code he had the reversing program at home which did another code out of that now based on this harddisk number and the number which was created by coding his harddiskNo. This second code was sent back to the user. and he had to put it in a textfiled on the same form where the customer sees the code he has sent to my son. Filling in 'solution code' his program tests if the input fits to his harddisknumber and to the given code in the pgm. ( Sort of checksum algoritm ) When this fits both codes was registered in registry in a hidden space. At pgm start pgm tests everytime if this data still fits. if not then the registry window pops up.
    So copying the pgm will not help. Also if the user reinstalls pgm to another machine or harddisk he has to write a new email. So you may see how often he does and you see if this is still the same harddisk where he installs again. ( For example if he needs reinstalling because of a virus, and hasn't saved that both codes he has to ask for them )

    Seems a bit complicated but is very quick to handle by emails and could be automated with a server which tests code and sends automatically back the Key if it is a firstinstallation.

    That has worked very well in our firm. ( Our boss disliked that sooo much ) For he said he needs to pgm also to do work at home and he needs to buy a second copy


    Jonny Poet
    Jonny Poet

    To be Alive is depending on the willingsness to help others and also to permit others to help you. So lets be alive. !
    Using Code Tags makes the difference: Code is easier to read, so its easier to help. Do it like this: [CODE] Put Your Code here [/code]
    If anyone felt he has got help, show it in rating the post.
    Also dont forget to set a post which is fully answered to 'resolved'. For more details look to FAQ's about Forum Usage. BTW I'm using Framework 3.5 and you ?
    My latest articles :
    Creating a Dockable Panel-Controlmanager Using C#, Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7

  4. #4
    Join Date
    Aug 2005
    Posts
    40

    Angry Re: Unique Application

    Thanks all for your reply.

    My first thought was the combination of both peejavery's and JonnyPoet's suggestions.
    When a client (a firm) contacts me about application development, i ask then for the Operating System product ID and Mac address for the server. These 2 attributes will make part of my key. Those attributes are then stored in my database in the record of that client. The key is an encrypted file that my keyReader can decrypt. When the server is started for the first time, the administrator needs to register it. The registration will contact my server and then a key will be released for this server (then key release facility disabled). This means that i deploy the application without key and release the key after registration. As you both suggested, this is the approach that would be best, but there are some issues:

    1) In case my client (the firm) change either the operating system or the NIC, then the key would not be valid any more.
    ---> The firm would still need to contact me to request another one (enable the key release facility that will be disabled again after the key is release)

    2) What if i decide not to do that kind of business any more?
    ---> My client's applications will run as long as my server still runs. Will my clients still trust this approach?

    Those 2 issues are the things that make me think again and again and again...

    Thanks gurus.

  5. #5
    Join Date
    Mar 2005
    Location
    Vienna, Austria
    Posts
    4,538

    Re: Unique Application

    Quote Originally Posted by Floandrod

    1) In case my client (the firm) change either the operating system or the NIC, then the key would not be valid any more.
    ---> The firm would still need to contact me to request another one (enable the key release facility that will be disabled again after the key is release)
    I Think thats not a too bad problem. If you change OS then you have to do a lot of things to get machine workable again so he has to do that step too. In that case he would I would answer his request with a emailform where he has to give a short explanation why reinstallation is necessary and then you let him do it.
    Quote Originally Posted by Floandrod
    2) What if i decide not to do that kind of business any more?
    ---> My client's applications will run as long as my server still runs. Will my clients still trust this approach?
    Have an additional ENDOFSERVICE Key in the program which will work in every case and on if released does no additional checks anymore. So when you end your service then the last thing is to send out this key to all your customers.
    in an email and telling them how to put it in. For example I have a game which in some cases has problems with the drivechecking. when this happens I wrote an email and they give me a key. then I had to do F8, and some other keys and when I did a consolewindow opened where I could input the code they gave me. Now no Drivecheck is anymore.
    Sure then the pgm could be given to everyone. But you have decided to dont care any longer, you see

    Is that a solutio for you ?


    Jonny poet
    Last edited by JonnyPoet; November 12th, 2005 at 04:14 PM.
    Jonny Poet

    To be Alive is depending on the willingsness to help others and also to permit others to help you. So lets be alive. !
    Using Code Tags makes the difference: Code is easier to read, so its easier to help. Do it like this: [CODE] Put Your Code here [/code]
    If anyone felt he has got help, show it in rating the post.
    Also dont forget to set a post which is fully answered to 'resolved'. For more details look to FAQ's about Forum Usage. BTW I'm using Framework 3.5 and you ?
    My latest articles :
    Creating a Dockable Panel-Controlmanager Using C#, Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7

  6. #6
    Join Date
    Aug 2005
    Posts
    40

    Lightbulb Re: Unique Application

    Thanks a lot JonnyPoet,

    Your replies gave me light.
    I do appreciate.
    Floandrod

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

Featured