Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. IT & Infrastructure
  4. Software Piracy

Software Piracy

Scheduled Pinned Locked Moved IT & Infrastructure
securityhelptutorialquestionlearning
7 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    FlamTaps
    wrote on last edited by
    #1

    Hello all.. I recently developed some software for a company, who then released it over the internet. Well, about a week later they found their product for free download on a piracy site. That company has now put me in charge of software security. So, being almost completely new to the area of security, can anyone recommend any resource on slowing or making software piracy more difficult? I know that perfect security is not obtainable, but I was hoping to find some mechinisms on how to slow the pirates down, or make the effort not worth the product. Any help? Thanks... -Chris

    C E 2 Replies Last reply
    0
    • F FlamTaps

      Hello all.. I recently developed some software for a company, who then released it over the internet. Well, about a week later they found their product for free download on a piracy site. That company has now put me in charge of software security. So, being almost completely new to the area of security, can anyone recommend any resource on slowing or making software piracy more difficult? I know that perfect security is not obtainable, but I was hoping to find some mechinisms on how to slow the pirates down, or make the effort not worth the product. Any help? Thanks... -Chris

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #2

      I guess it depends. What language is the app written in ? Is it expensive enough to warrant using a dongle ? Is it used online, which means you could have a verification process required that happens via the web ? Christian Graus - Microsoft MVP - C++

      F 1 Reply Last reply
      0
      • C Christian Graus

        I guess it depends. What language is the app written in ? Is it expensive enough to warrant using a dongle ? Is it used online, which means you could have a verification process required that happens via the web ? Christian Graus - Microsoft MVP - C++

        F Offline
        F Offline
        FlamTaps
        wrote on last edited by
        #3

        Thanks for the reply. The app I developed is in C++, but the bulk of product is actually images (similar to .bmp's), which is where the real value is. It in no way warrants a dongle, and it's only distributed online. We'll probably use a license key type of thing at installation time, which will be verified by a server. However, the companies worried about users installing the product, and then zipping up the files and distributing it in ZIP form. -Chris

        C 1 Reply Last reply
        0
        • F FlamTaps

          Thanks for the reply. The app I developed is in C++, but the bulk of product is actually images (similar to .bmp's), which is where the real value is. It in no way warrants a dongle, and it's only distributed online. We'll probably use a license key type of thing at installation time, which will be verified by a server. However, the companies worried about users installing the product, and then zipping up the files and distributing it in ZIP form. -Chris

          C Offline
          C Offline
          Christian Graus
          wrote on last edited by
          #4

          Oh, OK. I had a client with a similar problem years ago, I wrote code to scramble images on disc, and unscramble them only in a viewer, using a password. Is that a viable sort of solution in your case ? Christian Graus - Microsoft MVP - C++

          F 1 Reply Last reply
          0
          • C Christian Graus

            Oh, OK. I had a client with a similar problem years ago, I wrote code to scramble images on disc, and unscramble them only in a viewer, using a password. Is that a viable sort of solution in your case ? Christian Graus - Microsoft MVP - C++

            F Offline
            F Offline
            FlamTaps
            wrote on last edited by
            #5

            Unfortunately no. The client's product is a Microsoft Flight Simulator add-on, so the client is actually MS Flight Simulator. Can't force it to use a viewer... -Chris

            C 1 Reply Last reply
            0
            • F FlamTaps

              Unfortunately no. The client's product is a Microsoft Flight Simulator add-on, so the client is actually MS Flight Simulator. Can't force it to use a viewer... -Chris

              C Offline
              C Offline
              Christian Graus
              wrote on last edited by
              #6

              OK - in that case, it sounds like it could be very difficult to protect. Christian Graus - Microsoft MVP - C++

              1 Reply Last reply
              0
              • F FlamTaps

                Hello all.. I recently developed some software for a company, who then released it over the internet. Well, about a week later they found their product for free download on a piracy site. That company has now put me in charge of software security. So, being almost completely new to the area of security, can anyone recommend any resource on slowing or making software piracy more difficult? I know that perfect security is not obtainable, but I was hoping to find some mechinisms on how to slow the pirates down, or make the effort not worth the product. Any help? Thanks... -Chris

                E Offline
                E Offline
                Eric Goedhart
                wrote on last edited by
                #7

                Sorry i didn't notice the reply's already given and wrote my reply below! :)Hi Chris, I have the book Visual C#.Net 2003 (SAMS, by Kevin Hoffman and Lonny Kruger, ISBN 0672-32676-0) and in chapter 37 the process of licencing and intellectual property is described. "Licensing is the means by which valid users of your software distinquish themselves from usere who do not have a permission(licence) to use your software". To download the sample code (All code from the samples in this book) go to http://www.samspublishing.com/title/0672326760?redir=1# and the bottom of the page you see a red code-zip that you can download, the sample code for the licenced controls is in map 37. Because you dont have the text yet on paper i will share with you the text in the book (I hope this is allowed but i advice you to buy this book, its great and has a lot to say about security issues, an other book on this topic is .Net Framework Security ISBN 0-672-32184-X) Creating a License Creating a licence is fairly simple. the first step is to create a class taht inherits from the system.Componentmodel.Licence class and provide the appropiate overrides. If you want to maintain additional information about the licence, such as number of processors alowed and so on, you could make the data properties of the licence and extract it from whatever key you use. Listing 37.1 shows the very simple AcmeStockLicence: Listing 37.1 using System; using System.ComponentModel; using System.Collections; using System.Collections.Specialized; using System.IO; using System.Diagnostics; namespace StockLibrary { /// /// Summary description for AcmeStockLicense. /// public class AcmeStockLicense : License { private string licenseKey = string.Empty; public AcmeStockLicense(string key) { licenseKey = key; } public override void Dispose() { } public override string LicenseKey { get { return licenseKey; } } } } As you can see, there is nothing all that exciting about this class. It is a simple property container for the licence key that implements the right overrides from the abstract licence class. If complex logic of the licence itself were needed for encryption licence keys, it could be added to this class. Creating a Licence Provider As mentioned earlier the LicenceProvider class is just a vehicle for the Common Language Runtime's LicenseManager class to obtain a licence for a given class. Each time

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups