mirror of
https://github.com/NohamR/Code-Virtualizer-Demo.git
synced 2026-05-24 19:58:50 +00:00
Push demo
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
.DS_Store
|
||||
libswizzle_arm64.dylib
|
||||
libswizzle_arm64_protected.dylib
|
||||
test_swizzle_arm64
|
||||
56
README.md
Normal file
56
README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Code Virtualizer Method Swizzling Demo
|
||||
|
||||
This project demonstrates [Oreans Code Virtualizer](https://www.oreans.com/CodeVirtualizer.php) protection applied to Objective-C method swizzling on macOS (arm64).
|
||||
|
||||
## Project Files
|
||||
|
||||
### Source Files
|
||||
|
||||
- `swizzle.m` - Dynamic library that performs Objective-C method swizzling
|
||||
- Protected with Code Virtualizer macros (`VIRTUALIZER_START`, `VIRTUALIZER_END`, `VIRTUALIZER_STR_ENCRYPT_START`, etc.)
|
||||
- Includes Stealth Code Area for additional anti-debugging protection
|
||||
|
||||
- `test_swizzle.m` - Test program to verify the swizzling functionality
|
||||
- Logs the output to demonstrate the effect of the swizzling
|
||||
|
||||
### Built Artifacts
|
||||
|
||||
- `libswizzle_arm64.dylib` - Unprotected version of the swizzling library
|
||||
- `libswizzle_arm64_protected.dylib` - Protected version (virtualized with Code Virtualizer in Demo mode)
|
||||
- `test_swizzle_arm64` - Compiled test executable
|
||||
|
||||
## Building
|
||||
|
||||
```bash
|
||||
make all
|
||||
```
|
||||
- `libswizzle_arm64.dylib` : The swizzling dynamic library
|
||||
- `test_swizzle_arm64` : The test executable
|
||||
|
||||
## Running the Demo
|
||||
Note: SIP must be disabled to run the demo due to the use of `DYLD_INSERT_LIBRARIES` for method swizzling.
|
||||
```bash
|
||||
./scripts/demo_swizzle.sh
|
||||
```
|
||||
|
||||
## Code Virtualizer Protection
|
||||
|
||||
The `swizzle.m` file demonstrates several Code Virtualizer features:
|
||||
|
||||
### Virtualization Macros
|
||||
- `VIRTUALIZER_START` / `VIRTUALIZER_END` - Marks code sections to be virtualized
|
||||
- `VIRTUALIZER_STR_ENCRYPT_START` / `VIRTUALIZER_STR_ENCRYPT_END` - Encrypts string literals
|
||||
|
||||
**Note:** `VIRTUALIZER_STR_ENCRYPT_START` is not available in the demo version.
|
||||

|
||||
|
||||
### Stealth Code Area
|
||||
The code includes a stealth area that:
|
||||
- Provides additional anti-debugging protection
|
||||
- Makes analysis more difficult
|
||||
- Uses `STEALTH_AREA_START`, `STEALTH_AREA_CHUNK`, `STEALTH_AREA_END` macros
|
||||
|
||||

|
||||

|
||||

|
||||
See [docs/logs.logs](docs/logs.logs) for available features applied to the demo.
|
||||
BIN
docs/demo_restrictions.png
Normal file
BIN
docs/demo_restrictions.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 86 KiB |
52
docs/logs.logs
Normal file
52
docs/logs.logs
Normal file
@@ -0,0 +1,52 @@
|
||||
Code Virtualizer ARM64 - Total Obfuscation against Reverse Engineering [Version 3.2.3.22]
|
||||
Copyright (C) Oreans Technologies 2003 - 2026
|
||||
|
||||
File to Protect
|
||||
Input File: \\Mac\Home\Desktop\Virtualizer\Examples\Mac OS X\GCC\libswizzle_arm64.dylib
|
||||
Output File: \\Mac\Home\Desktop\Virtualizer\Examples\Mac OS X\GCC\libswizzle_arm64_protected.dylib
|
||||
|
||||
Starting Protection
|
||||
-> Checking Input and Output files . . . OK
|
||||
-> Reading Protection Macros . . . OK (6 macros found)
|
||||
-> Initializing VM Engine . . . OK
|
||||
|
||||
Ansi Strings to Virtualize
|
||||
No Ansi strings to virtualize
|
||||
|
||||
Unicode Strings to Virtualize
|
||||
No Unicode strings to virtualize
|
||||
|
||||
Virtual Machines Generation
|
||||
-> Machine #1 (FALCON64 ARM (Tiny) VM) . . . . OK (size 76 KB)
|
||||
|
||||
Protecting Code Blocks
|
||||
-> Virtualizing code . . . OK
|
||||
|
||||
Protecting Macros (Mutation & StrEncrypt)
|
||||
-> Macro #1: STR_ENCRYPT (0x000000000001FC44 - 0x000000000001FC50) . . . Skipped
|
||||
-> Macro #2: STR_ENCRYPT (0x000000000001FCD8 - 0x000000000001FCF0) . . . Skipped
|
||||
-> Macro #3: STR_ENCRYPT (0x000000000001FDD0 - 0x000000000001FE00) . . . Skipped
|
||||
|
||||
Protecting Macros (Virtualization)
|
||||
[DEMO Restriction: All virtualization macros are converted to Falcon Tiny VM]
|
||||
-> Macro #4: VIRTUALIZER (0x000000000001FC30 - 0x000000000001FC78) . . . OK (size 1666 bytes)
|
||||
-> Macro #5: VIRTUALIZER (0x000000000001FCC4 - 0x000000000001FD78) . . . OK (size 4448 bytes)
|
||||
-> Macro #6: VIRTUALIZER (0x000000000001FDBC - 0x000000000001FE44) . . . OK (size 2679 bytes)
|
||||
|
||||
Compressing Virtual Machines
|
||||
Compression disabled
|
||||
|
||||
Finalizing Protection
|
||||
-> Rebuilding Output File . . . OK
|
||||
|
||||
Report
|
||||
-> Input File Size: 162,52 kb
|
||||
-> Output File Size: 721,11 kb
|
||||
-> Increase in Size: 558,59 kb
|
||||
-> Stealth Code Area (unused space): 117 Kb
|
||||
-> MD5 Hash: 0c028b849cde49e78a181f811ebb4834
|
||||
-> Elapsed Time: 1 seconds (using 4 cores)
|
||||
|
||||
|
||||
*** File successfully protected ***
|
||||
[Demo Restrictions applied]
|
||||
BIN
docs/options_VM.png
Normal file
BIN
docs/options_VM.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 902 KiB |
BIN
docs/p.png
Normal file
BIN
docs/p.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 536 KiB |
BIN
docs/ran.png
Normal file
BIN
docs/ran.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
33
scripts/demo_swizzle.sh
Executable file
33
scripts/demo_swizzle.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=============================================="
|
||||
echo " Method Swizzling Demo with Code Virtualizer"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Get the directory where this script is located
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
# Test 1: Run without swizzling
|
||||
echo -e "${YELLOW}Test 1: Running test_swizzle_arm64 WITHOUT dylib injection${NC}"
|
||||
echo "Command: ./test_swizzle_arm64"
|
||||
echo ""
|
||||
"$DIR/test_swizzle_arm64"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
|
||||
# Test 2: Run with swizzling
|
||||
echo -e "${YELLOW}Test 2: Running test_swizzle_arm64 WITH dylib injection${NC}"
|
||||
echo "Command: DYLD_INSERT_LIBRARIES=./libswizzle_arm64.dylib ./test_swizzle_arm64"
|
||||
echo ""
|
||||
DYLD_INSERT_LIBRARIES="$DIR/libswizzle_arm64.dylib" "$DIR/test_swizzle_arm64"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
212
src/include/StealthCodeArea.h
Normal file
212
src/include/StealthCodeArea.h
Normal file
@@ -0,0 +1,212 @@
|
||||
/*****************************************************************************
|
||||
; Header: StealthCodeArea.h
|
||||
; Description: Header to create a "dummy" code area to insert the protection
|
||||
; code
|
||||
;
|
||||
; Authors: Rafael Ahucha
|
||||
; (c) 2013 Oreans Technologies
|
||||
;****************************************************************************/
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
; Prototypes
|
||||
;*****************************************************************************/
|
||||
|
||||
#define STEALTH_AUX_FUNCTION void CVSX(unsigned int i) {printf("%i", i);}
|
||||
|
||||
#define STEALTH_AREA_START CVSX(0xA1A2A3A4); CVSX(0xA4A3A2A1); \
|
||||
CVSX(0xB1A1B2A2); CVSX(0xB8A8A1A1);
|
||||
|
||||
#define STEALTH_AREA_END CVSX(0xB6B5B3B6); CVSX(0xA2B2C2D2); \
|
||||
CVSX(0xA9A8A2A2); CVSX(0xA0A9B9B8);
|
||||
|
||||
#define STEALTH_AREA_CHUNK \
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(1); CVSX(2); CVSX(1); CVSX(3); CVSX(4); CVSX(2); CVSX(10); CVSX(2);\
|
||||
CVSX(4); CVSX(1); CVSX(12); CVSX(1); CVSX(5); CVSX(2); CVSX(3); CVSX(4);
|
||||
|
||||
250
src/include/VirtualizerSDK.h
Normal file
250
src/include/VirtualizerSDK.h
Normal file
@@ -0,0 +1,250 @@
|
||||
/******************************************************************************
|
||||
Header: VirtualizerSDK.h
|
||||
Description: SDK header definition for the C/C++ language
|
||||
|
||||
Author/s: Oreans Technologies
|
||||
(c) 2023 Oreans Technologies
|
||||
*****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
// ***********************************************
|
||||
// Cross Compiler definitions
|
||||
// ***********************************************
|
||||
|
||||
#if defined(__GNUC__)
|
||||
|
||||
#define DLL_IMPORT extern
|
||||
#define STDCALL_CONVENTION
|
||||
|
||||
#else
|
||||
|
||||
#define DLL_IMPORT __declspec(dllimport)
|
||||
#define STDCALL_CONVENTION __stdcall
|
||||
|
||||
#endif
|
||||
|
||||
// ***********************************************
|
||||
// Specify platform
|
||||
// ***********************************************
|
||||
|
||||
#if defined(__GNUC__)
|
||||
|
||||
#if defined(__x86_64__)
|
||||
#define PLATFORM_X64
|
||||
#elif defined(__aarch64__)
|
||||
#define PLATFORM_ARM64
|
||||
#else
|
||||
#define PLATFORM_X32
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#if defined(_M_X64)
|
||||
#define PLATFORM_X64
|
||||
#elif defined(_M_ARM64)
|
||||
#define PLATFORM_ARM64
|
||||
#else
|
||||
#define PLATFORM_X32
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// ***********************************************
|
||||
// Defines
|
||||
// ***********************************************
|
||||
|
||||
#if defined(__GNUC__) || defined (__ICL)
|
||||
|
||||
#define CV_X32_INSERT_VIA_INLINE
|
||||
#define CV_X64_INSERT_VIA_INLINE
|
||||
#define CV_ARM64_INSERT_VIA_INLINE
|
||||
|
||||
#else
|
||||
|
||||
#define CV_X32_INSERT_VIA_INLINE
|
||||
//#define CV_X64_INSERT_VIA_INLINE // uncomment for inline assembly
|
||||
//#define CV_ARM64_INSERT_VIA_INLINE // uncomment for inline assembly
|
||||
|
||||
#endif
|
||||
|
||||
// ***********************************************
|
||||
// Include files
|
||||
// ***********************************************
|
||||
|
||||
#include "VirtualizerSDK_CustomVMs.h"
|
||||
|
||||
// ***********************************************
|
||||
// link with correct platform library
|
||||
// ***********************************************
|
||||
|
||||
#ifndef CV_X64_INSERT_VIA_INLINE
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef _NTDDK_
|
||||
#pragma comment(lib, "VirtualizerDDK.lib")
|
||||
#else
|
||||
#pragma comment(lib, "VirtualizerSDK64.lib")
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CV_X32_INSERT_VIA_INLINE
|
||||
#ifdef PLATFORM_X32
|
||||
#ifdef _NTDDK_
|
||||
#pragma comment(lib, "VirtualizerDDK.lib")
|
||||
#else
|
||||
#pragma comment(lib, "VirtualizerSDK32.lib")
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CV_ARM64_INSERT_VIA_INLINE
|
||||
#ifdef PLATFORM_ARM64
|
||||
#ifdef _NTDDK_
|
||||
#pragma comment(lib, "VirtualizerDDK.lib")
|
||||
#else
|
||||
#pragma comment(lib, "VirtualizerArm64SDK.lib")
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// ***********************************************
|
||||
// In latest CV versions, we have removed the
|
||||
// VirtualizerXStart and VirtualizerMutate macros
|
||||
// ***********************************************
|
||||
|
||||
#define Virtualizer1Start VirtualizerStart
|
||||
#define Virtualizer2Start VirtualizerStart
|
||||
#define Virtualizer3Start VirtualizerStart
|
||||
#define Virtualizer4Start VirtualizerStart
|
||||
#define Virtualizer5Start VirtualizerStart
|
||||
#define Virtualizer1End VirtualizerEnd
|
||||
#define Virtualizer2End VirtualizerEnd
|
||||
#define Virtualizer3End VirtualizerEnd
|
||||
#define Virtualizer4End VirtualizerEnd
|
||||
#define Virtualizer5End VirtualizerEnd
|
||||
#define VirtualizerMutate1Start VirtualizerStart
|
||||
#define VirtualizerMutate2Start VirtualizerStart
|
||||
#define VirtualizerMutate3Start VirtualizerStart
|
||||
|
||||
#define VIRTUALIZER1_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER2_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER3_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER4_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER5_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER1_END VIRTUALIZER_END
|
||||
#define VIRTUALIZER2_END VIRTUALIZER_END
|
||||
#define VIRTUALIZER3_END VIRTUALIZER_END
|
||||
#define VIRTUALIZER4_END VIRTUALIZER_END
|
||||
#define VIRTUALIZER5_END VIRTUALIZER_END
|
||||
#define VIRTUALIZER_MUTATE1_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER_MUTATE2_START VIRTUALIZER_START
|
||||
#define VIRTUALIZER_MUTATE3_START VIRTUALIZER_START
|
||||
|
||||
// ***********************************************
|
||||
// Definition of VirtualizerStart macro to keep
|
||||
// compatibility with previous CV versions
|
||||
// ***********************************************
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerStart(void);
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerEnd(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerStrEncryptStart(void);
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerStrEncryptEnd(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerStrEncryptWStart(void);
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerStrEncryptWEnd(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerUnprotectedStart(void);
|
||||
DLL_IMPORT void STDCALL_CONVENTION VirtualizerUnprotectedEnd(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PLATFORM_X64) && !defined(CV_X64_INSERT_VIA_INLINE)
|
||||
|
||||
#define VIRTUALIZER_START VirtualizerStart();
|
||||
#define VIRTUALIZER_END VirtualizerEnd();
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_START VirtualizerStrEncryptStart();
|
||||
#define VIRTUALIZER_STR_ENCRYPT_END VirtualizerStrEncryptEnd();
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_START VirtualizerStrEncryptWStart();
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_END VirtualizerStrEncryptWEnd();
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_START VirtualizerUnprotectedStart();
|
||||
#define VIRTUALIZER_UNPROTECTED_END VirtualizerUnprotectedEnd();
|
||||
|
||||
#define CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(PLATFORM_ARM64) && !defined(CV_ARM64_INSERT_VIA_INLINE)
|
||||
|
||||
#define VIRTUALIZER_START VirtualizerStart();
|
||||
#define VIRTUALIZER_END VirtualizerEnd();
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_START VirtualizerStrEncryptStart();
|
||||
#define VIRTUALIZER_STR_ENCRYPT_END VirtualizerStrEncryptEnd();
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_START VirtualizerStrEncryptWStart();
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_END VirtualizerStrEncryptWEnd();
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_START VirtualizerUnprotectedStart();
|
||||
#define VIRTUALIZER_UNPROTECTED_END VirtualizerUnprotectedEnd();
|
||||
|
||||
#define CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(PLATFORM_X32) && !defined(CV_X32_INSERT_VIA_INLINE)
|
||||
|
||||
#define VIRTUALIZER_START VirtualizerStart();
|
||||
#define VIRTUALIZER_END VirtualizerEnd();
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_START VirtualizerStrEncryptStart();
|
||||
#define VIRTUALIZER_STR_ENCRYPT_END VirtualizerStrEncryptEnd();
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_START VirtualizerStrEncryptWStart();
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_END VirtualizerStrEncryptWEnd();
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_START VirtualizerUnprotectedStart();
|
||||
#define VIRTUALIZER_UNPROTECTED_END VirtualizerUnprotectedEnd();
|
||||
|
||||
#define CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#endif
|
||||
|
||||
// ***********************************************
|
||||
// x32/x64 definition as inline assembly
|
||||
// ***********************************************
|
||||
|
||||
#ifndef CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#include "VirtualizerSDK_BorlandC_inline.h"
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include "VirtualizerSDK_GNU_inline.h"
|
||||
#endif
|
||||
|
||||
#ifdef __ICL
|
||||
#include "VirtualizerSDK_ICL_inline.h"
|
||||
#endif
|
||||
|
||||
#ifdef __LCC__
|
||||
#include "VirtualizerSDK_LCC_inline.h"
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) || defined(__INTEL_COMPILER)
|
||||
#include "VirtualizerSDK_VC_inline.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
734
src/include/VirtualizerSDK_CustomVMs.h
Normal file
734
src/include/VirtualizerSDK_CustomVMs.h
Normal file
@@ -0,0 +1,734 @@
|
||||
/******************************************************************************
|
||||
* Header: VirtualizerSDK_CustomVMs.h
|
||||
* Description: Definitions for Custom VMs in SecureEngine
|
||||
*
|
||||
* Author/s: Oreans Technologies
|
||||
* (c) 2024 Oreans Technologies
|
||||
*
|
||||
* --- File generated automatically from Oreans VM Generator (21/7/2024) ---
|
||||
******************************************************************************/
|
||||
|
||||
// ***********************************************
|
||||
// Definition of macros as function names
|
||||
// ***********************************************
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000100_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000100_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000103_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000103_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000178_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000178_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000101_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000101_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000104_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000104_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000179_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000179_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000102_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000102_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000105_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000105_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000180_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000180_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000106_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000106_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000107_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000107_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000181_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000181_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000108_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000108_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000109_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000109_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000182_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000182_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000110_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000110_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000111_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000111_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000183_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000183_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000112_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000112_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000113_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000113_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000184_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000184_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000114_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000114_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000115_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000115_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000185_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000185_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000116_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000116_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000117_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000117_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000186_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000186_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000118_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000118_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000119_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000119_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000187_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000187_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000120_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000120_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000121_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000121_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000188_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000188_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000122_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000122_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000123_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000123_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000189_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000189_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000190_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000190_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000191_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000191_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000192_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000192_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000193_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000193_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000194_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000194_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000134_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000134_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000135_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000135_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000195_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000195_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000136_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000136_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000137_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000137_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000196_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000196_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000138_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000138_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000139_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000139_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000197_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000197_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000146_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000146_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000147_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000147_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000201_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000201_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000148_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000148_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000149_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000149_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000202_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000202_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000150_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000150_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000151_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000151_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000203_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000203_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000207_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000207_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000160_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000160_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000161_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000161_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000208_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000208_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000162_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000162_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000163_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000163_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000209_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000209_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000164_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000164_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000165_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000165_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000210_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000210_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000166_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000166_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000167_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000167_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000211_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000211_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000168_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000168_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000169_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000169_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000212_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000212_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000170_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000170_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000171_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000171_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000213_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000213_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000172_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000172_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000173_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000173_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000214_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000214_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000174_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000174_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000175_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000175_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000215_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000215_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000176_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000176_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000177_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000177_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000216_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000216_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION Mutate_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION Mutate_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION Mutate_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION Mutate_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION Mutate_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION Mutate_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000217_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000217_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000218_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000218_End(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000219_Start(void);
|
||||
|
||||
DLL_IMPORT void STDCALL_CONVENTION CustomVM00000219_End(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// ***********************************************
|
||||
// x64 definition as function names
|
||||
// ***********************************************
|
||||
|
||||
#if defined(PLATFORM_X64) && !defined(CV_X64_INSERT_VIA_INLINE)
|
||||
|
||||
#define VIRTUALIZER_TIGER_WHITE_START CustomVM00000103_Start();
|
||||
#define VIRTUALIZER_TIGER_WHITE_END CustomVM00000103_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_RED_START CustomVM00000104_Start();
|
||||
#define VIRTUALIZER_TIGER_RED_END CustomVM00000104_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_BLACK_START CustomVM00000105_Start();
|
||||
#define VIRTUALIZER_TIGER_BLACK_END CustomVM00000105_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_WHITE_START CustomVM00000107_Start();
|
||||
#define VIRTUALIZER_FISH_WHITE_END CustomVM00000107_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_RED_START CustomVM00000109_Start();
|
||||
#define VIRTUALIZER_FISH_RED_END CustomVM00000109_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_BLACK_START CustomVM00000111_Start();
|
||||
#define VIRTUALIZER_FISH_BLACK_END CustomVM00000111_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_WHITE_START CustomVM00000113_Start();
|
||||
#define VIRTUALIZER_PUMA_WHITE_END CustomVM00000113_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_RED_START CustomVM00000115_Start();
|
||||
#define VIRTUALIZER_PUMA_RED_END CustomVM00000115_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_BLACK_START CustomVM00000117_Start();
|
||||
#define VIRTUALIZER_PUMA_BLACK_END CustomVM00000117_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_WHITE_START CustomVM00000119_Start();
|
||||
#define VIRTUALIZER_SHARK_WHITE_END CustomVM00000119_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_RED_START CustomVM00000121_Start();
|
||||
#define VIRTUALIZER_SHARK_RED_END CustomVM00000121_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_BLACK_START CustomVM00000123_Start();
|
||||
#define VIRTUALIZER_SHARK_BLACK_END CustomVM00000123_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_WHITE_START CustomVM00000135_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_WHITE_END CustomVM00000135_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_RED_START CustomVM00000137_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_RED_END CustomVM00000137_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_BLACK_START CustomVM00000139_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_BLACK_END CustomVM00000139_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_WHITE_START CustomVM00000147_Start();
|
||||
#define VIRTUALIZER_EAGLE_WHITE_END CustomVM00000147_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_RED_START CustomVM00000149_Start();
|
||||
#define VIRTUALIZER_EAGLE_RED_END CustomVM00000149_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_BLACK_START CustomVM00000151_Start();
|
||||
#define VIRTUALIZER_EAGLE_BLACK_END CustomVM00000151_End();
|
||||
|
||||
#define VIRTUALIZER_LION_WHITE_START CustomVM00000161_Start();
|
||||
#define VIRTUALIZER_LION_WHITE_END CustomVM00000161_End();
|
||||
|
||||
#define VIRTUALIZER_LION_RED_START CustomVM00000163_Start();
|
||||
#define VIRTUALIZER_LION_RED_END CustomVM00000163_End();
|
||||
|
||||
#define VIRTUALIZER_LION_BLACK_START CustomVM00000165_Start();
|
||||
#define VIRTUALIZER_LION_BLACK_END CustomVM00000165_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_WHITE_START CustomVM00000167_Start();
|
||||
#define VIRTUALIZER_COBRA_WHITE_END CustomVM00000167_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_RED_START CustomVM00000169_Start();
|
||||
#define VIRTUALIZER_COBRA_RED_END CustomVM00000169_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_BLACK_START CustomVM00000171_Start();
|
||||
#define VIRTUALIZER_COBRA_BLACK_END CustomVM00000171_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_WHITE_START CustomVM00000173_Start();
|
||||
#define VIRTUALIZER_WOLF_WHITE_END CustomVM00000173_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_RED_START CustomVM00000175_Start();
|
||||
#define VIRTUALIZER_WOLF_RED_END CustomVM00000175_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_BLACK_START CustomVM00000177_Start();
|
||||
#define VIRTUALIZER_WOLF_BLACK_END CustomVM00000177_End();
|
||||
|
||||
#define VIRTUALIZER_MUTATE_ONLY_START Mutate_Start();
|
||||
#define VIRTUALIZER_MUTATE_ONLY_END Mutate_End();
|
||||
|
||||
#define VIRTUALIZER_FALCON_TINY_START CustomVM00000218_Start();
|
||||
#define VIRTUALIZER_FALCON_TINY_END CustomVM00000218_End();
|
||||
|
||||
#define CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
// ***********************************************
|
||||
// x32 definition as function names
|
||||
// ***********************************************
|
||||
|
||||
#if defined(PLATFORM_X32) && !defined(CV_X32_INSERT_VIA_INLINE)
|
||||
|
||||
#define VIRTUALIZER_TIGER_WHITE_START CustomVM00000100_Start();
|
||||
#define VIRTUALIZER_TIGER_WHITE_END CustomVM00000100_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_RED_START CustomVM00000101_Start();
|
||||
#define VIRTUALIZER_TIGER_RED_END CustomVM00000101_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_BLACK_START CustomVM00000102_Start();
|
||||
#define VIRTUALIZER_TIGER_BLACK_END CustomVM00000102_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_WHITE_START CustomVM00000106_Start();
|
||||
#define VIRTUALIZER_FISH_WHITE_END CustomVM00000106_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_RED_START CustomVM00000108_Start();
|
||||
#define VIRTUALIZER_FISH_RED_END CustomVM00000108_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_BLACK_START CustomVM00000110_Start();
|
||||
#define VIRTUALIZER_FISH_BLACK_END CustomVM00000110_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_WHITE_START CustomVM00000112_Start();
|
||||
#define VIRTUALIZER_PUMA_WHITE_END CustomVM00000112_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_RED_START CustomVM00000114_Start();
|
||||
#define VIRTUALIZER_PUMA_RED_END CustomVM00000114_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_BLACK_START CustomVM00000116_Start();
|
||||
#define VIRTUALIZER_PUMA_BLACK_END CustomVM00000116_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_WHITE_START CustomVM00000118_Start();
|
||||
#define VIRTUALIZER_SHARK_WHITE_END CustomVM00000118_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_RED_START CustomVM00000120_Start();
|
||||
#define VIRTUALIZER_SHARK_RED_END CustomVM00000120_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_BLACK_START CustomVM00000122_Start();
|
||||
#define VIRTUALIZER_SHARK_BLACK_END CustomVM00000122_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_WHITE_START CustomVM00000134_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_WHITE_END CustomVM00000134_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_RED_START CustomVM00000136_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_RED_END CustomVM00000136_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_BLACK_START CustomVM00000138_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_BLACK_END CustomVM00000138_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_WHITE_START CustomVM00000146_Start();
|
||||
#define VIRTUALIZER_EAGLE_WHITE_END CustomVM00000146_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_RED_START CustomVM00000148_Start();
|
||||
#define VIRTUALIZER_EAGLE_RED_END CustomVM00000148_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_BLACK_START CustomVM00000150_Start();
|
||||
#define VIRTUALIZER_EAGLE_BLACK_END CustomVM00000150_End();
|
||||
|
||||
#define VIRTUALIZER_LION_WHITE_START CustomVM00000160_Start();
|
||||
#define VIRTUALIZER_LION_WHITE_END CustomVM00000160_End();
|
||||
|
||||
#define VIRTUALIZER_LION_RED_START CustomVM00000162_Start();
|
||||
#define VIRTUALIZER_LION_RED_END CustomVM00000162_End();
|
||||
|
||||
#define VIRTUALIZER_LION_BLACK_START CustomVM00000164_Start();
|
||||
#define VIRTUALIZER_LION_BLACK_END CustomVM00000164_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_WHITE_START CustomVM00000166_Start();
|
||||
#define VIRTUALIZER_COBRA_WHITE_END CustomVM00000166_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_RED_START CustomVM00000168_Start();
|
||||
#define VIRTUALIZER_COBRA_RED_END CustomVM00000168_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_BLACK_START CustomVM00000170_Start();
|
||||
#define VIRTUALIZER_COBRA_BLACK_END CustomVM00000170_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_WHITE_START CustomVM00000172_Start();
|
||||
#define VIRTUALIZER_WOLF_WHITE_END CustomVM00000172_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_RED_START CustomVM00000174_Start();
|
||||
#define VIRTUALIZER_WOLF_RED_END CustomVM00000174_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_BLACK_START CustomVM00000176_Start();
|
||||
#define VIRTUALIZER_WOLF_BLACK_END CustomVM00000176_End();
|
||||
|
||||
#define VIRTUALIZER_MUTATE_ONLY_START Mutate_Start();
|
||||
#define VIRTUALIZER_MUTATE_ONLY_END Mutate_End();
|
||||
|
||||
#define VIRTUALIZER_FALCON_TINY_START CustomVM00000217_Start();
|
||||
#define VIRTUALIZER_FALCON_TINY_END CustomVM00000217_End();
|
||||
|
||||
#define CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
// ***********************************************
|
||||
// ARM64 definition as function names
|
||||
// ***********************************************
|
||||
|
||||
#if defined(PLATFORM_ARM64) && !defined(CV_ARM64_INSERT_VIA_INLINE)
|
||||
|
||||
#define VIRTUALIZER_TIGER_WHITE_START CustomVM00000178_Start();
|
||||
#define VIRTUALIZER_TIGER_WHITE_END CustomVM00000178_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_RED_START CustomVM00000179_Start();
|
||||
#define VIRTUALIZER_TIGER_RED_END CustomVM00000179_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_BLACK_START CustomVM00000180_Start();
|
||||
#define VIRTUALIZER_TIGER_BLACK_END CustomVM00000180_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_WHITE_START CustomVM00000181_Start();
|
||||
#define VIRTUALIZER_FISH_WHITE_END CustomVM00000181_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_RED_START CustomVM00000182_Start();
|
||||
#define VIRTUALIZER_FISH_RED_END CustomVM00000182_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_BLACK_START CustomVM00000183_Start();
|
||||
#define VIRTUALIZER_FISH_BLACK_END CustomVM00000183_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_WHITE_START CustomVM00000184_Start();
|
||||
#define VIRTUALIZER_PUMA_WHITE_END CustomVM00000184_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_RED_START CustomVM00000185_Start();
|
||||
#define VIRTUALIZER_PUMA_RED_END CustomVM00000185_End();
|
||||
|
||||
#define VIRTUALIZER_PUMA_BLACK_START CustomVM00000186_Start();
|
||||
#define VIRTUALIZER_PUMA_BLACK_END CustomVM00000186_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_WHITE_START CustomVM00000187_Start();
|
||||
#define VIRTUALIZER_SHARK_WHITE_END CustomVM00000187_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_RED_START CustomVM00000188_Start();
|
||||
#define VIRTUALIZER_SHARK_RED_END CustomVM00000188_End();
|
||||
|
||||
#define VIRTUALIZER_SHARK_BLACK_START CustomVM00000189_Start();
|
||||
#define VIRTUALIZER_SHARK_BLACK_END CustomVM00000189_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_EXTREME_START CustomVM00000190_Start();
|
||||
#define VIRTUALIZER_FISH_EXTREME_END CustomVM00000190_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_EXTREME_START CustomVM00000191_Start();
|
||||
#define VIRTUALIZER_TIGER_EXTREME_END CustomVM00000191_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_LITE_START CustomVM00000192_Start();
|
||||
#define VIRTUALIZER_FISH_LITE_END CustomVM00000192_End();
|
||||
|
||||
#define VIRTUALIZER_FISH_LONDON_START CustomVM00000193_Start();
|
||||
#define VIRTUALIZER_FISH_LONDON_END CustomVM00000193_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_LONDON_START CustomVM00000194_Start();
|
||||
#define VIRTUALIZER_TIGER_LONDON_END CustomVM00000194_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_WHITE_START CustomVM00000195_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_WHITE_END CustomVM00000195_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_RED_START CustomVM00000196_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_RED_END CustomVM00000196_End();
|
||||
|
||||
#define VIRTUALIZER_DOLPHIN_BLACK_START CustomVM00000197_Start();
|
||||
#define VIRTUALIZER_DOLPHIN_BLACK_END CustomVM00000197_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_WHITE_START CustomVM00000201_Start();
|
||||
#define VIRTUALIZER_EAGLE_WHITE_END CustomVM00000201_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_RED_START CustomVM00000202_Start();
|
||||
#define VIRTUALIZER_EAGLE_RED_END CustomVM00000202_End();
|
||||
|
||||
#define VIRTUALIZER_EAGLE_BLACK_START CustomVM00000203_Start();
|
||||
#define VIRTUALIZER_EAGLE_BLACK_END CustomVM00000203_End();
|
||||
|
||||
#define VIRTUALIZER_TIGER_LITE_START CustomVM00000207_Start();
|
||||
#define VIRTUALIZER_TIGER_LITE_END CustomVM00000207_End();
|
||||
|
||||
#define VIRTUALIZER_LION_WHITE_START CustomVM00000208_Start();
|
||||
#define VIRTUALIZER_LION_WHITE_END CustomVM00000208_End();
|
||||
|
||||
#define VIRTUALIZER_LION_RED_START CustomVM00000209_Start();
|
||||
#define VIRTUALIZER_LION_RED_END CustomVM00000209_End();
|
||||
|
||||
#define VIRTUALIZER_LION_BLACK_START CustomVM00000210_Start();
|
||||
#define VIRTUALIZER_LION_BLACK_END CustomVM00000210_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_WHITE_START CustomVM00000211_Start();
|
||||
#define VIRTUALIZER_COBRA_WHITE_END CustomVM00000211_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_RED_START CustomVM00000212_Start();
|
||||
#define VIRTUALIZER_COBRA_RED_END CustomVM00000212_End();
|
||||
|
||||
#define VIRTUALIZER_COBRA_BLACK_START CustomVM00000213_Start();
|
||||
#define VIRTUALIZER_COBRA_BLACK_END CustomVM00000213_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_WHITE_START CustomVM00000214_Start();
|
||||
#define VIRTUALIZER_WOLF_WHITE_END CustomVM00000214_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_RED_START CustomVM00000215_Start();
|
||||
#define VIRTUALIZER_WOLF_RED_END CustomVM00000215_End();
|
||||
|
||||
#define VIRTUALIZER_WOLF_BLACK_START CustomVM00000216_Start();
|
||||
#define VIRTUALIZER_WOLF_BLACK_END CustomVM00000216_End();
|
||||
|
||||
#define VIRTUALIZER_MUTATE_ONLY_START Mutate_Start();
|
||||
#define VIRTUALIZER_MUTATE_ONLY_END Mutate_End();
|
||||
|
||||
#define VIRTUALIZER_FALCON_TINY_START CustomVM00000219_Start();
|
||||
#define VIRTUALIZER_FALCON_TINY_END CustomVM00000219_End();
|
||||
|
||||
#define CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
// ***********************************************
|
||||
// x32/x64 definition as inline assembly
|
||||
// ***********************************************
|
||||
|
||||
#ifndef CV_CUSTOM_VMS_DEFINED
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#include "VirtualizerSDK_CustomVMs_BorlandC_inline.h"
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include "VirtualizerSDK_CustomVMs_GNU_inline.h"
|
||||
#endif
|
||||
|
||||
#ifdef __ICL
|
||||
#include "VirtualizerSDK_CustomVMs_ICL_inline.h"
|
||||
#endif
|
||||
|
||||
#ifdef __LCC__
|
||||
#include "VirtualizerSDK_CustomVMs_LCC_inline.h"
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) || defined(__INTEL_COMPILER)
|
||||
#include "VirtualizerSDK_CustomVMs_VC_inline.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
4258
src/include/VirtualizerSDK_CustomVMs_GNU_inline.h
Normal file
4258
src/include/VirtualizerSDK_CustomVMs_GNU_inline.h
Normal file
File diff suppressed because it is too large
Load Diff
353
src/include/VirtualizerSDK_GNU_inline.h
Normal file
353
src/include/VirtualizerSDK_GNU_inline.h
Normal file
@@ -0,0 +1,353 @@
|
||||
/******************************************************************************
|
||||
* Header: VirtualizerSDK_GNU_inline.h
|
||||
* Description: GNU C inline assembly macros definitions
|
||||
*
|
||||
* Author/s: Oreans Technologies
|
||||
* (c) 2013 Oreans Technologies
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
/***********************************************
|
||||
* Definition as inline assembly
|
||||
***********************************************/
|
||||
|
||||
#ifdef PLATFORM_ARM64
|
||||
|
||||
#define VIRTUALIZER_START \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x0C\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_END \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x0D\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_START \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x12\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_END \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x13\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_START \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x22\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_END \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x23\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_START \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_END \
|
||||
__asm__ (".byte 0x05\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x14\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x21\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#else
|
||||
|
||||
#define VIRTUALIZER_START \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x0C\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_END \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x0D\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_START \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x12\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPT_END \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x13\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_START \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x22\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_STR_ENCRYPTW_END \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x23\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_START \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
|
||||
#define VIRTUALIZER_UNPROTECTED_END \
|
||||
__asm__ (".byte 0xEB\n"\
|
||||
".byte 0x10\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x21\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x00\n"\
|
||||
".byte 0x43\n"\
|
||||
".byte 0x56\n"\
|
||||
".byte 0x20\n"\
|
||||
".byte 0x20\n");
|
||||
#endif
|
||||
16
src/makefile
Normal file
16
src/makefile
Normal file
@@ -0,0 +1,16 @@
|
||||
CC=gcc
|
||||
INCLUDE_PATH=-I../../Include/C -I../../StealthMode/C/StealthCodeRegsArea
|
||||
|
||||
all: libswizzle_arm64 test_swizzle_arm64
|
||||
|
||||
|
||||
libswizzle_arm64: swizzle.m
|
||||
$(CC) -dynamiclib -framework Foundation $(INCLUDE_PATH) -o libswizzle_arm64.dylib swizzle.m -arch arm64
|
||||
|
||||
|
||||
test_swizzle_arm64: test_swizzle.m
|
||||
$(CC) -o test_swizzle_arm64 test_swizzle.m -framework Foundation -arch arm64
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.o test_x86 test_x64 test_arm64 libswizzle_*.dylib test_swizzle_*
|
||||
76
src/swizzle.m
Normal file
76
src/swizzle.m
Normal file
@@ -0,0 +1,76 @@
|
||||
/*****************************************************************************
|
||||
* swizzle.m
|
||||
* Build: gcc -dynamiclib -framework Foundation -o libswizzle.dylib swizzle.m -arch arm64
|
||||
*****************************************************************************/
|
||||
|
||||
#import <objc/runtime.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#include "include/VirtualizerSDK.h"
|
||||
#include "include/StealthCodeArea.h"
|
||||
|
||||
int SwizzleStealthVar = 0;
|
||||
STEALTH_AUX_FUNCTION
|
||||
|
||||
void SwizzleStealthCodeArea(void) {
|
||||
STEALTH_AREA_START
|
||||
STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK
|
||||
STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK STEALTH_AREA_CHUNK
|
||||
STEALTH_AREA_END
|
||||
}
|
||||
|
||||
__attribute__((used))
|
||||
void ensure_stealth_area_compiled(void) {
|
||||
if (SwizzleStealthVar == 0x11223344) SwizzleStealthCodeArea();
|
||||
}
|
||||
|
||||
static inline void *swizzle_instance_method(const char *cls, const char *sel, void *imp) {
|
||||
Method m = class_getInstanceMethod(objc_getClass(cls), sel_registerName(sel));
|
||||
return method_setImplementation(m, imp);
|
||||
}
|
||||
|
||||
static IMP original_description = NULL;
|
||||
|
||||
id my_description(id self, SEL _cmd) {
|
||||
VIRTUALIZER_START
|
||||
|
||||
VIRTUALIZER_STR_ENCRYPT_START
|
||||
const char *msg = "Swizzled :)";
|
||||
VIRTUALIZER_STR_ENCRYPT_END
|
||||
id result = [NSString stringWithUTF8String:msg];
|
||||
|
||||
VIRTUALIZER_END
|
||||
return result;
|
||||
}
|
||||
|
||||
id my_description_chained(id self, SEL _cmd) {
|
||||
VIRTUALIZER_START
|
||||
|
||||
VIRTUALIZER_STR_ENCRYPT_START
|
||||
const char *log_msg = "[Swizzle] Original: %@";
|
||||
const char *msg = "Swizzled :)";
|
||||
VIRTUALIZER_STR_ENCRYPT_END
|
||||
|
||||
if (original_description)
|
||||
NSLog([NSString stringWithUTF8String:log_msg], ((id(*)(id,SEL))original_description)(self, _cmd));
|
||||
id result = [NSString stringWithUTF8String:msg];
|
||||
|
||||
VIRTUALIZER_END
|
||||
return result;
|
||||
}
|
||||
|
||||
__attribute__((constructor))
|
||||
static void load(void) {
|
||||
VIRTUALIZER_START
|
||||
|
||||
VIRTUALIZER_STR_ENCRYPT_START
|
||||
const char *cls1 = "OriginalClass";
|
||||
const char *sel1 = "original_selector";
|
||||
const char *cls2 = "NSString";
|
||||
const char *sel2 = "description";
|
||||
VIRTUALIZER_STR_ENCRYPT_END
|
||||
|
||||
swizzle_instance_method(cls1, sel1, my_description);
|
||||
original_description = swizzle_instance_method(cls2, sel2, my_description_chained);
|
||||
|
||||
VIRTUALIZER_END
|
||||
}
|
||||
45
src/test_swizzle.m
Normal file
45
src/test_swizzle.m
Normal file
@@ -0,0 +1,45 @@
|
||||
/*****************************************************************************
|
||||
* test_swizzle.m
|
||||
* Description: Test program to demonstrate the method swizzling dylib
|
||||
* Build: gcc -o test_swizzle test_swizzle.m -framework Foundation -arch arm64
|
||||
* Run: ./test_swizzle
|
||||
* Run with dylib: DYLD_INSERT_LIBRARIES=./libswizzle_arm64.dylib ./test_swizzle
|
||||
*****************************************************************************/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface OriginalClass : NSObject
|
||||
- (NSString *)original_selector;
|
||||
@end
|
||||
|
||||
@implementation OriginalClass
|
||||
- (NSString *)original_selector {
|
||||
return @"Original Implementation";
|
||||
}
|
||||
@end
|
||||
|
||||
int main(int argc, const char * argv[]) {
|
||||
@autoreleasepool {
|
||||
OriginalClass *obj = [[OriginalClass alloc] init];
|
||||
NSString *result = [obj original_selector];
|
||||
NSLog(@"Result: %@", result);
|
||||
|
||||
NSString *testString = @"Hello World";
|
||||
|
||||
NSString *description = [testString description];
|
||||
NSLog(@"testString.description: %@", description);
|
||||
|
||||
NSLog(@"Logging string directly: %@", testString);
|
||||
|
||||
NSString *str1 = @"Test1";
|
||||
NSString *str2 = @"Test2";
|
||||
NSLog(@"str1: %@, str2: %@", str1, str2);
|
||||
|
||||
if ([description isEqualToString:@"Swizzled :)"]) {
|
||||
NSLog(@"Swizzling is active!");
|
||||
} else {
|
||||
NSLog(@"Swizzling is NOT active");
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user