#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Posts
    112
    Rep Power
    0

    Software Protection


    I'm trying to find a solution to protect all the software developed in the company I work in.
    Till now we've been working with hardlocks, but we are trying to cut on expences and wanting to develop our own software protection system.
    I know that there some free tools, like for instance activelock, but we aren't interested in using third party tools either, since these tools are frequently open to attacks and we might have migration problems in the future.
    I've been googling and I can't find any good techniques for developing this type of solution.
    We've seen some ideas like for instance hardware dependet protection, but that is also a problem because it doesn't allow the user to change hardware without contacting us.
    We have our own website, what makes possible the comunication with an online database, but we don't know what to do with this functionality. Check IP? It changes often,... Check Hardware? same problem as before, probably,...

    Does anyone has any ideas or knows any technique?

    My thanks in advanced
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2011
    Posts
    289
    Rep Power
    44
    For many years we have used a relatively simple technique that involved a unique number found on every computer. You could use anything (such as CPU serial number), but we chose to use the time/date that the operating system was installed. That date is a double precision number, and it doesn't change unless the operating system is reinstalled. We used a different seed for each different program, and calculated a one way encrypted key. You could use a standard encryption routine, but then it would be possible for a hacker to use brute force to crack it. Therefore we designed our own algorithm. The user would install the program, and on the first attempt to run it, it would supply a number. The user would contact us with that number, we would run it through the algorithm and supply him/her with the corresponding key. This process could be automated, but we did not have the volume to justify it, as the software was very industry specific.

    J.A. Coutts

    Comments on this post

    • appdeveloper agrees : very, very good
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Posts
    112
    Rep Power
    0
    Thank you for your answer couttsj.

    Your last tip seems a great idea, especially if its used in an automated way

    Thanks once again!!!

IMN logo majestic logo threadwatch logo seochat tools logo