Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Thursday, June 8, for a Q&A with Unity's Content Pipeline group here on the forum, and on the Unity Discord, and discuss topics around Content Build, Import Workflows, Asset Database, and Addressables!
    Dismiss Notice

Assets [ WIP ] VieuApp BETA : Unity Virtualization & Protection Technology

Discussion in 'Works In Progress - Archive' started by RossetaStoned, Aug 8, 2019.

  1. RossetaStoned


    Aug 8, 2019

    VieuApp BETA : Unity Entire Game Virtualization Technology


    VieuApp™ is an entire application virtualization solution to improve your game shipping , security and performance.

    How it Works
    VieuApp™ takes the final binary file of your game and recompiles it to a single one with all the assets and files that your game uses.

    VieuApp encrypts and compresses all the files and simulates them in a virtual memory on game initializing.
    Until the game is running all files remain and right after the game is shut down they will die with it.
    It doesn't use any Temp so no files are written anywhere on the disk , everything is sandboxed.

    This feature gives you ability to have only one file for your game and ship it easier and helps you to keep your assets , scripts , assemblies and etc. safe out of the hands of users and abusers.

    Also, it embeds DirectX and OpenGL and simulates them too! No more need to pre-installed DirectX and OpenGL redistributables!

    VieuApp™ is a virtual machine which means it has its own CPU , Memory and Hard Drive. It uses low-level API of windows to hook , alter , incept and implement kernel functions.

    VieuApp is written based on windows but the core should work on Mac and Linux as well.
    For now only Microsoft Windows XP/Vista/7/8/10 (x86/x64)
    is fully supported.

    VieuApp decrypts files from internal package and decompress them in a isolated memory , when decompressing is done files get map in virtual memory but they behave like a physical file.

    for example , After your game executes , A file gets map in "C:\MyGame\Savefile\save.json" in memory.

    The file doesn't exist on the disk but Unity treats the file like all other regular files exists on the disk.

    All read/write internal calls will redirect automatically by VieuApp.Core which means if you use regular File.ReadAllBytes
    or File.ReadAllBytes with
    "C:\MyGame\Savefile\save.json" as filename parameter , they automatically read and write to the virtual file.

    Also , VieuApp provides virtual registry system as well and it
    supports both Mono and IL2CPP backends.

    How Much Should I Pay for it?

    VieuApp is FREE! You're always welcome to use it for personal usage. VieuApp comes in two version :
    • Personal Edition : A fully featured version of VieuApp you can use it for personal purpose.
    • Pro Edition : Full control of each part of VieuApp core , Unlimited and Comes with SDK and API with Lua Support.

    • 32bit and 64bit Support
    • Game Assets Real-time Sandboxing
    • DirectX and OpenGL Real-time Sandboxing [ Pro Only ]
    • .Net & Mono Framework Sandboxing [ Pro Only ]
    • Internal Encryption/Compression
    • .NET Anti-Dumper Basic Protection
    • .NET Anti-Dumper Advanced Protection [ Pro Only ]
    • Real-Time Anti-Cheat Service [ Pro Only ]
    • Compiles everything to a Single *.exe file
    • Virtual Windows Registry Environment
    • Network Protocols Protection [ Pro Only ]
    • LUA Scripting Engine [ Pro Only ]
    • Advanced Editor / Per-File Mode Control [ Pro Only ]
    • Packaging System with LZMA Compression
    • Supports Multiple File Encoding and Languages [ Pro Only ]
    • Code Virtualization Protection [ Pro Only ]
    • Superfast In-Memory File Mapping
    • And more...
    People always think security is about 100% blocking an attacker's access to resources. It's impossible!
    But In Fact , Real security is about making it harder for hackers and crackers to access critical resources.
    VieuApp helps you to make an attacker's day a living hell , Even pro ones !

    We used the most efficient and modern anti-debugging , anti-dumping , anti-cheating technologies to protect your game from attackers.

    VieuApp uses a Virtual CPU to perform Code Virtualization for native codes and protect them from debuggers.

    Attacker cannot access to decryption method to debug and find out what keys are...

    In Virtual CPU , Instructions are custom-modeled which means there's no more pure assembly code for reverse engineer guys to find out how the app is working...

    It takes hours , days , weeks , years to find out how a custom-modeled CPU works and good news! we will change the model in every release of VieuApp!

    VieuAppCore Pro , VieuAppEditor Pro and VieuAppCompiler Pro are protecting by the same technologies.

    Unity .Net and Dumpers
    .Net assemblies are the easiest targets in memory dumping , attackers can use dumpers and one click to get all your assemblies even if you use CLRHosting within a C++ application and even if you obfuscate your assemblies! In the end , they all are naked in the memory!
    There's three type of .Net dumpers :
    1. Memory Scanners : Some dumpers use a memory scanner to find .Net assemblies by their header signatures and they extract it on disk.
    2. IL Extraction : Some dumpers attach to JIT Engine and grab your IL code on the fly and dump them on a disk , then they recreate the headers and rebuild the whole assemblies using reflection.
    3. File Map Extraction : Some dumpers inject theirselves to your app and extract vmap files which contains memory-mapped files information , they use a memory reader and extract assemblies to the disk.
    We present tools to defeat this dumpers/attackers.
    • .NET Anti-Dumper Basic Protection will defeat Memory Scan and ILExtraction methods (.NET Generic Unpacker , .NetUnpack)
    • .NET Anti-Dumper Advanced Protection will defeat all kinds of current memory dumpers (.NET Generic Unpacker , .NetUnpack , MegaDumper ,NetDump , ILDUMP , dnSpy )

    VieuApp™ helps you to improve your game performance by file virtualizing , as you know a file in a memory is very faster than a file on the disk because of their design and nature.

    Here's some file benchmarking are done via Simple Unity Game :

    The best security and performance can be obtained from the combination of IL2CPP and VieuApp™.

    Also, VieuApp has some memory optimization operators which can be accessed from LUA Scripting Engine.

    NOTE : Vieu word sounds like View = V.U. = Virtual Unity :)

    Any Question ?
    If you have any question feel free to ask it on this thread.

    You can download VieuApp Personal Edition in this thread and asset store after first public release.
    Last edited: Aug 8, 2019
  2. daville


    Aug 5, 2012
    is it available?
  3. DavidZakrzewski


    Nov 29, 2019
    No download link in thread...when will it be available?
  4. KarlKarl2000


    Jan 25, 2016
    @RossetaStoned I'd pay for this if you made it available on the app store :)
  5. DanielJohansen


    May 9, 2018
  6. RequiemForMayo


    May 12, 2016
    Is it still WIP?
  7. haywirephoenix


    May 17, 2017
    Looks great, can't wait to try it.

    You describe how the cpu virtualization doesn't affect and even improves load times but what about performance?