복구에서 암호화 제거


10

나는 G900T (klte)에서 밤새 CyanogenMod 12를 실행하고 있습니다. 기본 암호화 암호를 제외하고는 모든 것이 잘 작동하여 휴대 전화가 부팅 루프로 부팅됩니다.

데이터를 형식화하고 초기화를 수행했지만 /data여전히 암호화되어로 표시됩니다 /dev/dm-0.

암호화를 제거하기 위해 수행 할 수있는 명령이 있습니까? 나는 데이터에 신경 쓰지 않고 모든 것이 사라지기를 원합니다. /dataCyanogenMod로 부팅 할 수 있도록 내부 저장소를 디스크에 일반 텍스트로 저장 하고 싶습니다 .

adb shell이 파티션에서 암호화를 제거하려면 어떻게 해야합니까?


어떤 회복을 했습니까?
Jordy19

1
Team Win Recovery Project (TWRP)
Naftuli Kay

내가 읽은 않았다 여기에 새 ROM을 점멸하여 암호화 제거를 얻을 수, 모르겠 경우 귀하의 경우에 작동하지만 그것은 가치의 시도이다.
Jordy19

작동하지 않았다. 수동으로 dd if=/dev/zero데이터 파티션을 포맷 하려고 합니다.
Naftuli Kay

답변:


12

나를위한 대답에는 여러 가지가 관련되어 있지만, 이것이 실제로 핵심이라고 생각합니다.

"복구"명령을 사용하십시오. bro

CyanogenMod / AOSP의 recovery프로그램을 사용하여 사용자 데이터를 지우고 암호화를 비활성화합니다. ( 스택 오버플에서이 답변에 있음 ) 복구로 부팅 한 다음 컴퓨터에서 실행하십시오.

adb shell recovery --wipe_data --set_filesystem_encryption=off

휴대 전화가 시스템으로 재부팅되고 정상적으로 작동합니다.

휴대 전화 자체에서 실행해야하는 경우 (예 : 주변에 컴퓨터가없는 경우 adb) :

recovery --wipe_data --set_filesystem_encryption=off

시스템을 지우고 암호화를 비활성화하고 재부팅해야합니다.

다른 모든 것이 실패하면

위의 방법으로 작동하지 않거나 시나리오에 적용되지 않는 한이 방법을 사용하지 마십시오.

파일 시스템 암호화를위한 LUKS 헤더 제거

  1. 으로 쉘에 드롭 할 수있는 복구가 필요 root하므로 TWRP가 제 경우에는 작동합니다.
  2. userdata에서 둘러보고 파티션을 찾으십시오 /dev/block/platform/*/by-name/userdata.
  3. LUKS 헤더를 지우려면 해당 파티션의 시작 부분에 0을 적어 두십시오.

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

    나는 당신이이 명령으로 무엇을하는지에 대해 책임을지지 않습니다. 이 문제를 해결하면 부트 로더 나 기타 중요한 파티션을 덮어 써서 휴대 전화를 손상시킬 수 있습니다. $PATH_TO_YOUR_USERDATA실제 userdata파티션 을 가리키는 지 확인하십시오 . 해당 파티션의 크기를 확인하여 올바른 것을 지우고 있는지 확인하십시오. 나는 16GB 전화를 가지고 있으며 userdata10.4GB이며 나머지는 전용 system이지만 전화는 다를 수 있습니다.

  4. ext4사용하여 해당 파티션을 다시 포맷하십시오 make_ext4fs $PATH_TO_YOUR_USERDATA.

    오류가있을 수 있지만 일반적으로 내부 "sdcard"를 찾을 수없는 것과 관련이 있습니다. 이것은 괜찮습니다.

이 후 복구를 다시 재부팅 한 다음 안전을 위해 공장 재설정을 실행하십시오.

왜 이것이 작동합니까?

단순히 공장 초기화를 수행해도 아무런 효과가없는 것처럼 보였지만 전화에는 여전히 LUKS 파티션이 표시됩니다. 나는 이것이 LUKS 헤더가 여전히 디스크 레벨에 존재하고 ext4 파티션이 그 위에 겹쳐져 있기 때문이라고 가정합니다. 어떤 이유로 안드로이드는 ext4 파티션에서 LUKS 파티션을 우선적으로 감지하고 마운트를 시도합니다 (성공합니다).

여기서 갈 곳

(무엇을하고 있는지 아는 경우 systemROM을 처음부터 닦아서 설치 하고 싶을 수도 있습니다 . 다시이 게시물에 포함 된 정보로 수행 한 모든 것에 대해 책임을지지 않습니다. )

klteG900T (Samsung Galaxy S5 T-Mobile) 에서 저를 위해 일했습니다 . 귀하의 마일리지가 다를 수 있습니다.


그런 종류의 일 (dd / make_ext4fs 옵션). -재부팅했을 때 여전히 TWRP 복구에서 암호를 요청했지만 고급 형식 옵션이 작동하지 않았습니다.하지만 일반 데이터 파티션 형식을 사용하면 작동했습니다. -암호를 묻지 않고 복구로 재부팅 할 수있었습니다. :-)
BrainSlugs83

1
Naftuli, 당신은 생명의 은인입니다! 사용자 지정 복구 (TWRP)로 인해 암호화 할 수 없으므로 S6 에지 (SM-G925F)가 데드 부트 루프로 설정되어 있습니다. 암호화는 주식 복구를 통해 이루어 졌다고 생각합니다. "암호화가 완료되지 않았습니다. 공장 초기화 및 재부팅"입니다. 나는 주식 복구를 플래시하려고 시도했지만 부팅되지 않았습니다 (아마도 잘못되었지만 장치에 레이블이 지정되어 있음). 전체 재고 ROM도 좋지 않았습니다 (내가 찾은 것이 odin에 의해 거부 된 적절한 것을 찾을 수 없었습니다). 마지막으로 나는 당신이 여기서 말한 모든 것을했고, dd명령은 마침내 트릭을했습니다. 고마워요!
Mixaz

recovery명령은 나를 위해 작동하지 않았다. 나는에서 전화 ADB Shell에서 TWRP복구. 내 주요 문제는 USB 디버깅이 활성화되어 있지 않고 /system손상되어 부팅 및 활성화 할 수 없다는 것입니다. 또한 디스크 암호화가 켜져 있고 fastboot flash system system.zip올바르게 작동 하지 않는 것 같습니다 .
anon58192932

1
당신은 내 하루나 더 나은 내 밤을 구했습니다. 3 시간 후 Huawei P8 Lite에 lineageOS 14.1을 설치하려고 시도하고 결국 암호화 실패 메시지를 받고 dd결국 명령이 완료되면 작업을 마칠 수 있습니다. 감사합니다!
Matteo De Felice

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdatalrwxrwxrwx 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/mmcblk0p26` : 말한다 :```/ dev / block / mmcblk0p26에 마운트 된 사용 가능한 파일 시스템 크기 사용률 10.5G 27.2M 10.5G 0 % / data````그렇게 했 dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 습니까?
LarS

8

Moto G 3 세대 (osprey)에서 복구를 호출하거나 LUKS 헤더 (파티션 시작 및 종료시)를 지우지 못했습니다. Cyanogen Mod 부팅 중에 암호화 암호를 입력해야했는데 "암호화 오류"메시지가 표시되었습니다. .

마침내 TWRP 3.0.1 복구의 "Wipe"섹션에 "Format Data"옵션이 있음을 발견했습니다. 이렇게하면 암호화가 비활성화되는 완전한 공장 초기화가 수행됩니다.

매력처럼 일했다. 적절한 TWRP 버전 (예 : Flashify로 쉽게 깜박임)에 액세스 할 수 있으면 먼저 시도하십시오.


1
감사합니다. 간단한 해결책이 효과가있을 때 왜 복잡한 해결책을 찾아야합니까?
피터 고든

이 옵션의 유일한 문제는 텍스트가 SD 카드를 지우는 것을 암시한다는 것입니다. 당신의 카드가 쉽게 접근 할 수 있다면 큰 문제는 아닙니다. :-|
zaTricky

1
@pgmann : '포맷 데이터'옵션은 얼마 전에 TWRP에 나타났습니다. 이러한 답변이 제공된 2014 년에는 없었습니다. 또한 ddTWRP 명령에서는 '형식 데이터'옵션을 사용할 수없고 기존 명령은 암호화를 지울 수 없으므로 스크립트에서 암호화를 정리할 때이 방법이 유용합니다. 그들이 미래에 그러한 명령을 추가하기를 바랍니다 ...
Mixaz

5

TWRP 또는 이와 유사한 것을 사용하고 있습니다.

  • TWRP (비밀번호 입력)로 재부팅하고 Data파티션을 외부로 백업SD 또는OTG Drive
  • TWRP로 재부팅 (암호 취소)하고 데이터 파티션을 f2fs
  • 1 단계에서 만든 백업을 새로 만든 백업으로 복원 Data 파티션
  • 시스템 재부팅
  • 모든 데이터를 저장하고 암호화를 제거하여 Android를 즐기십시오.

4

Naftuli Tzvi Kay가 제공하는 LUKS 헤더를 수동으로 지우는 솔루션은 한 가지를 제외하고는 잘 작동합니다. 나는 그것이 어떻게 의존하는지는 모르지만 내 경험상 Android는 LUKS 헤더를 파티션의 끝 부분에 유지합니다. 그리고 그것이 장치의 경우라면

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

파티션의 시작 부분 만 지우므로 머리글 (바닥 글?)을 제거하지 못합니다. 물론 전체 파티션을 지울 수는 있지만 불필요하게 오래 걸릴 것입니다. 그래서...

위의 명령을 실행 한 후 파티션의 끝 (모든 크기) 을 지우려면 이 명령도 실행하십시오.

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

헤더 만 지우면 괜찮습니다 (암호화가 완료되지 않았기 때문일 수 있습니다). 그러나 당신의 낮은 업장 때문에 당신의 답을
올리는 것

4

사용자 지정 복구를 사용하고 있습니까?

그렇다면 사용자 지정 복구로 부팅 한 후이 작업을 수행하십시오 ( 필자의 경우 TWRP ).

  1. 복구 시작시 장치를 해독하지 마십시오 . 비밀번호 나 패턴을 묻는 메시지가 표시되면 취소를 누릅니다 .

  2. 데이터 파티션을 닦습니다. (시스템을 수정하기 위해 스 와이프 한 후 TWRP에서 : 지우기> 고급> 확인 : 데이터)

이것은 물론 userdata파티션의 모든 것을 지울 것입니다 . 암호화 키를 포함하여 전체 데이터 파티션이 다시 포맷 됩니다 .


1
데이터 파티션을 지우면 파티션 시작시 파일 시스템 헤더가 제거됩니다. 많은 Android 버전에서 LUKS / dm-crypt 헤더가 파일 시스템 의 끝에 있기 때문에 작동하지 않습니다 .
Naftuli Kay 19

1
사용해 보셨습니까? 그것은 단지 내 Nexus 9에서 작동했기 때문에
Majal

1
왜 누군가가이 대답을
내려 놓았

1
이것이 내가 끝낸 일이며 효과가있었습니다. :)
zaTricky 2016 년

1
여기도 마찬가지입니다. 매력처럼 일했다.
Linus Kleen

1

내 투표는 @Naftuli Kay 및 기타 유용한 답변으로 이동하지만 공유하고 싶은 정보가 있습니다. 댓글이 너무 길어서 답변을 드리겠습니다.

일부 버전의 TWRP부터 Wipe 화면에 'format data'항목이 있습니다. / data 파티션을 지울뿐만 아니라 암호화 된 FS 문제도 처리합니다. 필자의 경우 Samsung J500H의 TWRP 3.0.2는 암호화를 지우며 이것이 공장 재설정이 작동하지 않는 유일한 방법이었습니다. CMR (J500H 용 CM 12.1 롬을 따라 구축 된 것)도 암호화를 지울 수 없습니다.

--set_encrypted_filesystem=off TWRP 및 CMR에서도 작동하지 않았습니다.

OpenRecoveryScript를 통한 데이터 삭제 https://twrp.me/faq/openrecoveryscript.html 도 작동하지 않습니다

Android 3.0은 / sdcard를 / data / media에 매핑하기 시작하여 / data / media가 아닌 / data wipe를 재 작업해야했고 rm -rf대신 수행되었습니다. 자세한 내용은 https://twrp.me/faq/datamedia.html 을 참조하십시오.

'포맷 데이터'를 수행하면 복구 로그 (/ cache / recover / log 또는 / cache / recovery / last_log)에 다음 정보가 표시 될 수 있습니다.

I:Successfully wiped crypto footer.

로 / data를 포맷하기 전에 make_ext4fs. TWRP 코드에는 LUKS 헤더의 위치를 ​​확인하는 여러 가지 검사가 있으며 제 경우에는 바닥 글에서 찾았습니다.

TWRP 소스를 살펴본 결과 명령 줄에서 데이터 형식을 지정하는 방법을 찾지 못했습니다 (사용자 지정 롬의 응용 프로그램에서 암호화 된 저장소를 지워야 함).이 옵션은 UI에만 있습니다. 유일한 예외 - TWRP를 컴파일하면 TW_OEM_BUILD다음 활성화는 것이다 / O가 서식 승, 공장 초기화에 '포맷 데이터', 암호화 헤더를 삭제하고 데이터 파티션을 포맷 그렇지 않으면 사용하는 것이 일반은 닦아냅니다.

나는 dd0 으로 시도 할 것 입니다. 실제로 TWRP는 암호화를 지우기 위해 동일하게 수행합니다. 헤더를 정확히 어디에서 찾을 것인지 알고 있습니다))


0

위의 Naftuli Tzvi Kay의 답변을 확장하면 ...

글쎄, 그 대답은 올바른 장소에 도달했지만 내 전화 (CM11 / i9300) recovery에는 wipe명령이 없었으며 명령에는 암호화를 비활성화하는 옵션이 없었습니다. 그래서 명령대한 소스 코드recovery 의 주석 (위의 질문에 링크 된 답변에서 링크 된 파일) 을 보면서 수동으로 수행했습니다 .

* 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.

따라서 수동으로 (adb를 사용하여) 수행하십시오.

  1. 루트 액세스로 프롬프트를 표시하십시오. 예 :
    $ adb shell
    > su
    
  2. echo 또는 vi를 사용하여 다음 텍스트를 / cache / recovery / command 파일에 넣습니다.

    --wipe_data
    --set_encrypted_filesystem=off
    

    예를 들어 echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. CWM 또는 유사한 복구로 재부팅

멋진 진행률 표시 줄이 표시되고 완료되어야합니다. :)


복구 명령은 TWRP (3.1.1)에서 사용할 수 있으며 / cache / recovery / command 또는 명령 줄을 통해 --wipe-data 및 --set_encrypted_filesystem = off를 허용하지만 데이터 파티션에 대한 액세스가 요청되는 즉시 --wipe-data) TWRP가 비밀번호를 묻습니다. 최신 TWRP에서는 작동하지 않습니다. 대신 '데이터 형식'이 작동합니다. 다른 게시물 참조
Mixaz

0

가장 효과적인 방법은 TWRP로 부팅하고 내장 터미널을 사용하여 ext2 (터미널에서 직접 지원되는 유일한 coz)로 포맷하고 마운트 아래의 "파일 시스템 복구"옵션을 사용하여 파티션을 ext4로 변경하는 것입니다.

ext2로 포맷하려면 :

mkfs.ext2 /dev/block/mmcbl0p23 (/ dev / block / platform / * / by-name / userdata에서 둘러보고 userdata 파티션의 값으로 대체하십시오)

파일 시스템을 ext4로 변경하십시오.

와이프-> 고급 와이프-> "데이터"선택-> 파일 시스템 복구 또는 변경-> 파일 시스템 변경-> EXT4

이제 암호화를 제거하고 TWRP에서 / data 파티션을 마운트 할 수 있어야합니다. 도움이 되었기를 바랍니다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.