python 을 사용 하여 위 챗 이미지 아래.dat 파일 을.png 로 복호화 하 는 방법
접미사 이름 을 직접.dat 에서.jpg 와.png 로 바 꾸 려 고 했 지만 열 리 지 않 았 습 니 다.일이 그리 간단 하지 않 은 것 같 았 습 니 다.그리고 바로 어머니 를 찾 아 코드 를 찾 았 습 니 다.다음은 한 걸음 한 걸음 살 펴 보 겠 습 니 다.
위 챗 클 라 이언 트 가 저장 하 는 경 로 는 보통 이 렇 습 니 다.찾 을 수 있 을 거 라 고 믿 습 니 다.
F:\Users\Tencent Files\WeChat Files\wxid_\FileStorage\Image\2020-11
안에.dat 형식의 물건 이 저장 되 어 있 는 것 을 발견 할 수 있 습 니 다.위 챗 에 저 장 된 이 형식 은 16 진법 으로 저장 되 어 있 기 때문에 16 진법 을 볼 수 있 는 소프트웨어 가 필요 합 니 다.있 으 면 더 좋 습 니 다.없 으 면 마이크로소프트 에서 나 온 텍스트 편집기,공식 링크 를 추천 합 니 다.https://www.ultraedit.com/
그것 으로 우리 의.dat 파일 을 열 수 있 습 니 다.열 면 이 모양 을 볼 수 있 습 니 다.그림 에 빨간색 이 표 시 된 위 치 를 주의 하 세 요.바로 이 파일 의 시작 부분 입 니 다.어느.dat 파일 을 열 어도 시작 하 는 네 개의 수 는 똑 같 습 니 다.(당신 의 4 개의 수 는 나의 것 과 다 를 수 있 습 니 다.아주 정상 적 입 니 다.마치 마이크로 신호 와 같 지만 당신 의.dat 파일 은 모두 특정한 4 개의 숫자 로 시작 합 니 다)이 네 개의 수 는 자 물 쇠 를 푸 는 열쇠 에 해당 한다.
우 리 는 16 진 을 열 수 있 는 소프트웨어 로.jpg 를 열 었 을 때.jpg 의 형식 이 모두 FFD 8 로 시작 되 고 똑 같이.png 의 것 도 FFD 8 이라는 것 을 발견 할 수 있 습 니 다.
네 자리 열쇠 로 FFD 8 과 다른 연산 을 하면 잠 금 해제 비밀 번 호 를 얻 을 수 있 습 니 다.
이 또는 연산 의 결 과 는 16 진법 의 네 자리 이지 만 우 리 는 마지막 두 자리 만 필요 하 다.그래서 결국 16 진법 의 두 자릿수 를 얻 었 다.그것 을 기억 해라,뒤에 쓸 것 이다.
준비 작업 은 여기까지 입 니 다.다음은 코드,python 언어 입 니 다.
당신 이 고 쳐 야 할 곳 은 세 가지 가 있 습 니 다.(코드 에 해당 하 는 주석 이 있 습 니 다)
두 경로:.dat 의 경 로 를 복호화 후 파일 을 저장 할 경 로 를 모두 자신의 것 으로 바 꿉 니 다.
하나의 값:내 비밀번호 대신 당신 의 비밀번호(두 자릿수)를 사용 하 세 요.
import os
def imageDecode(dat_dir,dat_file_name):
dat_read = open(dat_dir, "rb")
if not os.path.exists(target_path):
os.makedirs(target_path)
out=target_path+"\\"+dat_file_name+".png"
png_write = open(out, "wb")
for now in dat_read:
for nowByte in now:
newByte = nowByte ^ xor_value
png_write.write(bytes([newByte]))
dat_read.close()
png_write.close()
def findFile(dat_path):
fsinfo = os.listdir(dat_path)
for dat_file_name in fsinfo:
temp_path = os.path.join(dat_path, dat_file_name)
if not os.path.isdir(temp_path):
#print(' : {}' .format(temp_path))
imageDecode(temp_path,dat_file_name)
else:
pass
if __name__=='__main__':
# .dat
dat_path = r'F:\Users\Tencent Files\WeChat Files\wxid\FileStorage\Image\2020-04'
# png
target_path = r'F:\Users\Tencent Files\WeChat Files\image'
# , B2, xor_value = 0xB2,0x 16
xor_value = 0xB2
findFile(dat_path)
print("end")
실행 한 후에 출력 은 모두 하나의 그림 이 있 고 직관 적 이 며 명료 하면 자신 이 원 하 는 그림 을 저장 하고 필요 하지 않 은 것 을 정리 할 수 있 습 니 다.마지막 으로 저 는 복호화 전후의 공간 점용 상황 을 비교 해 보 았 습 니 다.공간 을 차지 하 는 것 이 똑 같 습 니 다.왜 텐 센트 가.dat 파일 로 저장 해 야 하 는 지 모 르 겠 습 니 다.
참고:https://www.jb51.net/article/200924.htm
python 을 사용 하여 위 챗 이미지 아래.dat 파일 을.png 로 복호화 하 는 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python 위 챗 이미지.dat 파일 을.png 로 복호화 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.