Removendo a criptografia da recuperação


10

Estou executando o CyanogenMod 12 todas as noites no meu G900T (klte). Tudo funciona muito bem, exceto a senha de criptografia padrão, que faz com que meu telefone seja inicializado.

Formatei dados e redefinii as /dataconfigurações de fábrica, mas ainda é criptografado e aparece como /dev/dm-0.

Existe um comando que eu possa fazer para remover a criptografia? Não me importo com os dados, quero que tudo acabe. Eu só quero voltar a ter /datae o armazenamento interno sendo armazenado em texto sem formatação no disco para poder inicializar no CyanogenMod.

Como posso usar adb shellpara remover a criptografia nessas partições?


Qual recuperação você piscou?
— perfil completo de Jordy

11
Projeto de recuperação de vitórias em equipe (TWRP)
— Naftuli Kay

Eu li aqui que você pode se livrar da criptografia exibindo uma nova ROM, sem saber se isso funciona no seu caso, mas vale a pena tentar.
— perfil completo de Jordy

Não funcionou. Estou tentando manualmente dd if=/dev/zeroe, em seguida, formate a partição de dados.
— Naftuli Kay

Respostas:


12

A resposta para mim envolveu várias coisas, mas acho que uma é realmente a chave.

Use o comando "recovery", mano

Isso usa o programa do CyanogenMod / AOSP recoverypara limpar os dados do usuário e desativar a criptografia. (encontrado nesta resposta no Stack Overflow ) Inicialize na sua recuperação e, a partir do seu computador, execute

adb shell recovery --wipe_data --set_filesystem_encryption=off

Seu telefone será reiniciado no sistema e esperamos que as coisas funcionem conforme o planejado.

Se você precisar executá-lo a partir do telefone (por exemplo: você não possui um computador por perto adb):

recovery --wipe_data --set_filesystem_encryption=off

Ele deve limpar, desativar a criptografia e reiniciar o sistema.

Se todo o resto falhar

Não use esse método, a menos que o acima não funcione ou se aplique ao seu cenário.

Destruir o cabeçalho LUKS para criptografia do sistema de arquivos

  1. Você precisa de uma recuperação que permita a queda para um shell root, assim, o TWRP funciona no meu caso.
  2. Localize a userdatapartição olhando em volta /dev/block/platform/*/by-name/userdata.
  3. Escreva uma tonelada de zeros no início dessa partição para limpar o cabeçalho LUKS:

    dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512
    

    Não reivindico responsabilidade pelo que você faz com este comando. Se você estragar tudo, pode bloquear o telefone substituindo o gerenciador de inicialização ou outras partições críticas. Certifique-se de que $PATH_TO_YOUR_USERDATAaponta para a userdatapartição real . Verifique o tamanho dessa partição para ter certeza de que está limpando a coisa certa. Eu tenho um telefone de 16 GB e userdata10,4 GB, sendo o restante dedicado system, mas o telefone será diferente.

  4. Reformate essa partição como ext4usando make_ext4fs $PATH_TO_YOUR_USERDATA.

    Pode haver erros, mas geralmente eles se relacionam com a impossibilidade de encontrar o "sdcard" interno, tudo bem.

Depois de tudo isso, reinicie a recuperação novamente e execute uma redefinição de fábrica para garantir a segurança.

Por que isso funciona?

Simplesmente fazer uma redefinição de fábrica parecia não fazer nada por mim, o telefone ainda veria uma partição LUKS lá. Suponho que isso ocorra porque o cabeçalho LUKS ainda existia no nível do disco e a partição ext4 foi sobreposta. Por alguma razão, o Android priorizou a detecção de uma partição LUKS em uma ext4 e tenta (e consegue) montá-la.

Para onde ir daqui

(Se você sabe o que está fazendo, também pode limpar systeme instalar sua ROM do zero. Novamente, não me responsabilizo por nada que você faça com as informações contidas nesta publicação. )

Trabalhou para mim em um klteG900T (Samsung Galaxy S5 T-Mobile). Sua milhagem pode variar.


Esse tipo de trabalho (a opção dd / make_ext4fs). - Quando eu reiniciei, ele ainda pedia uma senha na recuperação do TWRP, e as opções avançadas de formato não funcionavam - mas quando eu fazia um formato regular de partição de dados, ele funcionava. - Consegui reiniciar a recuperação sem solicitar senhas. :-)
— BrainSlugs83

11
Naftuli, você é um salva-vidas! Eu tenho minha borda S6 (SM-G925F) no loop de inicialização morta, como não foi possível criptografar provavelmente por causa da recuperação personalizada (TWRP), acho que a criptografia é feita através da recuperação de estoque. Ele dizia "a criptografia não foi concluída. Redefinição e reinicialização de fábrica". Eu até tentei recuperar a recuperação de estoque, ela não inicializou (provavelmente uma errada, mas rotulada para o meu dispositivo). O estoque inteiro também não era bom (não foi possível encontrar um adequado, aquele que encontrei foi rejeitado por odin). Finalmente eu fiz tudo o que você disse aqui, e o ddcomando finalmente fez o truque. Muito obrigado!
— Mixaz 11/11

O recoverycomando não parecia funcionar para mim. Chamei-o de ADB Shellem TWRPrecuperação. Meu problema principal é que a depuração USB não está ativada e /systemestá corrompida, portanto não consigo inicializá-la. Além disso, a criptografia de disco está ativada e parece me impedir de executar fastboot flash system system.zipcorretamente.
— anon58192932

11
Você salvou meu dia, ou melhor, minha noite. Depois de três horas tentando instalar o lineageOS 14.1 no meu Huawei P8 Lite e recebendo sempre a mensagem de criptografia sem êxito, com o ddcomando no final, eu poderia concluir a operação. Obrigado!
— Matteo De Felice

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdatadiz: lrwxrwxrwx 1 root root 21 Sep 16 06:04 /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata -> /dev/block/mmcblk0p26 df -h /dev/block/mmcblk0p26diz: `` Tamanho do sistema de arquivos usado disponível disponível% montado em / dev / block / mmcblk0p26 10,5G 27,2M 10,5G 0% / data `` `` então eu fiz: dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 está certo?
— LarS

8

No meu Moto G de terceira geração (osprey), nem chamar a recuperação nem limpar o cabeçalho LUKS (no início e no final da partição) funcionou - eu ainda precisava digitar a senha de criptografia durante a inicialização do Cyanogen Mod e fiquei presa com a mensagem "erro de criptografia" .

Finalmente, descobri que minha recuperação do TWRP 3.0.1 tem uma opção "Formatar dados" na seção "Limpar". Isso faz uma redefinição de fábrica completa que também desativa a criptografia.

Funcionou como um encanto. Se você tiver acesso a uma versão decente do TWRP (facilmente piscou, por exemplo, com o Flashify), tente primeiro.


11
Obrigado. Por que optar por uma solução complicada quando uma simples funcionará?
— Peter Gordon

Meu único problema com essa opção é que o texto indica que ele também limpará seu cartão SD. Se é fácil acessar seu cartão, isso não é um problema. : - |
— precisa saber é o seguinte

11
@pgmann: a opção 'formatar dados' apareceu há pouco tempo no TWRP, é por isso. Com certeza não estava lá em 2014 quando essas respostas foram fornecidas. Além disso, a ddabordagem é útil ao limpar a criptografia em scripts, pois a opção 'formatar dados' não está disponível nos comandos TWRP, enquanto os comandos existentes não podem limpar a criptografia. Espero que eles adicionar tal comando no futuro ...
— Mixaz

5

Desde que você esteja usando TWRP ou similar.

  • reinicie no TWRP (digite a senha) e faça um backup da Datapartição para externo SDouOTG Drive
  • reinicie no TWRP (cancelar senha) e formate a partição de dados para f2fs
  • restaurar backup feito na etapa um para a Datapartição recém-criada
  • reiniciar sistema
  • desfrute do Android com todos os seus dados salvos e criptografia removida

4

A solução de limpar manualmente o cabeçalho LUKS fornecido por Naftuli Tzvi Kay funciona bem, exceto por uma coisa. Eu não sei como isso depende, mas, na minha experiência, o Android mantém o cabeçalho LUKS no final da partição. E se esse for o caso do seu dispositivo, execute

dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512

falhará ao remover o cabeçalho (rodapé?) porque limpa apenas o início da partição. Pode-se, claro, limpar a partição inteira, mas isso levaria tempo desnecessariamente. Assim...

Para limpar o final da partição (de qualquer tamanho), depois de executar o comando acima, execute este comando também:

dd bs=512 if=/dev/zero of=$PATH_TO_YOUR_USERDATA count=22048 seek=$((`blockdev --getsz $PATH_TO_YOUR_USERDATA` - 22048))

limpar apenas o cabeçalho funcionou bem para mim (pode ser porque a criptografia não foi concluída - não tenho certeza). Mas votando sua resposta por causa de seu baixo karma))
— Mixaz 11/11/16

4

Você está usando recuperação personalizada?

Se sim, faça isso após a inicialização em uma recuperação personalizada ( TWRP no meu caso):

  1. No início da recuperação, NÃO descriptografe o dispositivo . Basta tocar em Cancelar quando solicitado a senha ou padrão.

  2. Limpe a partição de dados. (No TWRP após deslizar para modificar o sistema: Limpe> Avançado> Verificar: Dados)

Obviamente, isso limpará tudo na userdatapartição. Toda a partição de dados será reformatada, incluindo as chaves de criptografia .


11
Limpar a partição de dados simplesmente remove o cabeçalho do sistema de arquivos no início da partição. Não funciona porque em muitas versões do Android, o cabeçalho LUKS / dm-crypt está no final do sistema de arquivos.
— Naftuli Kay 5/09

11
Tentaste? Porque ele apenas funcionou no meu Nexus 9.
— Majal

11
Não sei por que alguém downvoted esta resposta, isso funciona, e é a maneira mais simples de se livrar de criptografia
— ArtDeineka

11
Foi isso que acabei fazendo - e funcionou. :)
— zaTricky

11
O mesmo aqui. Funcionou como um encanto.
— Linus Kleen

1

Meus votos vão para @Naftuli Kay e outras respostas úteis aqui, mas tenho algumas informações que gostaria de compartilhar. É muito longo para um comentário, que seja uma resposta então.

Desde algumas versões do TWRP, há o item 'formatar dados' na tela Limpar. Ele não apenas limpa / partição de dados, mas também lida com o problema do FS criptografado. No meu caso, o TWRP 3.0.2 no Samsung J500H limpa a criptografia e foi a única maneira de a redefinição de fábrica não funcionar. O CMR (aquele que está sendo construído ao longo do meu CM 12.1 rom para J500H) também não pode limpar a criptografia.

--set_encrypted_filesystem=off também não funcionou no TWRP e CMR.

limpar dados via OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html também não funciona

O Android 3.0 começou a mapear / sdcard para / data / media, então eles tiveram que retrabalhar / limpar os dados para not / data / media e, rm -rfem vez disso , são executados. Veja https://twrp.me/faq/datamedia.html para mais detalhes.

Ao executar 'formatar dados', você pode ver no log de recuperação (/ cache / recover / log ou / cache / recovery / last_log) as seguintes informações:

I:Successfully wiped crypto footer.

antes de formatar / dados com make_ext4fs. O código TWRP possui várias verificações para descobrir onde está o cabeçalho LUKS e, no meu caso, ele foi encontrado no rodapé.

Eu olhei para a fonte TWRP e não encontrei uma maneira de 'formatar dados' na linha de comando (eu preciso limpar o armazenamento criptografado de um aplicativo na ROM personalizada), portanto, essa opção está presente apenas na interface do usuário. Com a única exceção - se TWRP é compilado com TW_OEM_BUILDPermitiu então vontade 'formatar dados' em reposição de fábrica, limpando cabeçalho de criptografia e de formatação partição de dados, caso contrário, seria o uso regular limpe w / o formatação.

Vou tentar ddcom zeros, na verdade o TWRP faz o mesmo para limpar a criptografia, apenas sabe onde procurar exatamente o cabeçalho))


0

Expandindo a resposta de Naftuli Tzvi Kay acima ...

bem, essa resposta me levou ao lugar certo, mas meu telefone (CM11 / i9300) não tinha um recoverycomando e o wipecomando não tinha uma opção para desativar a criptografia. Então eu fiz isso manualmente, olhando os comentários no código-fonte do recoverycomando (arquivo vinculado a partir da resposta vinculada na pergunta acima):

* The recovery tool communicates with the main system through /cache files.
* /cache/recovery/command - INPUT - command line for tool, one arg per line
* /cache/recovery/log - OUTPUT - combined log file from recovery run(s)
* /cache/recovery/intent - OUTPUT - intent that was passed in
*
* The arguments which may be supplied in the recovery.command file:
* --send_intent=anystring - write the text out to recovery.intent
* --update_package=path - verify install an OTA package file
* --wipe_data - erase user data (and cache), then reboot
* --wipe_cache - wipe cache (but not user data), then reboot
* --set_encrypted_filesystem=on|off - enables / diasables encrypted fs
*
* After completing, we remove /cache/recovery/command and reboot.

Então, faça isso manualmente (com adb):

  1. receba uma solicitação com acesso root, por exemplo
    $ adb shell
    > su
    
  2. coloque o seguinte texto no arquivo / cache / recovery / command, com echo ou vi:

    --wipe_data
    --set_encrypted_filesystem=off
    

    por exemplo, com echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. reinicie no CWM ou recuperação semelhante

Você deve ver uma barra de progresso agradável e isso deve ser feito :)


O comando de recuperação está disponível no meu TWRP (3.1.1), aceita --wipe-data e --set_encrypted_filesystem = off via / cache / recovery / command ou linha de comando, mas assim que o acesso à partição de dados é solicitado (por --wipe-data) TWRP solicita senha. Portanto, ele não funciona no TWRP mais recente. 'Formatar dados' funciona, em vez disso, ver outros posts
— Mixaz 6/17

0

O melhor método de trabalho é inicializar no TWRP e usar o terminal embutido para formatá-lo como ext2 (porque essa é a única coisa suportada diretamente pelo terminal) e alterar a partição para ext4 usando a opção "Reparar sistema de arquivos" em Montagem

Para formatar como ext2:

mkfs.ext2 /dev/block/mmcbl0p23 (Substitua o valor da sua partição de dados do usuário procurando em / dev / block / platform / * / by-name / userdata)

Altere o sistema de arquivos como ext4:

Limpe -> Limpe avançado -> selecione "Dados" -> Reparar ou alterar sistema de arquivos -> Alterar sistema de arquivos -> EXT4

Agora, você deve ter a criptografia removida e poder montar a partição / dados do TWRP. Espero que isto ajude :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.