혼자서 일부 앱에 루트 권한을 추가하는 방법은 무엇입니까?


11

일부 앱에 의도적으로 루트 권한을 부여하는 방법이 있습니까? 특정 앱이 루트 권한을 요청할 때 SuperSU를 통해 자동으로되지는 않지만 일부 도구를 통해 앱을 선택하고 루트 권한을 부여하는 방법입니다.

예를 들어, 선호하는 텍스트 앱을 승인 된 목록에 추가 한 다음 해당 앱을 통해 루트 파일을 열 수 있습니다.

답변:


13

아니요. 앱 개발자에게 요청해야합니다.

UNIX와 같은 시스템에서 권한은 UID라고하는 것으로 관리됩니다.

모든 프로세스에는 하나가 있으며 액세스 할 수있는 대상을 지정합니다. 또한 회원이 사용할 수있는 권한이있는 그룹도 있습니다. 앱 Write to SD card에이 권한이있는 그룹에 배치 된 것과 같은 권한이있는 경우

루트 권한은 앱의 매니페스트에서 선언되지 않고 코드에서 선언되므로 예외입니다. 루트는 그룹이 아니라 별도의 UID이므로 (별도의 사용자이므로) 앱에서 사용하기가 쉽지 않습니다. 루트 권한이있는 앱은 명시 적으로 작성해야합니다.

이것이 작동하는 방식은 앱이 루트로 무언가를 원할 때마다 su바이너리를 대신 요청 해야합니다. su그런 다음 이러한 권한을 관리하는 앱 (예 : SuperSU)에 앱이 루트 액세스 권한을 부여 할 수 있는지 묻습니다. 그렇지 않은 경우 허용 또는 거부하라는 메시지가 표시됩니다. 그런 다음 작업은 root앱 사용자가 아닌으로 수행됩니다 . 이러한 작업은 앱의 필수 부분이 아니라 외부 실행 파일입니다.

이론적으로 이것을 앱에 추가하는 것이 가능하지만 이것은 Dalvik 가상 머신 (apk 파일을 실행하는 시스템의 일부) 인 Smali 코드 작성에 대한 지식이 필요한 사소한 프로세스 일 것입니다. smali. 그럼에도 불구하고 앱이 다른 앱의 액세스를 허용하면 보안상의 위험이 커집니다. 권한있는 루트 액세스를 일반 액세스와 분리하는 방법을 모를 것입니다. 따라서 실제로 이것은 실제로 실현 가능하지 않습니다.


1
smali가 무엇인지 모르는 사람들을 위해 : Android의 dalvik 가상 머신 코드에 대한 어셈블리 언어이며 리버스 엔지니어링 덱스 파일에 자주 사용됩니다. 조금 불분명 할 수있는 것 : 응용 프로그램 자체 프로그래밍 방식으로 루트 가되도록주의해야합니다 . 이것이 개발자가 포함시켜야하는 이유입니다. 앱이 루트 권한을 행사하지 않는 한 SuperSU에 추가해도 도움이되지 않습니다.
ce4

프로그래머가 루트 파일 열기를 허용하도록 앱을 코딩하지 않은 경우 좋아하는 텍스트 편집기를 통해 루트 텍스트 파일을 열 수 없습니까?
AnDroDroo

1
절대적으로 맞습니다. 예를 들어 앱을 루트로 시작하지 않고 "루트 파일"을 열려고하면 파일에 대한 액세스가 여전히 앱 UID로 수행되므로 "권한이 거부 됨"이됩니다. 것 없는 슈퍼 유저 권한을 열 때까지) 부탁드립니다. 반면에 루트 UID (예 :)를 사용하여 앱을 시작하면 su <app>해당 루트 파일에 루트로 액세스하여 권한이 부여됩니다.
Izzy

그래서 다른 텍스트 편집기를 사용하여 루트 파일을 읽을 수 없었습니다. :).
AnDroDroo

1
@Izzy AFAIK에서는 루트 UID를 사용하여 일반 Android 앱을 실행하거나 실행중인 앱의 UID를 변경할 수 없습니다. su로 명령 줄 프로그램을 실행하고 관리자 권한으로 명령을 실행하면됩니다.
Robert

1

도움이 될만한 방법을 찾았습니다. 이것을 사용하여 Tasker에 루트 액세스 권한을 부여했습니다 .

터미널 에뮬레이터를 사용하여 다음을 사용하여 폴더에 대한 읽기 액세스 권한을 부여하지만

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

그러면 텍스트 편집기에서 해당 디렉토리를 읽을 수 있으므로 폴더에 파일을 저장하려고하면 루트 권한을 요청하려고합니다.

쓰기 오류가 발생할 수도 있습니다.


/location/of/folder/루트에서 최상위까지의 모든 디렉토리는 읽기 / 이동 가능해야합니다. 또한 SELinux는 액세스를 거부 할 수 있습니다. 따라서이 방법은 거의 실용적이지 않습니다.
Irfan Latif
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.