4

問題の説明:

事前定義されたパラメーターを使用して、特定の Android イメージで droidmon を動作させる必要があります。Xposed フレームワークは、インストール時に root アクセスが必要であるというエラーを表示します。

環境:

カーネルバージョン3.4.67+でカスタムルート化されたAndroid 4.4.2 x86イメージを実行しているGoogle Android Emulator(ただし、3.10以降でも同じ問題があります)

  • -avd
  • -カーネル
  • -ラムディスク
  • -キャッシュなし
  • -selinux 寛容
  • -no-snapstorage
  • -詳細
  • -ショーカーネル

SDK-ツール-バージョン: 25.2.2

SDK-プラットフォーム-ツール: 24.0.3

Android は、apk の不明なソースを許可するように構成されています

すでに試しました:

  1. /system RW の再マウント
  2. -selinux の使用が無効になっています (xposed ただし、-selinux permissive が必要です)。
  3. xposed から update-binary を抽出し、su でスクリプトを実行する

現在のステータス:

Xposed をインストールしようとすると、エミュレーターから次のログ メッセージが表示されます。

[  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

ステータスアップデート:

私が今知っているように、イメージは適切にルート化されていませんでした。SuperSU-2.78 のパッケージ化された su バイナリを使用してイメージを再ルートしました。system.img を Linux マシンのフォルダーにマウントして操作し、su と daemonsu (基本的に su をコピーして名前を変更) を /system/xbin/ に追加し、両方のファイルのアクセス許可を 6755 に変更しました。さらに、今のところ、/etc/init.goldfish.sh の最後に 2 行追加しました。

#remount /system rw
mount -o rw,remount /system

#start daemonsu as auto-daemon
/system/xbin/daemonsu --auto-daemon

SuperSU の Superuser.apk と適切な Xposed-Version の両方をインストールした後、Xposed は最初にインストールされますが、再起動後に libdvm.so で segfaults が発生します。

4

1 に答える 1