
WhatsApp .crypt12, .crypt14 및 .crypt15 파일을 관리합니다.

WhatsApp 및 WA Business의 .crypt12, .crypt14, .crypt15 파일을 쉽게 복호화하고 암호화하세요! 복호화하려면 키 파일 또는 64자 길이의 키가 필요합니다. 백업이 crypt14인 경우 키 파일 이름은 "key"이고, 백업이 crypt15(암호화된 E2E 백업)인 경우 "encrypted_backup.key"입니다. WhatsApp 포렌식을 위한 더 완전한 도구 모음을 찾고 있다면 whapa.를 확인하세요.
컴퓨터에 프로그램을 설치하고 싶지 않다면, 이 프로그램을 Google Colab 에서 실행할 수 있습니다.
Jupyter에 익숙하다면(익숙하지 않다면 여기 를 읽어보세요), 프로그램의 노트북 버전 을 사용할 수 있습니다.
pip를 통해 이 스크립트를 패키지로 설치할 수 있습니다. 다음을 실행하세요:
python -m pip install wa-crypt-tools
안정 버전의 경우이고, 다음은
python -m pip install git+https://github.com/ElDavoo/wa-crypt-tools
개발 버전의 경우입니다.
다른 패키지와의 충돌을 피하려면 가상 환경을 만들어야 할 수도 있습니다.
usage: wadecrypt [-h] [-nm] [-bs BUFFER_SIZE] [-nd] [-v] [-f] [keyfile] [encrypted] [decrypted]
따라서 crypt12/14/15를 복호화하려면 프로그램에 키 파일, 암호화된 파일, 출력 파일 이름을 제공하면 됩니다.
$ wadecrypt encrypted_backup.key msgstore.db.crypt15 msgstore.db
key15.py:51 : [I] Crypt15 / Raw key loaded
wadecrypt.py:271 : [I] Done
usage: waencrypt [-h] [-f] [-v] [--enable-features [ENABLE_FEATURES ...]] [--max-feature MAX_FEATURE]
[--multi-file] [--type {12,14,15}] [--iv IV] [--reference REFERENCE] [--noparse]
[--wa-version WA_VERSION] [--jid JID] [--backup-version BACKUP_VERSION] [--no-compress]
[keyfile] [decrypted] [encrypted]
암호화는 더 복잡하고 테스트되지 않았습니다. 같은 계정의 다른 암호화된 파일(이하 "참조 파일"이라고 함)을 사용하는 것이 좋습니다.
waencrypt --reference msgstore.db.crypt15 encrypted_backup.key msgstore.db msgstore-new.db.crypt15
waencrypt.py:57 : [W] This script is in beta stage
waencrypt.py:89 : [I] Done!
다음 매개변수를 제공해야 합니다:
매개변수를 생략하면 기본값이 사용됩니다.
요약하면 다음과 같습니다:
$ waencrypt --enable-features 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 --type 15 --wa-version 2.26.1.2 --jid 00 --backup
-version 1 encrypted_backup.key msgstore.db msgstore-new.db.crypt15
waencrypt.py:57 : [W] This script is in beta stage
waencrypt.py:89 : [I] Done!
wainfo 도구로 백업 파일에 대한 정보를 얻을 수 있습니다.
사용법은 -h 옵션과 함께 도구를 실행하세요.
wacreatekey - 키 파일 생성wadecrypt - 백업 복호화waencrypt - 백업 암호화waguess - 백업 복호화를 시도하는 편법wainfo - 백업 정보 확인아니요! 그렇지 않다면 파일을 암호화할 이유가 없겠죠?
위를 참조하세요.
백업이 손상된 것입니다. -f 플래그로 모든 검사를 비활성화해 볼 수 있지만, 충돌 및/또는 읽을 수 없는 출력이 발생할 수 있습니다.
키가 잘못된 것입니다. -f 플래그로 모든 검사를 비활성화해 볼 수 있지만, 충돌 및/또는 읽을 수 없는 출력이 발생할 수 있습니다.
wacreatekey를 사용하여 encrypted_backup.key 파일을 만드세요.wadecrypt를 사용하여 백업을 복호화하세요.이렇게 하면 자신의 루트 키를 직접 관리하게 됩니다. 그렇지 않으면 WhatsApp이 적절할 때 키를 변경할 수 있습니다.
아니요! 비밀번호는 WhatsApp 서버와 통신하여 64자 키를 가져오는 데만 사용됩니다.
즉, 비밀번호는 키를 보호하는 데 사용되며, 백업을 암호화하는 데는 사용되지 않습니다.
네, 가능하지만 코드가 문서화되어 있지 않으므로 지금은 코드를 직접 읽어보시기 바랍니다.
Telegram으로 필요한 파일을 보내주시면 확인해 보겠습니다.
이해할 수 있게도 개인정보 보호가 걱정된다면, 이슈를 열고 다음을 첨부하세요:
하지만 도움을 드리기는 더 어려울 것입니다.
루팅된 Android 기기에서는 다음을 복사하기만 하면 됩니다.
/data/data/com.whatsapp/files/key
(백업이 crypt15인 경우 /data/data/com.whatsapp/files/encrypted_backup.key).
E2E 백업을 활성화했고 비밀번호를 사용하지 않았다면
(예: 스크린샷 등 64자리 키의 사본을 가지고 있다면),
키 파일 매개변수 대신 그 키를 그대로 옮겨 적어 사용할 수 있습니다.
다른 방법도 있지만, 그것을 알려주는 것은 이 프로젝트의 범위를 벗어납니다.
이를 요청하는 이슈는 유효하지 않은 것으로 간주되어 닫힙니다.
이 소프트웨어에 대해 작성된 논문이나 학위 논문은 없지만, 이 온라인 저장소를 인용할 수 있습니다. (현재로서는) 저자가 한 명뿐이므로 "et al."이라고 표기하지 마세요.
인용 정보는 CITATION.cff 파일을 참조하세요.
@misc{wa-crypt-tools,
author = {ElDavoo},
title = {WhatsApp Crypt Tools},
year = {2022},
month = {06},
howpublished = {\url{https://github.com/ElDavoo/wa-crypt-tools}
}
@online{wa-crypt-tools,
author = {ElDavoo},
title = {WhatsApp Crypt Tools},
year = {2022},
month = {06},
url = {https://github.com/ElDavoo/wa-crypt-tools}
}
안정 버전:
2.24.16.76
베타 버전:
2.24.26.11
안정 버전:
2.24.23.78
protoletariat를 사용하고 proto 임포트를 자동으로 수정하려면 proto 선택적 의존성을 설치할 수 있습니다.
먼저, 저장소를 클론한 후 다음 명령으로 패키지를 편집 가능(editable) 모드로 설치하세요(가급적 가상 환경에서):
pip install -e .[proto]
이렇게 하면 패키지의 선택적 의존성도 함께 설치됩니다.
다음으로, protobuf 컴파일러를 해당 저장소 여기에서 다운로드하세요.
protoc 프로그램을 .proto 파일이 있는 wa-crypt-tools/proto 폴더로 이동하면 됩니다.
필요에 따라 protobuf 클래스를 교체하고 protoc를 실행하여 파이썬 클래스를 생성하세요.
프로젝트의 wa-crypt-tools/proto 디렉터리에서 다음을 실행하세요:
./protoc --python_out=../src/wa_crypt_tools/proto --proto_path=. *.proto
protoc를 통해 protobuf 파이썬 클래스를 생성한 후, 같은 디렉터리에서 다음을 실행하세요:
protol --in-place --python-out ..\src\wa_crypt_tools\proto protoc --proto-path=. *.proto
Linux:
PATH="$(pwd):$PATH" protol --in-place --python-out ../src/wa_crypt_tools/proto protoc --proto-path=. *.proto
이제 생성된 모든 파이썬 클래스의 임포트가 수정되었을 것입니다.
여러분 한 분 한 분께 정말 감사드립니다!
도움을 주신 다른 모든 분들께 감사드립니다!