O que exatamente é superuser.apk e su?

32

Eu li bastante sobre o enraizamento de dispositivos Android. Eu realmente quero saber exatamente o que está acontecendo em cada etapa antes de me comprometer com o processo.

Estou um pouco confuso sobre a origem dos arquivos superuser.apk e su. Não parece que sejam arquivos oficiais do Google, mas arquivos criados por um indivíduo (aleatório). Dito isto, quão seguros são esses arquivos?

A partir de pesquisas, tenho uma compreensão geral de seus propósitos. Fiquei me perguntando se alguém sabia o que eram esses arquivos (executáveis? Scripts?), O que eles continham e como geralmente funcionam.

Obrigado!

kaspnord
fonte
Relacionado: Como o Magisk funciona?
Irfan Latif 01/07

Respostas:

32

su(abreviação de Switch User) é um executável binário. É usado pelo Android e outros sistemas baseados em * nix para permitir que um processo altere a conta de usuário à qual está associado. A razão pela qual é importante do ponto de vista sudo root é que, sem outros parâmetros, o usuário raiz mudará, o que significa que os processos que requerem permissão root para sua funcionalidade precisam ser chamados su(já que, por padrão, eles não estão sendo executados pelo root).

Superusuário é um aplicativo Android (.apk é um pacote de aplicativos Android). Funciona como uma espécie de "gatekeeper" para o subinário. Os aplicativos que tentarem invocar suserão forçados a rotear através do Superusuário, que solicitará ao usuário se é um aplicativo desconhecido ou novo. O usuário tem a opção de aprovar ou negar o acesso sue, opcionalmente, fazer com que o Superusuário lembre de sua decisão, para que possa aplicá-lo automaticamente a chamadas subseqüentes por esse aplicativo. Ao fazer isso, os únicos aplicativos que recebem permissões de root são aqueles que o usuário escolhe.

A fonte de ambos os aplicativos está disponível no Github e pode ser examinada / auditada por qualquer pessoa que deseje vê-lo (Superusuário aqui , su aqui ).

Você pode encontrar mais detalhes - bem como registros de alterações - no site da Superuser .

Outras perguntas relacionadas aos entusiastas do Android:

eldarerathis
fonte
1
Eu realmente aprecio a resposta detalhada e os links! Obrigado!
kaspnord
1
Existem alternativas / equivalentes a esses arquivos para fins de root do Android?
kaspnord
1
@kaspnord: Não, sué o mesmo arquivo usado para outros sistemas operacionais Linux / unix, e não há alternativas para isso, mas pode haver para superuser.apk. Por que você quer uma alternativa?
Kyrias
3
Estou curioso, já que esses arquivos, embora abençoados pela comunidade de código aberto, não parecem ter nenhum tipo de padrão (ou seja, não oficialmente o Google). Então, isso me leva a pensar que é possível que outras pessoas criem outras variantes dos mesmos arquivos. Para mim, pessoalmente, quero saber exatamente o que estou usando e colocando no meu dispositivo, em vez de confiar em soluções de outras pessoas em que não posso saber com 100% de confiança o que os arquivos contêm.
kaspnord
11

O código fonte do Superusuário está disponível no github, o principal autor do superusuário é Adam Shanks ( ChainsDD ) e Koushik Dutta ( koush , também autor de Clockwork Recovery).

Koushik Dutta explicou em seu blog como o Superuser.apk funciona ; observe que a postagem é da versão mais antiga do aplicativo Superusuário, muitas coisas mudaram desde então e parte do que foi escrito não está mais correta para a implementação moderna de superusuário / su, mas o básico ainda deve ser o mesmo.

O su e o Superusuário certamente podem ser substituídos por alternativas, mas isso não faria muito, já que o recurso que o su usa (por exemplo, chamadas de sistema exec () e setuid ()) está disponível para qualquer executável, uma vez que o executável tinha o bits de permissão (ou seja, o bit setuid está definido como root). No fundo, su é um programa muito simples, apenas gera um processo como outro usuário; a verificação de segurança real é feita pelo kernel.

Portanto, desde que você obtenha o aplicativo su e superusuário oficial, não modificado, e eles sejam instalados corretamente com a permissão adequada, você não precisa se preocupar, eles são de código aberto e seguro, é possível verificar a fonte codifique-se no github. No entanto, é certamente possível obter um superusuário / su binário trojaned, portanto, certifique-se de que onde quer que você esteja obtendo seu superusuário / su binário seja confiável (ou compile su / superusuário você mesmo se for realmente paranóico).

Lie Ryan
fonte