HISE Logo Forum
    • Categories
    • Register
    • Login

    Different Encryption Types in HISE?

    Scheduled Pinned Locked Moved Scripting
    59 Posts 8 Posters 3.2k 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.
    • CasmatC
      Casmat @Christoph Hart
      last edited by Casmat

      @Christoph-Hart Well that’s the problem, once they put the exe through a decompiler, they see all the basic assembly code, from their they can find the public key with some prowling through the code. Then they can just remove all the code related to copy protection and ship that as a crack software, that’s possible with any software that exists, there’s no way we can stop that. But the thing is, that crack exists for a certain version of the software (ex. 1.3.1) something like @Lindon said in
      https://forum.hise.audio//post/73652
      Once we release a new version, they’ll need to make a new crack for the updated version, and this somewhat discourages them as it’s one more software on their plate they have to crack. The major problem are keygen. Once a keygen is made, you’ll be screwed. This is because a keygen is a replica of the code you use to generate keys and it produces valid license keys that are real, and in the world of piracy, softwares with keygen are often the most pirated. A keygen can be used for multiple versions and even future versions. The thing is, changing an encryption scheme is hard once you already have it running and if there is a keygen, you need to find a way to migrate all your users and their licenses, even the ones with illegitimate keys and set up a new solution. Having a very unkeygenable system from the get go is much better than having to change the system. A single hacker may not take time to crack a 512 key now, but if your software reaches various cracking groups who have the proper hardware and experience, it’ll be pretty trivial for them to crack a 512 key, and that’s when your encryption system gets in shambles

      i make music

      1 Reply Last reply Reply Quote 1
      • A
        aaronventure
        last edited by

        would a checksum validation be a good idea? the abillity of the plugin to verify its own hash. You would first declare it as a set of zeroes, compile, check manually, then hardcode that in. i see that JUCE has the MD5 class but beyond that have no idea if it can check the hash.

        If you don't have any debug symbols, how would you know where to look and what to set an instruction to? If you have a single long boolean check and of these is regarding a successful license validation, it's not like it spells it out like that in x64dbg.

        I think HISE encodes all the strings from the script, no? I just tried compiling something with hardcoded strings, opened the app in x64dbg and while there are 66700 strings, none of them are the ones I hardcoded in.

        Maybe TeamR2R and co are very clever and there's nothing that can stop them, but your overall primary concern should be whether your payment processor cares about stolen credit cards i.e. how good its fraud detection is. The pirates aren't buying your expensive instruments with their own money.

        The actual problem is/was sales to Russia and India and always via PayPal. I suppose Paypal + cards from these countries are somewhat of a security hole. it's also harder to vet PayPal than a direct credit card. Once you see a purchase with a weird name come through, it's over. Next week your instruments are all over the "cheap kontakt libraries" websites being sold for pennies. Beyond a certain price point, sales to Russia and India become so insignificant (below 0.2%) that it's probably a good idea just to block them altogether, or at least block PayPal usage from these countries.

        Of course having any sort of online validation invalidates this threat, until someone who can open up your file and find then bypass security measures.

        d.healeyD 1 Reply Last reply Reply Quote 0
        • A
          aaronventure
          last edited by

          how do you even store a "validation successful" file on the computer? it is a mix of the license and the machine ID encoded, and the plugin then checks that on load? how would you bypass the need to call back home for a check like that?

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

            @aaronventure said in Different Encryption Types in HISE?:

            If you don't have any debug symbols, how would you know where to look and what to set an instruction to?

            HISE scripts show up as plain text in the binary.

            Link Preview Image
            How to make Trial Plugins for 10 days

            A few things: A RSA key in HiseScript doesn't make sense. The scripting code is not encrypted in any way - it's base64 encoded plain text embedded into the...

            favicon

            Forum (forum.hise.audio)

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

            Christoph HartC 1 Reply Last reply Reply Quote 0
            • CasmatC
              Casmat @aaronventure
              last edited by Casmat

              @aaronventure yeah I don’t know if HISE encodes their strings (edit: yup it doesn’t, thanks @d-healey), but having a checksum would also be pretty minor? Of course, it creates another roadblock for ppl like r2r to change in the decompiler, so yup, definitely could help, but could be somewhat removed easily in cracks. For my offline auth purpose, im planning to store a license.dat file with the rsa key in their and check that upon loading (it is also good to have random checks on the license on various components of the plugin, such as save preset, to make it harder for crackers to crack)

              i make music

              CasmatC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @d.healey
                last edited by

                I think HISE encodes all the strings

                It just uses Base64 encoding and zstd compression so nothing that should have any cryptographic value.

                But guys, I think we're right in the middle of a "just one more lane bro" problem. The basic cryptography is there to prevent naive copying without license checks but as soon as a cracking crews start working on a crack it's game over and I don't see a reason to go down that path trying to make their life harder. If you have that desire for copy protection, you can implement the iLok SDK or whatever, but that's as far as my cryptographic ambitions go.

                CasmatC 1 Reply Last reply Reply Quote 1
                • CasmatC
                  Casmat @Casmat
                  last edited by

                  I have a question, how would someone go about HWID in an offline authentication scenario such as mine? Is their a way or is it necessary to call home once to register the hwid

                  i make music

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @Casmat
                    last edited by

                    @Casmat Sure, just fetch the ID, write it to a XML or JSON file and have the user upload this. If you're smart about the server implementation, it takes the same route as the online activation but lets you download the response (aka license file) which the user can then take back to their offline system.

                    CasmatC 1 Reply Last reply Reply Quote 0
                    • CasmatC
                      Casmat @Christoph Hart
                      last edited by Casmat

                      @Christoph-Hart yup, it can help to make their lives harder but if they are dedicated enough (which is definitely true) they’ll crack it eventually and note it for future releases making it pointless (unless we rotate the obstacles each release which is a worthless hassle). The main idea of copy protection is to stop keygens, and having a rsa 2048 or ed25519 :beaming_face_with_smiling_eyes: solution would pretty much solve that. If one makes an online authentication system, then it’s pretty much game over for keygens, hence you don’t see adobe photoshop keygens anymore

                      i make music

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @Casmat
                        last edited by

                        If one makes an online authentication system, then it’s pretty much game over for keygens, hence you don’t see adobe photoshop keygens anymore

                        If you make a "must-call-home-to-use-the-plugin" copy protection you'll get the righteous wrath of your legit user base and anything else can be bypassed with a crack.

                        A 1 Reply Last reply Reply Quote 0
                        • CasmatC
                          Casmat @Christoph Hart
                          last edited by Casmat

                          @Christoph-Hart no one likes adobe haha, people have supported cracking of their software, but with the outrageous pricing, I can see where they’re coming from haha.

                          Im not planning on making an online system as of now, due to time constraints, but is it frowned upon to send the hwid once to home and then another time when deregistering it, instead of making the users life harder by uploading the file?

                          Edit: or allow the user to upload the hwid if they want to opt out maybe?

                          i make music

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @Casmat
                            last edited by

                            @Casmat said in Different Encryption Types in HISE?:

                            but is it frowned upon to send the hwid once to home and then another time

                            Not at all and this is how basically everybody (including us) is handling it. What I find optional is the route of being able to create a license file for a computer that is always offline, then copy that file to a system with online access and make the activation. This is getting less and less of an issue because the time where studio computers were offline for whatever reasons is a dying habit.

                            CasmatC 1 Reply Last reply Reply Quote 0
                            • CasmatC
                              Casmat @Christoph Hart
                              last edited by

                              @Christoph-Hart thanks!

                              i make music

                              1 Reply Last reply Reply Quote 0
                              • A
                                aaronventure @Christoph Hart
                                last edited by

                                @Christoph-Hart said in Different Encryption Types in HISE?:

                                If one makes an online authentication system, then it’s pretty much game over for keygens, hence you don’t see adobe photoshop keygens anymore

                                If you make a "must-call-home-to-use-the-plugin" copy protection you'll get the righteous wrath of your legit user base and anything else can be bypassed with a crack.

                                Can't this be bypassed by a crack, too? If the script is not encoded you can just... remove the boolean, no?

                                Christoph HartC 1 Reply Last reply Reply Quote 0
                                • Christoph HartC
                                  Christoph Hart @aaronventure
                                  last edited by

                                  @aaronventure everything can be cracked, sure.

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

                                    @Christoph-Hart said in Different Encryption Types in HISE?:

                                    If that was the procedure, the cracked release will contain a modified binary (which is most often the case, because otherwise the "crack release" will contain only a 200kb keygen which I've never encountered in my life so far).

                                    Well thats exactly what happened to me with Atmosia 2.0 - people are still downloading (at my cost) the binary and trying to apply the keygen generated code - even if I went to RSA with V2.5.... so its def. a problem.

                                    HISE Development for hire.
                                    www.channelrobot.com

                                    LindonL d.healeyD 2 Replies Last reply Reply Quote 0
                                    • LindonL
                                      Lindon @Lindon
                                      last edited by Lindon

                                      So to be clear -

                                      • Yes everything can be hacked...
                                      • RSA and many other schemes(including the unlocker) can be hacked by a dedicated serious pirate group

                                      But here we are asking for a better encryption method NOT because this will stop the dedicated pirate groups hacking the code and delivering a hacked-binary - because this wont, but more on this in a minute. No we are trying to stop the keygen attacks only. These are the worst for reasons @Casmat outlined in https://forum.hise.audio//post/73852

                                      So first to deal with @Christoph-Hart s issue that "key gens are rare", which I think is a manifestation of the black-swan problem, just because you haven't seen them doesn't make them rare. Because my experience is that they are not rare at all.

                                      Second - why keygens are really bad: Because they generate valid keys, and no matter how many places and how many timed-to-activate-only-at-a-future-date elements you put in your code then the key gen defeats them in one single step.

                                      I strongly recommend everyone interested in this stuff go look at the advice and experiences Urs Heckman of (UHe) has posted in the DSP forum at KSPAudio, here's some of his advice:

                                      • have your validation code in several places
                                      • have your validation code additionally execute at some future date

                                      There's more but both these things are an attempt to fight off the dedicated hacking groups with their shipped-hacked-binary approach. Both these things are utterly defeated at the outset by a KeyGen.

                                      HISE Development for hire.
                                      www.channelrobot.com

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

                                        @Lindon said in Different Encryption Types in HISE?:

                                        people are still downloading (at my cost) the binary

                                        Why are they able to download it from you without a valid purchase?

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

                                        LindonL 1 Reply Last reply Reply Quote 0
                                        • LindonL
                                          Lindon @d.healey
                                          last edited by

                                          @d-healey demo

                                          HISE Development for hire.
                                          www.channelrobot.com

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

                                            @Lindon Is there a way you could limit the content in the demo until they activate it with a license key that you can confirm is genuine via a server call? And then download the additional content.

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

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

                                            22

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.2k

                                            Posts