Điều nổi tiếng là mọi ứng dụng Android đều là người dùng của riêng họ. Tôi đã cài đặt Trình mô phỏng thiết bị đầu cuối Android với tư cách là người dùng u0_a5 .
u0_a5 @ android: / $ whoami u0_a5 u0_a5 @ android: / $ nhóm u0_a5 sdcard_rw sdcard_r inet all_a5
Theo adb, mọi nỗ lực sử dụng lệnh su để đăng nhập như Trình mô phỏng thiết bị đầu cuối Android chỉ thành công một phần. Như phiên adb sau đây cho thấy, các nhóm quyền mà Trình mô phỏng đầu cuối Android thuộc về không được kế thừa, ngoại trừ nhóm u0_a5 người dùng mặc định .
root @ android: / # su - u0_a5 Id không xác định: u0_a5 1 | root @ android: / # su - 10005 app_5 @ android: / $ whoami u0_a5 app_5 @ android: / $ nhóm u0_a5
Là người dùng 10005, tôi có thể xóa các tệp do người dùng u0_a5 sở hữu . Nhưng tôi không thể thực thi các lệnh yêu cầu quyền đặc biệt của Android, chẳng hạn như "giao thức busybox wget: //some.uri", yêu cầu một ứng dụng thuộc nhóm inet .
Vậy có cách nào để mạo danh và chạy một ứng dụng trong môi trường quyền cụ thể của nó không? Hoặc là chạy với quyền đầy đủ quyền lựa chọn duy nhất (không) của tôi?