Announcement

Collapse
No announcement yet.

How to create a license key?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How to create a license key?

    I have a question: how to create a license key? How to manage the keys, how to ensure that users do not pass the keys to each other?

    Regarding the generation of blocks, I found a few ideas on stackoverflow forum. I like the idea to generate keys with hash code adding.

    #2
    Any ideas?
    I would be grateful for the advice of experienced people.

    Comment


      #3
      Why?
      Pretty much any CS student can create a external key generator.
      Then you'll have to check keys online, then they're going to patch your online check to always return "true" response... In the end you've wasted time and money.
      | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

      Comment


        #4
        Are you really asking how to create your own key-based DRM from scratch?

        Comment


          #5
          I think making a generator from scratch is a waste of time. Maybe there are some ready-made libraries that you can recommend?

          Comment


            #6
            Could you describe what you're aiming for? If it's DRM, there are commercial solutions out there.

            Comment


              #7
              Originally posted by Manoel.Neto View Post
              Could you describe what you're aiming for? If it's DRM, there are commercial solutions out there.
              Hello! Yes, I am looking for a reliable DRM.

              Comment


                #8
                Originally posted by GummyRob View Post

                Hello! Yes, I am looking for a reliable DRM.
                No such creature.

                Your options are either:

                1. ) Create and maintain a license server, using some form of constant online checking or ticketing system (which, as Bruno mentioned, people will probably just replace whatever DLL you lock that functionality in to just always return something valid).

                2. ) Purchase something like Denuvo ( https://denuvo.com/ ), which basically buys you a few days/weeks/maybe months till your stuff is cracked.

                3. ) Create some hardware dongle like the old school MAYA days (although even those were cracked).

                Able Ability System - A high performance, robust ability system for UE4. Now Available!

                Comment


                  #9
                  I like the methods you suggested. Despite the fact that it is widely distributed. Sometimes even a schoolboy can break such a defense.
                  I will study method 2 and 3 in detail. Thanks

                  Comment


                    #10
                    Have you tried to use ready-made solutions? Maybe some kind of licensing system?

                    Comment


                      #11
                      Originally posted by HeronGb View Post
                      Have you tried to use ready-made solutions? Maybe some kind of licensing system?
                      No, I saw some ready-made solutions. But as I see, they are quite expensive.
                      Maybe you can advise something suitable?

                      Comment


                        #12
                        I don’t know if UE4 support it, but if you need to publish your game only for Windows 10 and Windows Store, then I can suggest you to look at UWP, most of the game released with UWP are not yet cracked (for example Horizon) or was cracked after more than 500 days, you don’t need to mess with activation key, server, etc, the DRM is integrated, take a look at it.

                        if you are looking for something else I can assure you than doesn’t exist nothing cheap or lowcost, but you can take a look at VMPROTECT (PS: create it from scratch is a waste of time, don’t do it)
                        Last edited by kalakus; 12-17-2018, 05:00 PM.

                        Comment


                          #13
                          You can try a ready-made solution such as ArmDot or something like it (like kalakus said). Maybe this option will be acceptable for your program?

                          Comment


                            #14
                            Which type of game are you going to make?

                            Think like this:

                            a) Is it like Fortnite?
                            b) Is it like a paid Steam game?
                            c) Even if it is still paid, does it depend on an online feature to work?

                            for:

                            a) Basically you can play it for free, but for micro transactions you need to be a real user and that is all that matters. Micro transactions will be the only cash you will see, if they ever happen.
                            b) This type is crack-able, mainly because changing the steam DLLs you can play the game without steam, but you won't be able to use any Steam exclusive features. In this case the Steam features are interesting for certain audiences, so these specific audiences are potential purchasers.
                            c) You have to code the game for it to not work unless some info comes from the server (data) which won't be found anywhere in the client code. See that even commercial games have being cracked when people learnt how to create fake servers to mimic the data flow (Lineage2 from NCSoft is a well known one).

                            Sometimes a way to ensure games are not being accessed by third parties (someone just hacked your credentials), companies use digital certification to ensure who is accessing the game and that only an authorized one is (Korean companies do this while in their territory).

                            In the old days of Blizzard with Diablo I and II, which could be completely cracked, they still sold a lot, because people do needed an online feature: ability to play in multiplayer. So, the offline experience might be always a risk of completely crack, but while there are competitive online features, people won't be able to use cracked versions. As of today, Blizzard titles just need to have the e-mail account (with or without 2-factor authentication) which made the purchase from their store.

                            If you plan on selling at Epic's Store where you find out that DRMs are the only thing out of the current offered solution, you might just maybe think on how your product will be played in terms of features and why not let people crack a offline experience just to see that your product is good enough, so they would pay for it to have access to an improved online experience (which must be concrete!).

                            Focus on bringing to life your game with theses thoughts and criticism, so you will do the right move to have a nice product!

                            Nilson Lima
                            Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
                            Join us at Discord: https://discord.gg/FUwTvzr

                            UE4 Marketplace: Cloudscape Seasons
                            supporting: Community FREE Ocean plugin

                            Comment


                              #15
                              Try to develop your game/application and then people will want to buy it, not hack. The application must be very attractive so that users want to buy it.

                              Comment

                              Working...
                              X