KiwiVM For SO

This article is for android developers

1. Overview

The SO code virtualization tool [KiwiVM] supports the virtualization protection of C, C++ and objective-c code. By virtue of the characteristics of custom CPU instructions, once the code is encrypted, it will never be decrypted. Attackers cannot restore the code and analyze the core business logic.

2. Obtain

After purchasing the KiwiVM virtual machine, use the machine code generation tool provided by Kiwisec to extract the Key of the computer to be bound. Kiwisec will generate a unique KiwiVM toolkit based on Key, authorization time and enterprise information.

3. Install

Go to the KiwiVM directory and execute python setup.py --clang=/path/to/clang --install , install the compiler install

4. Import header file

Copy the header file in the include directory into your iOS project and refer to it as needed.

5. Add label KIWIVM

For functions that require virtualization protection, add the KIWIVM tag to notify the compiler to virtualize compilation. add label

6. Build

KiwiVM code virtualization compiler is implemented based on clang. For some projects using Gcc compiler, it is necessary to specify clang compiler in Application.mk or build.gradle[cmake]. The ndk-build compilation mode sets Application.mk, As shown below: android.mk The cmake compilation method sets the build. gradle of the project, As shown below: cmake

Execute ndk-build

7. Uninstall

Switch to the KiwiVM directory and execute python setup.py --clang=/path/to/clang --uninstall

8. Effect analysis

Source Code
"2-1"


Decompile unprotected code via IDA tool to view source code logic directly "2-1"


Decompiling the virtualized code through the IDA tool, the original code logic is hidden "2-1"

If you have any problems, please contact our customer service or technical support.

results matching ""

    No results matching ""