How xxxhaoxxx/czr-hook works
CZR-Hook is an Android Unity game overlay described as a drawing project. Its visible workflow starts when the native library loads, initializes in a background thread, reads Unity/IL2CPP game objects, and draws item information and tracers through ImGui. The excerpts show the IL2CPP lookup layer and xDL’s Android ELF/linker support, but not the full initialization or hook setup; dashed links mark those uncertain runtime connections. The README provides no further feature inventory.
Main entry points: xdl.c ELF loader · main.cpp Game data access · imgui.cpp ImGui rendering · xdl_linker.c Linker access
Components 17
Overlay runtime
- JNI initialization
CZR-Hook/jni/main.cpp - Game data access
CZR-Hook/jni/main.cpp - Item labels
CZR-Hook/jni/main.cpp - World tracers
CZR-Hook/jni/main.cpp - ImGui rendering
CZR-Hook/jni/third_party/imgui/imgui.cpp - Android backend
CZR-Hook/jni/third_party/imgui/backends/imgui_impl_android.cpp - OpenGL backend
CZR-Hook/jni/third_party/imgui/backends/imgui_impl_opengl3.cpp
Unity access
- IL2CPP metadata
CZR-Hook/jni/unity/Il2Cpp.cpp
Native loading
- Hook interface
CZR-Hook/jni/dobby/dobby.h - xDL API
CZR-Hook/jni/unity/xdl/include/xdl.h - ELF loader
CZR-Hook/jni/unity/xdl/xdl.c - Image iteration
CZR-Hook/jni/unity/xdl/xdl_iterate.c - Linker access
CZR-Hook/jni/unity/xdl/xdl_linker.c - LZMA support
CZR-Hook/jni/unity/xdl/xdl_lzma.c - Loader utilities
CZR-Hook/jni/unity/xdl/xdl_util.c
Other components
- Android runtime
- Unity game
Connections 19
- Android runtime → JNI initialization: loads library
- JNI initialization → Game data access: starts initialization
CZR-Hook/jni/main.cpp - Game data access → IL2CPP metadata: looks up methods
CZR-Hook/jni/main.cpp - Game data access → Unity game: reads game state
- Item labels → ImGui rendering: draws labels
CZR-Hook/jni/main.cpp - World tracers → ImGui rendering: draws tracers
CZR-Hook/jni/main.cpp - World tracers → Game data access: uses item positions
CZR-Hook/jni/main.cpp - Android backend → ImGui rendering: provides platform input
- OpenGL backend → ImGui rendering: renders draw data
- JNI initialization → Hook interface: uses hook API
CZR-Hook/jni/main.cpp - IL2CPP metadata → xDL API: uses loader API
CZR-Hook/jni/unity/Il2Cpp.cpp - ELF loader → xDL API: implements API
CZR-Hook/jni/unity/xdl/xdl.c - ELF loader → Image iteration: uses iteration
CZR-Hook/jni/unity/xdl/xdl.c - ELF loader → Linker access: uses linker helpers
CZR-Hook/jni/unity/xdl/xdl.c - ELF loader → LZMA support: uses decompression
CZR-Hook/jni/unity/xdl/xdl.c - ELF loader → Loader utilities: uses utilities
CZR-Hook/jni/unity/xdl/xdl.c - Image iteration → Loader utilities: uses utilities
CZR-Hook/jni/unity/xdl/xdl_iterate.c - Linker access → Image iteration: enumerates images
CZR-Hook/jni/unity/xdl/xdl_linker.c - Linker access → Loader utilities: uses utilities
CZR-Hook/jni/unity/xdl/xdl_linker.c