root trong Linux (hoặc bất kỳ hệ thống nào giống Unix) chỉ là người dùng có ID người dùng 0. Chương trình su (thực sự là viết tắt của "Switch User", không phải "Super User") chỉ là một chương trình để khởi động một chương trình khác với một chương trình khác ID người dùng hơn chương trình bắt đầu (theo mặc định là uid 0, nghĩa là người dùng root). Android không sử dụng truyền thống / etc / passwd, tuy nhiên, nó vẫn sử dụng ID người dùng Linux và ID nhóm để quản lý quyền.
Nếu bạn muốn chặn các yêu cầu su để bạn có thể yêu cầu mật khẩu hoặc thực thi các quy tắc khác, bạn sẽ cần thay thế / sbin / su bằng phiên bản su của riêng bạn. Cách tiếp cận khác là cách được mô tả ở đây: http://www.koushikdutta.com/2008/11/fixing-su-security-hole-on-modified.html mặc dù điều đó sẽ yêu cầu các ứng dụng hợp tác bằng cách bắn Intent khi họ muốn chuyển người dùng.
Khung bảo mật Android ít nhiều giống như thế này: mỗi ứng dụng được cài đặt chạy trên ID người dùng riêng (được chọn tại thời điểm cài đặt) và quyền của ứng dụng được triển khai theo nhóm người dùng.
Tôi có thể thay đổi mật khẩu root sau khi root thiết bị Android của mình bằng cách gõ "passwd" không?
Android không sử dụng / etc / passwd nên cũng không có passwd
chương trình.
quá trình root hoạt động như thế nào? ý tôi là các ứng dụng "một lần nhấp chuột" đang làm gì với điện thoại của tôi?
Tôi không chắc chắn với chính quy trình chính xác, có lẽ bạn muốn yêu cầu các nhà phát triển root. Tuy nhiên, tôi đoán là nó chỉ hoàn nguyên kiểm tra bảo mật ban đầu ngăn nhà phát triển setuid 0.
Và tôi là một nhà phát triển, vậy làm cách nào tôi có thể tìm thấy các API ẩn (như iOS) để phát triển ứng dụng gốc?
Vì Android là mã nguồn mở, không có API thực sự ẩn trong Android. Tuy nhiên, có một số API không được công bố hoặc không có giấy tờ, bạn có thể duyệt tìm mã này trong mã nguồn của Android . Tuy nhiên, các API này không phải là về sự phát triển gốc, chúng thường là các API đang phát triển chưa sẵn sàng hoặc quá cục bộ cho mục đích cụ thể không hữu ích cho nhà phát triển công cộng (hoặc có lẽ Google vẫn chưa nhận ra tính hữu dụng của chúng) . Bạn không bị hạn chế sử dụng các API này, nhưng vì đây không phải là các API được hỗ trợ chính thức, nên chúng có thể biến mất hoặc phá vỡ tính tương thích ngược trong tương lai. Nếu bạn cần sử dụng các API này, hãy đảm bảo ứng dụng của bạn bị hỏng một cách duyên dáng.