Làm thế nào để thêm quyền root cho một số ứng dụng một mình?


11

Có cách nào mà tôi cố ý cấp quyền root cho một số ứng dụng không? Không tự động thông qua SuperSU khi một ứng dụng cụ thể yêu cầu quyền root, nhưng theo cách để chọn một ứng dụng thông qua một số công cụ và cấp quyền root.

Ví dụ: tôi thêm ứng dụng văn bản yêu thích của mình vào danh sách được phê duyệt và sau đó tôi có thể mở tệp gốc thông qua ứng dụng đó.

Câu trả lời:


13

Không. Bạn nên yêu cầu nhà phát triển ứng dụng làm như vậy.

Trên UNIX giống như các hệ thống, các quyền được quản lý bằng một thứ gọi là UID.

Mỗi quá trình có một và nó chỉ ra những gì họ có thể truy cập. Hơn nữa, cũng có những nhóm có sự cho phép mà các thành viên của họ có thể sử dụng. Khi một ứng dụng có quyền như Write to SD cardhọ được đưa vào một nhóm có quyền này.

Các quyền gốc là một ngoại lệ vì chúng không được khai báo trong tệp kê khai của ứng dụng, mà là trong mã của nó. Root cũng không phải là một nhóm mà là một UID riêng (vì nó là một người dùng riêng) nên ứng dụng không dễ sử dụng. Các ứng dụng có quyền root cần được viết rõ ràng để làm như vậy.

Cách thức hoạt động này là mỗi khi một ứng dụng muốn làm một cái gì đó như root, nó phải yêu cầu sunhị phân thực hiện thay thế. susau đó sẽ hỏi ứng dụng quản lý các quyền này (ví dụ: SuperSU) xem ứng dụng có được phép truy cập root hay không. Nếu không, nó sẽ nhắc bạn cho phép hoặc từ chối. Sau đó, hành động được thực hiện như root, không phải là người dùng ứng dụng. Những hành động này không phải là một phần không thể thiếu của ứng dụng mà là một thực thi bên ngoài.

Về mặt lý thuyết có thể thêm nó vào một ứng dụng, đây sẽ là một quá trình không tầm thường đòi hỏi kiến ​​thức về viết mã smali, là định dạng bên trong của máy ảo Dalvik (một phần của hệ thống chạy tệp apk) được gọi là smali. Và thậm chí sau đó, sẽ có một rủi ro bảo mật rất lớn nếu ứng dụng cho phép các ứng dụng khác truy cập vào ứng dụng đó: nó sẽ không biết cách giữ quyền truy cập root đặc quyền tách biệt với quyền truy cập thông thường. Vì vậy, trong thực tế điều này không thực sự khả thi.


1
Đối với những người không biết smali là gì: Đó là phương ngữ lắp ráp cho mã máy ảo dalvik của Android và thường được sử dụng trong các tệp dex kỹ thuật đảo ngược. Điều có thể không rõ ràng một chút: Ứng dụng phải tự chăm sóc để trở thành root theo lập trình. Đó là lý do tại sao nhà phát triển phải đưa nó vào. Thêm nó vào SuperSU không giúp ích gì miễn là ứng dụng không thực hiện quyền root của nó.
ce4

Vì vậy, tôi không thể mở một số tệp văn bản gốc thông qua trình soạn thảo văn bản yêu thích của mình nếu các lập trình viên không mã hóa ứng dụng để chấp nhận mở tệp gốc?
AnDroDroo

1
Chuẩn xác. Để đưa ra một ví dụ: nếu ứng dụng sẽ không được khởi động bằng root và cố gắng mở một số "tệp gốc", thì đơn giản là nó sẽ bị "từ chối quyền" - vì việc truy cập tệp vẫn sẽ được thực hiện với UID của ứng dụng (nó sẽ không yêu cầu quyền superuser để mở nó). Mặt khác, nếu ứng dụng được bắt đầu sử dụng UID gốc (nghĩa là su <app>), nó sẽ truy cập tệp gốc đó dưới dạng root và do đó có được sự cho phép.
Izzy

Đó là lý do tại sao tôi không thể sử dụng một số trình soạn thảo văn bản khác để đọc tệp gốc :).
AnDroDroo

1
@Izzy AFAIK bạn không thể thực thi ứng dụng Android thông thường bằng UID gốc hoặc thay đổi UID của ứng dụng đang chạy. Điều duy nhất bạn có thể làm là thực thi các chương trình dòng lệnh bằng su và do đó thực thi các lệnh với quyền quản trị.
Robert

2

Tôi đã tìm thấy một cách có thể giúp bạn. Tôi đã sử dụng điều này để cấp quyền truy cập root cho Tasker .

Nếu bạn sử dụng trình giả lập thiết bị đầu cuối để cấp quyền đọc nhưng không ghi quyền truy cập vào thư mục bằng

  • su
  • chmod 775 /location/of/folder/

sau đó trình soạn thảo văn bản của bạn sẽ có thể đọc thư mục đó và vì vậy nếu bạn có thể cố gắng lưu một tệp trong thư mục thì nó sẽ cố gắng yêu cầu quyền root.

Nó cũng có thể chỉ đưa ra một lỗi viết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.