Push demo

This commit is contained in:
√(noham)²
2026-03-01 11:36:41 +01:00
commit 569167ca19
16 changed files with 6089 additions and 0 deletions

56
README.md Normal file
View 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.
![demo_restrictions.png](demo_restrictions.png)
### 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
![docs/options_VM.png](docs/options_VM.png)
![docs/p.png](docs/p.png)
![docs/ran.png](docs/ran.png)
See [docs/logs.logs](docs/logs.logs) for available features applied to the demo.