jdexorg/jrunas
GitHub: jdexorg/jrunas
jrunas 是一个不受 app-debuggable 检查限制的 Android run-as 实现,允许在已 root 设备上以任意已安装应用的权限上下文执行命令。
Stars: 0 | Forks: 0
# jrunas
一个不受 app-debuggable 能力检查限制的 `run-as` 实现 —— 可以在已 root 的设备上,以任意已安装应用的 uid / SELinux / 数据目录上下文执行命令。(其用途等同于 JEB 的 `ranod`。)
## 构建
需要 Android NDK 和 CMake。
```
export NDK=/path/to/android-ndk
for ABI in arm64-v8a armeabi-v7a x86_64 x86; do
cmake -S . -B build/$ABI \
-DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=$ABI -DANDROID_PLATFORM=android-24
cmake --build build/$ABI -j
done
```
编译出的二进制文件位于 `build//jrunas`。
## 用法
在已 root 的设备上,`jrunas` 以 root 权限启动:
```
adb push build/arm64-v8a/jrunas /data/local/tmp/jrunas
adb shell su -c '/data/local/tmp/jrunas [--user ] [ []]'
```
## 主机测试
`packages.list` 解析器包含主机单元测试:
```
c++ -std=c++17 -I. tests/test_packages_list.cpp packages_list.cpp -o /tmp/jrunas_test_pl
/tmp/jrunas_test_pl
```
标签:Android, Bash脚本, DSL, Root, UML, 提权, 系统工具