Problem description:
I need to get droidmon working on a specific android image with predefined parameters. Xposed framework shows an error on installation, that it requires root access.
Environment:
Google Android Emulator running a custom rooted Android 4.4.2 x86 image with kernel version 3.4.67+ (but i have the same problem with 3.10+) Used parameters (+ extra params that have nothing to do with android itslef):
- -avd
- -kernel
- -ramdisk
- -no-cache
- -selinux permissive
- -no-snapstorage
- -verbose
- -show-kernel
SDK-Tools-Version: 25.2.2
SDK-Platform-Tools: 24.0.3
Android is configured to allow unkown sources for apks
Already tried:
- Remounting /system RW
- Using -selinux disabled (xposed however requires -selinux permissive)
- Extracting the update-binary from xposed and run the script with su
Current Status:
If i try installing Xposed i get the following log messages from the emulator:
[ 355.372965] type=1400 audit(1477138733.355:23): avc: denied { execute } for pid=2796 comm="posed.installer" name="app_process" dev="mtdblock1" ino=7847 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:app_data_file:s0 tclass=file permissive=1
[ 355.372984] type=1400 audit(1477138733.355:24): avc: denied { execute_no_trans } for pid=2796 comm="posed.installer" path="/data/data/de.robv.android.xposed.installer/cache/app_process" dev="mtdblock1" ino=7847 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:app_data_file:s0 tclass=file permissive=1
[ 355.440354] type=1400 audit(1477138733.415:25): avc: denied { read } for pid=2769 comm="posed.installer" name="app_process" dev="mtdblock0" ino=96 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:zygote_exec:s0 tclass=file permissive=1
[ 355.440410] type=1400 audit(1477138733.415:26): avc: denied { open } for pid=2769 comm="posed.installer" name="app_process" dev="mtdblock0" ino=96 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:zygote_exec:s0 tclass=file permissive=1
[ 355.440450] type=1400 audit(1477138733.415:27): avc: denied { getattr } for pid=2769 comm="posed.installer" path="/system/bin/app_process" dev="mtdblock0" ino=96 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:zygote_exec:s0 tclass=file permissive=1
[ 365.476143] type=1400 audit(1477138743.455:28): avc: denied { execute } for pid=2805 comm="Thread-110" name="su" dev="mtdblock0" ino=972 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:su_exec:s0 tclass=file permissive=1
[ 365.476280] type=1400 audit(1477138743.455:29): avc: denied { read open } for pid=2805 comm="Thread-110" name="su" dev="mtdblock0" ino=972 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:su_exec:s0 tclass=file permissive=1
[ 365.476371] type=1400 audit(1477138743.455:30): avc: denied { execute_no_trans } for pid=2805 comm="Thread-110" path="/system/xbin/su" dev="mtdblock0" ino=972 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:su_exec:s0 tclass=file permissive=1
Status-Update:
As i know for now, the image was not rooted properly. I rerooted the Image using the packaged su binary from SuperSU-2.78. I manipulated the system.img by mounting it to a folder on my linux machine and added su and daemonsu (basically su copied and renamed) to /system/xbin/ and changed permissions to 6755 for both files. Additionally for now i added 2 lines to the end of /etc/init.goldfish.sh
#remount /system rw
mount -o rw,remount /system
#start daemonsu as auto-daemon
/system/xbin/daemonsu --auto-daemon
After installing both Superuser.apk from SuperSU and a suitable Xposed-Version, Xposed initially installs but after reboot it leads to segfaults in libdvm.so