Announcement

Collapse
No announcement yet.

Virtualising AMS applications

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

  • Virtualising AMS applications

    The Enigma Virtual Box is used for this and you can grab it for free here.

    I’m not dealing with The Enigma Protector because it’s a paid for application and the way AMS is structured means that your source code is still generally available even when protected by The Enigma Protector or MoleBox or any other application offering to virtualise your AMS application.

    The Enigma Virtual Box has no splash screens and is supported on the owner’s forum and along with virtualising your AMS application it will also compress your AMS application.

    To virtualise your AMS application you need to first build your project to a ‘Hard drive folder’ and select the ‘Rename resource files’ check box and then when done open the output folder and you can delete any empty folders and delete the project .ico if you don’t need it within your application.

    In a blank project you’ll end up with an output folder looking like this



    I renamed the ‘Data folder name’ to Test and as I never used any plugins I was able to delete the Test folder so my folder structure ready to virtualise looks like this



    Open The Enigma Virtual Box and set the input name to autorun.exe or whatever your .exe is named and set the output file name to the same name but have it save it to a different folder as you can’t rename the AMS.exe.

    Drag the contents of your compiled project folder on to the ‘Files’ window and The Engima Virtual Box will offer you up a choice of virtual directories, just pick default and then all the files and folders of your project will be added to The Enigma Virtual Box project so all you need to do now is delete from The Enigma Virtual Box files window your autorun.exe file as you don’t need to virtualise that, you’ll end up with something like this


    I don’t need to virtualise the registry so I never touched those options and I did not need the packaging options but in the options tab I selected all three options then press process and after a second I have on my desktop autorun.exe that is now a completely virtual .exe file that allows calling of embedded dll files and exe files.

    If you are using dll files in your application or external exe files then don’t use the AutoPlay folder to store them instead use the CD_Root folder so alter any code you have to reflect the new location.

    Although the processed AMS application is now virtual your code can still be recovered quite easily so you can instead of using the Global and On Click etc events create a Lua script that can be required on Global and instead of On Click code you just have the On Click call your function from within the Lua script that you would have changed to bytecode with the luac compiler and as the code is bytecode it does not show up in memory dumps as raw code does however bytecode can be decompiled relatively easily if you get the complete chunk so instead of that use the MemoryEx LH Compiler in the same way to avoid the bytecode issues.

    All in all with The Enigma Virtual Box and the MemoryEx LH compiler you can have a very secure and virtual Autoplay application at very little cost and effort.

  • #2
    Originally posted by Shrek View Post
    The Enigma Virtual Box is used for this and you can grab it for free here.

    I’m not dealing with The Enigma Protector because it’s a paid for application and the way AMS is structured means that your source code is still generally available even when protected by The Enigma Protector or MoleBox or any other application offering to virtualise your AMS application.

    The Enigma Virtual Box has no splash screens and is supported on the owner’s forum and along with virtualising your AMS application it will also compress your AMS application.

    To virtualise your AMS application you need to first build your project to a ‘Hard drive folder’ and select the ‘Rename resource files’ check box and then when done open the output folder and you can delete any empty folders and delete the project .ico if you don’t need it within your application.

    In a blank project you’ll end up with an output folder looking like this



    I renamed the ‘Data folder name’ to Test and as I never used any plugins I was able to delete the Test folder so my folder structure ready to virtualise looks like this



    Open The Enigma Virtual Box and set the input name to autorun.exe or whatever your .exe is named and set the output file name to the same name but have it save it to a different folder as you can’t rename the AMS.exe.

    Drag the contents of your compiled project folder on to the ‘Files’ window and The Engima Virtual Box will offer you up a choice of virtual directories, just pick default and then all the files and folders of your project will be added to The Enigma Virtual Box project so all you need to do now is delete from The Enigma Virtual Box files window your autorun.exe file as you don’t need to virtualise that, you’ll end up with something like this


    I don’t need to virtualise the registry so I never touched those options and I did not need the packaging options but in the options tab I selected all three options then press process and after a second I have on my desktop autorun.exe that is now a completely virtual .exe file that allows calling of embedded dll files and exe files.

    If you are using dll files in your application or external exe files then don’t use the AutoPlay folder to store them instead use the CD_Root folder so alter any code you have to reflect the new location.

    Although the processed AMS application is now virtual your code can still be recovered quite easily so you can instead of using the Global and On Click etc events create a Lua script that can be required on Global and instead of On Click code you just have the On Click call your function from within the Lua script that you would have changed to bytecode with the luac compiler and as the code is bytecode it does not show up in memory dumps as raw code does however bytecode can be decompiled relatively easily if you get the complete chunk so instead of that use the MemoryEx LH Compiler in the same way to avoid the bytecode issues.

    All in all with The Enigma Virtual Box and the MemoryEx LH compiler you can have a very secure and virtual Autoplay application at very little cost and effort.
    Do they have a command line version and can it be included in app to take use of this, I kind of have a funky idea I have many ideas but hey lol
    Plugins or Sources MokoX
    BunnyHop Here

    Comment


    • #3
      Nice tutorial! Enigma Virtual Box is another tool in the list of protecting AMS applications from *****ers!
      Bas Groothedde
      Imagine Programming :: Blog

      AMS8 Plugins
      IMXLH Compiler

      Comment


      • #4
        Originally posted by Imagine Programming View Post
        Nice tutorial! Enigma Virtual Box is another tool in the list of protecting AMS applications from *****ers!
        Sadly its not really a protection tool, still very easy to get to the source, but it is a good means of packing it all up in one unit I also think it also means your app runs without trace but I might be wrong.
        Plugins or Sources MokoX
        BunnyHop Here

        Comment


        • #5
          No its not and the protection tool they make, The Enigma Protector, wont protect either so all you can do really is virtualise and use MemoryEx LH compiler with it for the protection.

          But yeh it makes a portable application that wont write anything to disk.

          Comment


          • #6
            That's why I said; a tool in the list of protecting AMS applications, meaning you need more to actually make it hard to reverse.
            Bas Groothedde
            Imagine Programming :: Blog

            AMS8 Plugins
            IMXLH Compiler

            Comment


            • #7
              Fabulous, thank you very much indeed.

              I can't see what Virtual Box has to do with anything but it knocks spots off the other sandboxing apps.

              Another cool thing is that it runs within a sandbox, so you're kinda doubly protected.

              There's a free version of Sandboxie.com which lets you run one app at a time, ideal for browsing - but with this app you just don't need it, just have two browser panes open and drag and drop links between them.

              Thanks again mate, brilliant.

              Comment


              • #8
                thought you meant Oracles Virtual Box - nm

                Comment


                • #9
                  Error : Could not find data file

                  Comment


                  • #10
                    Thanks for this tutorial..

                    Comment


                    • #11
                      I have some question how to used the MemoryEX plugin as other way to protect our code?

                      Comment


                      • #12
                        Originally posted by telco View Post
                        I have some question how to used the MemoryEX plugin as other way to protect our code?
                        https://www.memoryex.net/imxlh-free.html can obfuscate code and add a layer of verification during load, however whenever you use Lua you will never completely protect your code. Lua is an interpreted language, it doesn't compile to machine code; thus it is easier reversed than machine code. Aside from that, machine code can be disassembled and even reversed to C or CPP with a little more effort.

                        If someone wants your code, you won't prevent them from getting it.
                        Bas Groothedde
                        Imagine Programming :: Blog

                        AMS8 Plugins
                        IMXLH Compiler

                        Comment


                        • #13
                          @Imagine Programming

                          Gday Bas,
                          Do you know if anyone's ever done a tutorial (with visuals) on compiling to bytecode with MemoryEx? (You know, something with screenshots or something)?

                          It might be a pretty handy thing to have on file, given how often this question comes up. And is something I have an interest in myself - but never taken the time to investigate properly. Just a thought, yeah?

                          Comment


                          • #14
                            agree to BioHazard

                            Comment


                            • #15
                              Originally posted by BioHazard View Post
                              @Imagine Programming

                              Gday Bas,
                              Do you know if anyone's ever done a tutorial (with visuals) on compiling to bytecode with MemoryEx? (You know, something with screenshots or something)?

                              It might be a pretty handy thing to have on file, given how often this question comes up. And is something I have an interest in myself - but never taken the time to investigate properly. Just a thought, yeah?
                              This might be of help: https://www.youtube.com/watch?v=QPRvNt9dGqo - however, the manual is specific on the syntax of the code in IMXLH and what to do to compile it. It also comes with a code template and verification section template you can insert from the menu. These templates contain all available sections in an LH file.
                              Bas Groothedde
                              Imagine Programming :: Blog

                              AMS8 Plugins
                              IMXLH Compiler

                              Comment

                              Working...
                              X