Bagaimana cara menambahkan izin root ke beberapa aplikasi sendiri?

11

Apakah ada cara saya sengaja memberikan izin root ke beberapa aplikasi? Tidak secara otomatis melalui SuperSU ketika aplikasi tertentu meminta izin root, tetapi dengan cara memilih aplikasi melalui beberapa alat dan memberikannya izin root.

Misalnya, saya menambahkan aplikasi teks favorit saya ke daftar yang disetujui dan kemudian saya dapat membuka file root melalui aplikasi itu.

AnDroDroo
sumber

Jawaban:

13

Tidak. Anda harus meminta pengembang aplikasi untuk melakukannya.

Pada sistem seperti UNIX, izin dikelola dengan sesuatu yang disebut UID.

Setiap proses memiliki satu dan menentukan apa yang dapat mereka akses. Selain itu, ada juga kelompok yang memiliki izin yang dapat digunakan anggota mereka. Ketika aplikasi memiliki izin seperti Write to SD cardmereka dimasukkan ke dalam grup yang memiliki izin ini.

Izin root adalah pengecualian karena tidak dinyatakan dalam manifes aplikasi, melainkan dalam kodenya. Root juga bukan grup tetapi UID terpisah (karena merupakan pengguna terpisah) sehingga tidak mudah bagi aplikasi untuk menggunakannya. Aplikasi yang memiliki hak root perlu ditulis secara eksplisit untuk melakukannya.

Cara kerjanya adalah setiap kali aplikasi ingin melakukan sesuatu sebagai root, ia harus meminta subiner untuk melakukannya. sukemudian akan menanyakan aplikasi yang mengelola izin ini (misalnya, SuperSU) apakah aplikasi tersebut diizinkan untuk mendapatkan akses root. Jika tidak, itu akan meminta Anda untuk mengizinkan atau menolaknya. Maka tindakan dilakukan sebagai root, bukan sebagai pengguna aplikasi. Tindakan ini bukan merupakan bagian integral dari aplikasi tetapi lebih merupakan eksekusi eksternal.

Meskipun secara teori dimungkinkan untuk menambahkan ini ke aplikasi, ini akan menjadi proses non-sepele yang membutuhkan pengetahuan menulis kode smali, yang merupakan format internal mesin virtual Dalvik (bagian dari sistem yang menjalankan file apk) yang disebut smali. Dan bahkan kemudian, akan ada risiko keamanan yang sangat besar jika aplikasi memungkinkan aplikasi lain untuk mengaksesnya: ia tidak akan tahu bagaimana menjaga akses root istimewa terpisah dari akses normal. Jadi pada kenyataannya ini tidak benar-benar layak.

RR
sumber
1
Bagi mereka yang tidak tahu apa itu smali: Ini adalah dialek perakitan untuk kode mesin virtual dalvik Android dan sering digunakan dalam file dex engineering terbalik. Apa yang mungkin sedikit tidak jelas: Aplikasi harus dengan sendirinya menjadi root secara terprogram. Itu sebabnya pengembang harus memasukkannya. Menambahkannya ke SuperSU tidak membantu selama aplikasi tersebut tidak menggunakan hak akarnya.
ce4
Jadi saya tidak bisa membuka beberapa file teks root melalui editor teks favorit saya jika programmer tidak memberi kode aplikasi untuk menerima pembukaan file root?
AnDroDroo
1
Tepat sekali. Sebagai contoh: jika aplikasi tidak akan memulai dengan root, dan mencoba membuka beberapa "root file", itu hanya akan mendapatkan "izin ditolak" - karena mengakses file masih akan dilakukan dengan aplikasi UID (itu tidak akan meminta izin pengguna super untuk membukanya). Di sisi lain, jika aplikasi mulai menggunakan UID root (yaitu su <app>), itu akan mengakses file root sebagai root, dan dengan demikian mendapatkan izin.
Izzy
Itu sebabnya saya tidak dapat menggunakan beberapa editor teks lain untuk membaca file root :).
AnDroDroo
1
@Izzy AFAIK Anda tidak dapat menjalankan aplikasi Android biasa dengan root UID, atau mengubah UID dari aplikasi yang sedang berjalan. Satu-satunya hal yang dapat Anda lakukan adalah menjalankan program command line dengan su dan karenanya mengeksekusi perintah dengan izin admin.
Robert
1

Saya telah menemukan cara yang dapat membantu Anda. Saya menggunakan ini untuk memberikan akses root ke Tasker .

Jika Anda menggunakan terminal emulator untuk memberikan baca tetapi tidak menulis akses ke folder menggunakan

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

maka editor teks Anda akan dapat membaca direktori itu dan jadi jika Anda kemudian dapat mencoba menyimpan file di folder itu maka ia akan mencoba meminta izin root.

Mungkin juga hanya memberikan kesalahan tulis.

Graeme Evans
sumber
Semua direktori /location/of/folder/dari root ke atas harus dapat dibaca / dilalui. SELinux juga dapat menolak akses. Jadi pendekatan ini jarang praktis.
Irfan Latif