查找微信图片方式的探索

编程入门 行业动态 更新时间:2024-10-10 08:19:47

查找微信图片<a href=https://www.elefans.com/category/jswz/34/1771414.html style=方式的探索"/>

查找微信图片方式的探索

文章目录

  • 前言
  • 一、微信图片保存在哪里?
  • 二、解码过程
    • 1.dat是什么:一切皆数字
    • 2.转换输出图片
    • 3. 验证
  • 三、找目标图片
    • 方法一:模板匹配
    • 方法二:特征匹配


前言

某一天,领导让找几张现场调研的图片,要求是是近2年来的,正面形象气质佳,指点江山气质的优先。想来愚钝,没怎么保存领导调研的图片,后来想从微信里面的各种群找,工作量一下就上来了,思前想后,不如搞个小程序弄下,于是就有了下面探索的内容。


一、微信图片保存在哪里?

电脑微信,设置,文件管理,即可看到文件管理的路径,各种文件均在此。
微信聊天记录,找一个非图片文件,右键,在文件夹中显示。
找到Image文件夹,里面基本都是图片,但是不是常规图片后缀名,均为.dat。

二、解码过程

1.dat是什么:一切皆数字

使用Notepad++软件打开任意一个dat文件:
结果是乱码
使用插件,插件,插件管理,下载Hex Editor
再次打开刚才的dat文件,view in hex 显示如下:

按网上各路大神所说,随机再打开其他的dat文件,94和4d这2个数字均一致。

这里引用网上教程解释:jpeg格式的图片开头两个16进制的值通常为FFD8,将e2 c5这两个值异或一下,得到16进制的值,通常来说应该是一样的,修改加密的异或值,比如说我的异或值最后两位是1D,则xor_value = 0x1D,0x表示16进制,记下这个值。

做好文件备份!验证下dat文件的开头是否如上面想的一样:

import os
path = r"E:\微信文件\WeChat Files\wxid_r3f11i50p8f022\FileStorage\MsgAttach" #wxid_r3f11i50p8f022 每个微信账号下的文件夹,且都不一致,注意换成自己的
result = {}
files_list = os.listdir(path)
for i in files_list:dat_paths = os.path.join(path, i,"Image")try:dat_dir = os.listdir(dat_paths)except FileNotFoundError:print(i)continuefor j in dat_dir:dat_file_dir = os.path.join(dat_paths,j)dat_files = os.listdir(dat_file_dir)for f in dat_files:dat_file = os.path.join(dat_file_dir,f)dats = open(dat_file,"rb")txts = dats.read()head_txt = hex(txts[0]) + hex(txts[1])if head_txt in result.keys():result[head_txt] = result[head_txt] + 1else:result[head_txt] = 1
print(result)

这可能会花费大量时间和计算机资源,取决于你的文件数量,完全是基于探索,所以,一定要做备份。
{‘0xe20xc5’: 11743, ‘0x940x4d’: 1921, ‘0xff0xd8’: 26, ‘0x770x78’: 44, ‘0x890x50’: 4}
我的文件开头e2c5的占大多数,所以就它了,后面转换验证的时候,其他的转换后图片无法显示也证明了这点。

2.转换输出图片

代码如下(示例):

def toimg(dat,img_save_path,img_name):imgs = os.path.join(img_save_path,img_name) #转换后图片保存路径txt = open(dat,"rb") #读取dat文件img = open(imgs,"wb") #保存图片xor_value = 0x1D #0x表示16进制for lines in txt:for nowByte in lines:newByte = nowByte ^ xor_valueimg.write(bytes([newByte]))txt.close()img.close(

更多推荐

查找微信图片方式的探索

本文发布于:2024-02-07 00:10:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1752008.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方式   图片

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!