{"repo":"cinit/LibcoreSyscall","free":true,"listed":false,"github":"https://github.com/cinit/LibcoreSyscall","clone":"git clone https://github.com/cinit/LibcoreSyscall.git","description":"A library for loading ELF from memory and/or making Linux syscalls on Android written in pure Java.","language":"Java","stars":216,"topics":["android-library","libart","linux-syscall","android","syscall","elf-loader","in-memory-execution","jni","jni-android","xposed"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Libcore-Syscall-ElfLoader Libcore-Syscall-ElfLoader is a pure Java library for Android that allows you to make any Linux system calls and/or load any in-memory ELF shared objects (lib .so) without a writable path/mount point. Features - Support Android 5.0 - 15 - Support any system calls (as long as they are permitted by the seccomp filter) - Support loading in-memory ELF shared objects (lib .so) without a file - Support arm/arm64/x86/x86 64/riscv64 architectures - Implemented in 100% pure Java 1.8 - No shared libraries (lib .so) or assets files are shipped with the library (whole library as a single dex file version 035) - No System.loadLibrary or System.load is used - Support passive JNI registration (e.g. Java com example test app TestNativeLoader nativeMethod ) - No temporary files are created on the disk (does not require a writable path/mount point) - No blocklisted hidden APIs are used - Small, no dependencies (less than 100 KiB) Usage The library provides the following classes: - MemoryAccess / MemoryAllocator: Allocate and read/write native memory. - NativeAccess: Register JNI methods, or call native functions (such as dlopen , dlsym , etc.) directly. - Syscall: Make any Linux system calls. - DlExtLibraryLoader: Load any ELF shared objects (lib .so) directly from memory. - NativeRegistrationHelper: Helper class to register native methods for the native library. Examples Here are some examples of possible use cases. Load ELF Shared Object from Memory Here is an exampl","default_branch":null,"files":null,"tree":[],"storefront":"/r/cinit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cinit/LibcoreSyscall/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}