HISE Logo Forum
    • Categories
    • Register
    • Login

    Passwort Protection "Enter E-Mail"

    Scheduled Pinned Locked Moved Scripting
    41 Posts 5 Posters 2.5k Views
    Loading More Posts
    • 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.
    • LindonL
      Lindon @d.healey
      last edited by

      @d-healey said in Passwort Protection "Enter E-Mail":

      I've said this several times on different forums, but I'll say it again. The reason people buy software is not because they can't get it without paying for it, that is a very very minor reason.

      This is the argument made all the time by open source advocates - and I get it I really do, but its actually ignoring the evidence of other developers, for instance U-he....

      Here's what Urs Heckman has to say (Im boiling down his very long series of emails on this subject):

      U-he add several copy protection mechanisms to its products, some of these are timed mechanisms, set to "go off" on a particular day of the year..

      In the period after a timer mechanism has gone off U-he see significant bump in sales for that product.

      So Urs conclusion is that people use hacked versions of U-he software because they can, not because they cant afford it, (because clearly they can afford it - they buy it once the ability to not pay has been taken away) , and they dont care at all about support, or it being more secure, or updates(they will wait for the next hacked version)

      I think its very dangerous to compare sales software releases in an open source model (and more power to your elbow if it works for you) with sales of commercial closed source software

      HISE Development for hire.
      www.channelrobot.com

      1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @treynterrio
        last edited by

        @treynterrio said in Passwort Protection "Enter E-Mail":

        @d-healey I know that many plugins are quickly cracked or hacked, and sometimes protection is not needed. I released a Kontakt instrument in January that has still been selling well. It also has no protection and has not been posted online yet.

        However, I would still be interested in having a solution for it, whether I end up using it or not. I already have a Label inside that writes the E-Mail into a .js file and then displays it at the top corner of the plugin.
        but I still haven't figured out how to write into the serial number label only after entering the email.

        Ok so welcome to copy protection 101:

        1. your stuff is likely to be pirated sooner if you have no protection
        2. If you have protection in plain sight(an open readable file on a hard drive) you will get hacked soon
        3. If you have a simple (not encoded) system you will get hacked soon
        4. Key-Gens are Pirates favourite way of hacking you software - they dont need to touch your software - they just make a small program that will generate valid keys and give that away
        5. An encrypted key pair will stop KeyGens and force a serious hacker to alter your code base to get a pirated version
        6. Constant version updates(1.0,1.1,1.2,1.3 etc..) are your friend - it forces the prate to re-hack your source code
        7. A server side system is a lot more secure
        8. There is no secure system...everything will get hacked eventually...

        So your approach falls squarely into points 2 and 3, you actually want to fall into point 5. So use the HISE RSA system to build key pairs and use the public key in your plugin to decrypt it and validate it. Forget the email thing, its pointless.

        HISE Development for hire.
        www.channelrobot.com

        T 1 Reply Last reply Reply Quote 0
        • T
          treynterrio @Lindon
          last edited by

          @Lindon how does this HISE RSA system work?

          Dan KorneffD LindonL 2 Replies Last reply Reply Quote 0
          • Dan KorneffD
            Dan Korneff @treynterrio
            last edited by

            @treynterrio Here's how the system works:
            https://forum.juce.com/t/juce-rsa-implementation/10341/17

            I highly suggest you check out HISE Activate if you're looking for instant integration:
            https://activate.hise.dev/

            • Tight integration with the HISE framework
            • No additional 3rd party software required
            • Activation procedure directly from within the plugin
            • Completely customizable activation UI
            • Ready-to-use HiseScript code templates

            Dan Korneff - Producer / Mixer / Audio Nerd

            1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @treynterrio
              last edited by Lindon

              @treynterrio

              1. create a key-pair using HISE... Tools>License Management> Create RSA Key Pair

              2. Build an off-line system that takes a set of verifiable strings and encrypts each of them with the private key to create the serials:

                FileSystem.encryptWithRSA( String dataToEncrypt, String privateKey)

              3. get your system to save these serials in a text file so you can send a serial to each customer - so you back end system keeps a record of the user, email and issued serial.

              4. Add a dialog to your plugin that gets a serial from the user...

              5. use the HISE command to decrypt the entered serial using the public key

              FileSystem.decryptWithRSA( String dataToDecrypt, String publicKey)

              1. you now have a string that you need to verify (how you do that is up to you)

              So at this point the only way to generate keys for your product is to know the private key - and if you dont accidentally give this away then there massively difficult for a hacker to obtain this key - so they cannot build a KeyGen for your product - even if they know exactly what the un-encrypted verify string looks like.

              If it all sounds too hard, it isnt, I have an RSA encryption system I have licensed to other developers.

              • see? all this was just to sucker you in.....:face_with_tongue:

              Or as Dan says if you want an online solution look at HISE activate

              HISE Development for hire.
              www.channelrobot.com

              T 2 Replies Last reply Reply Quote 0
              • T
                treynterrio @Lindon
                last edited by treynterrio

                @Lindon is there another thread or something that explains what to do because I couldn't follow anymore at step 2 :D
                I've created a RSA Key Pair and now?

                I found this but this makes no sense to me:
                https://forum.hise.audio/topic/8786/hise-rsa-not-working?_=1712747148847

                1 Reply Last reply Reply Quote 1
                • T
                  treynterrio @Lindon
                  last edited by

                  @Lindon I also found this post from you with a snippet that isnt available anymore https://forum.hise.audio/topic/8053/rsa-output-length?_=1712747613015

                  LindonL 1 Reply Last reply Reply Quote 0
                  • LindonL
                    Lindon @treynterrio
                    last edited by

                    @treynterrio said in Passwort Protection "Enter E-Mail":

                    @Lindon I also found this post from you with a snippet that isnt available anymore https://forum.hise.audio/topic/8053/rsa-output-length?_=1712747613015

                    there is no snippet in that thread - its an example of a serial that RSA generates..

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 0
                    • T
                      treynterrio @d.healey
                      last edited by

                      @d-healey If I want do the same with the Activation Button that there is a Panel in front of it that you couldn't click before you've not entered a Serial what would the definition for this?

                      inline function onSerialInputControl(component, value)
                      {
                      Panel3.showControl(????????????(value));
                      }
                      const var Panel3 = Content.getComponent("Panel3");
                      Panel3.showControl(false);

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @treynterrio
                        last edited by

                        @treynterrio I'm not sure what you're asking

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          treynterrio @d.healey
                          last edited by treynterrio

                          @d-healey oh I thought I'd response to the post.

                          you've send me this :

                          const var Label1 = Content.getComponent("Label1");
                          Label1.setControlCallback(onLabel1Control);
                          
                          inline function onLabel1Control(component, value)
                          {
                          	Panel1.showControl(Server.isEmailAddress(value));
                          }
                          
                          const var Panel1 = Content.getComponent("Panel1");
                          Panel1.showControl(false);
                          

                          and I want do the same for the Serial Label only when you Input the Serial you can click activate.

                          When the Serial Number is entered enable the Panel

                          d.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @treynterrio
                            last edited by

                            @treynterrio Just do the same but replace Panel with Button.

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              treynterrio @d.healey
                              last edited by

                              @d-healey I tried this but its not Server.isEmailAdress it need this for the License

                              d.healeyD 1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @treynterrio
                                last edited by

                                @treynterrio Oh right, how are you validating the license?

                                Libre Wave - Freedom respecting instruments and effects
                                My Patreon - HISE tutorials
                                YouTube Channel - Public HISE tutorials

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  treynterrio @d.healey
                                  last edited by

                                  @d-healey said in Passwort Protection "Enter E-Mail":

                                  Oh right, how are you validating the license

                                  setvalidLicense?

                                  d.healeyD 1 Reply Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @treynterrio
                                    last edited by

                                    @treynterrio There is no built in functionality for this. You're creating your own system here so you need to do your own validation.

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      treynterrio @d.healey
                                      last edited by

                                      @d-healey something like this?
                                      var licenseInput = Content.getComponent("licenseInput");
                                      licenseInput.set("textChangedCallback", function() {

                                      d.healeyD 1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey @treynterrio
                                        last edited by

                                        @treynterrio Not really. Only you know how you want to validate your license. You have to write a function to do that, then worry about the GUI side of it.

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          treynterrio @d.healey
                                          last edited by

                                          @d-healey ok this sounds to difficult for me :D

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          27

                                          Online

                                          1.7k

                                          Users

                                          11.8k

                                          Topics

                                          102.8k

                                          Posts