O que exatamente é superuser.apk e su?

Eu li muito sobre o enraizamento de dispositivos Android. 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 parecem ser arquivos oficiais do Google, mas sim arquivos criados por um indivíduo (aleatório). Dito isso, até que ponto esses arquivos são seguros?

Pelas pesquisas, tenho uma compreensão geral de sua finalidade . Gostaria de saber se alguém sabia o que eram esses arquivos (executáveis? Scripts?), O que eles continham e como geralmente funcionam.

Obrigado!

Comentários

Resposta

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

O superusuário é um aplicativo Android (.apk é um pacote de aplicativo Android). Funciona como uma classificação de “gatekeeper” para o binário su. Os aplicativos que tentam invocar su serão forçados a rotear através do Superusuário, que então solicitará o usuário se for um aplicativo novo ou desconhecido. O usuário então tem a opção de aprovar ou negar o acesso a su e, opcionalmente, fazer com que o Superusuário se lembre de sua decisão para que possa aplicá-la automaticamente nos próximos chamadas 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ão disponíveis no Github e podem ser examinados / auditados por qualquer pessoa que deseje vê-los (Superusuário aqui , su aqui ).

Você pode encontrar mais detalhes – bem como changelogs – no site do Superusuário .

Outras perguntas relacionadas aos entusiastas do Android:

Comentários

  • Eu realmente aprecio a resposta detalhada e os links! Obrigado!
  • Existem alternativas / equivalentes a esses arquivos para fins de root no Android?
  • @kaspnord: Não, su é o mesmo arquivo usado para outros sistemas operacionais linux / unix, e não há ' qualquer alternativa para isso, mas pode haver para superuser.apk. Por que você quer uma alternativa?
  • Eu ' estou apenas curioso porque esses arquivos, embora abençoados pela comunidade de código aberto, don ' t parecem ter um padrão de qualquer tipo (ou seja, não oficialmente 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 em meu dispositivo, em vez de confiar em soluções de outras pessoas, onde não posso saber com 100% de confiança o que os arquivos contêm.

Resposta

O código-fonte do superusuário está disponível no github, o autor principal 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 primeira encarnação do aplicativo Superusuário, muitas coisas mudaram desde então e parte do que foi escrito não está mais correto para a implementação moderna de superusuário / su, mas o básico ainda deve ser o mesmo.

Ambos su e Superusuário podem certamente ser substituídos por alternativas, mas não faria tanto quanto a facilidade que o su usa (isto é, chamadas de sistema exec () e setuid ()) está disponível para quaisquer executáveis, dado que o executável tinha os bits de permissão apropriados (isto é, o bit setuid é definido como root) .No núcleo, su é um programa muito simples, ele apenas gera um processo como outro usuário; a verificação de segurança real é feita pelo kernel.

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

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *