SO2Socket is a native C++ module targeting Android environments, designed to extend Unity-based mobile game functionality via memory patching, runtime hooking, encrypted communication, and real-time ESP overlays. Built using a combination of KittyMemory, Dobby, xhook, xdl, and custom vector/memory manipulation routines, the project leverages JNI and IL2CPP internals for seamless in-process enhancements.
- ESP Overlay Engine – Detects player positions and renders on-screen overlays via direct framebuffer coordinate projection.
- Aimbot Core – Computes directional vectors using quaternion to Euler conversion, targeting the closest valid enemy object.
- Obfuscated Execution – OLLVM optimized, String encryption, function splitting, and annotation-based obfuscation strategies.
- Memory Manipulation – Runtime memory patching through
KittyMemory, including instruction patching, NOP injection, and dynamic hook registration. - Encrypted UDP Data Streaming – ESP state is serialized with RapidJSON, XOR-encrypted, and transmitted over UDP sockets.
- Custom IL2CPP Resolver – Full method/class/field resolution using IL2CPP runtime metadata.
- Modular Weapon and Inventory Enhancer – Add all skins/items conditionally from JSON or defaults via dynamic dictionary injection.
+--------------------+
| JNI Entry (JavaVM) |
+---------+----------+
|
v
(maybe?)
+-----------------------------+
| Native Thread Initialization|
+-----------------------------+
|
v
+------------------------+
| Unity Runtime Resolver |
+------------------------+
|
v
+---------------------------+
| Game Object Manipulation |
+---------------------------+
|
v
+------------------------------+
| ESP/Aimbot/Inventory Modules |
+------------------------------+
|
v
+----------------------+
| UDP Socket Encrypted |
+----------------------+
- Android NDK (C++17)
- KittyMemory
- Dobby
- xhook
- xdl
- RapidJSON
- Custom headers for Unity structs (
Vector3,Quaternion, etc.) - IL2CPP runtime symbols
# Ensure Android NDK environment is set
Build with Android Studio (NDK r24 recommended)- Inject compiled
.sointo Unity game process using a loader or Zygisk module. - Confirm
UnityandIL2CPPlibraries are loaded. - Initialize hooks, ESP manager, and worker threads.
- Launch your ESP listener on UDP port
19133.
- All strings are statically obfuscated (
OBFUSCATEmacro). - Heavy use of C++ template-based junk code (
Bloat<N>) and infinite recursion traps (recurseForever) as anti-analysis. - Hardcoded integrity and tamper checks via
checkc()function. - Uses system properties and
/system/etc/hostscontents to identify "debug" environments.
This project is proprietary and for educational and research use only. illegal use, redistribution and commercial usage is strictly prohibited.