Android - 일반 기기와 루팅된 기기의 권한 차이는 무엇인가요?

Android - 일반 기기와 루팅된 기기의 권한 차이는 무엇인가요?

나는 두 개의 안드로이드 폰을 가지고 있는데 하나는 루팅되지 않았고 다른 하나는 루팅되지 않았습니다. 두 전화기에 루트 권한을 요청하지 않고 다음 코드를 실행하면,

system("echo \"abc\" > /data/a.txt\n");

루팅된 전화에서 오류-2(512)가 반환됩니다. 일반 전화기는 오류-1(256, 권한 거부됨)을 반환합니다. 그래서 내 질문은 무엇이 이러한 차이를 만드는가 하는 것입니다.

답변1

적어도 내 데스크톱 Linux 시스템에서는 errno 2가 입니다 ENOENT. 즉, 해당 파일이나 디렉터리가 없습니다. 명령 을 사용하여 알아낼 수 있습니다 errno(전화에는 해당 명령이 없을 수도 있음).

이는 해당 전화기에 /data가 없다는 의미일 수 있습니다(이상할 것입니다). 내 루팅된 휴대폰(Galaxy Nexus, 재고 Jelly Jean 4.2.2 실행)에서 쉘(C 프로그램이 아닌 것처럼)에서 시도하면 권한이 거부됩니다.

나는 ls -ld /data시작하고 which echo거기에 뭔가 다른 것이 있는지 확인하는 것이 좋습니다. 아니면 쉘이 없을 수도 있습니다. 작동 합니까 system("true")?

관련 정보