「微信聊天记录」利用ptyhon获取微信聊天记录

「微信聊天记录」利用ptyhon获取微信聊天记录

Scroll Down

偶然间在Github上看到一个项目,挺好用的。不像网上那些获取微信聊天记录的方法,去读数据库密码,再解密。这样不是很方便,并且文件下载下来也很大。并且可以发送消息,这个在某些攻防场景下可以试试使用效果。例如趁鱼儿不注意,发送一些消息给某些运维人员等。

项目地址:
https://github.com/cluic/wxauto

安装很简单:


pip install wxauto

示例

from wxauto import *


# 获取当前微信客户端
wx = WeChat()


# 获取会话列表
wx.GetSessionList()


# 输出当前聊天窗口聊天消息
msgs = wx.GetAllMessage
for msg in msgs:
    print('%s : %s'%(msg[0], msg[1]))
## 获取更多聊天记录
wx.LoadMoreMessage()
msgs = wx.GetAllMessage
for msg in msgs:
    print('%s : %s'%(msg[0], msg[1]))


# 向某人发送消息(以`文件传输助手`为例)
msg = '你好~'
who = '文件传输助手'
wx.ChatWith(who)  # 打开`文件传输助手`聊天窗口
wx.SendMsg(msg)  # 向`文件传输助手`发送消息:你好~


# 向某人发送文件(以`文件传输助手`为例,发送三个不同类型文件)
file1 = 'D:/test/wxauto.py'
file2 = 'D:/test/pic.png'
file3 = 'D:/test/files.rar'
who = '文件传输助手'
wx.ChatWith(who)  # 打开`文件传输助手`聊天窗口
wx.SendFiles(file1, file2, file3)  # 向`文件传输助手`发送上述三个文件
# 注:为保证发送文件稳定性,首次发送文件可能花费时间较长,后续调用会缩短发送时间


# 向某人发送程序截图(以`文件传输助手`为例,发送微信截图)
name = '微信'
classname = 'WeChatMainWndForPC'
wx.ChatWith(who)  # 打开`文件传输助手`聊天窗口
wx.SendScreenshot(name, classname)  # 发送微信窗口的截图给文件传输助手


实现原理其实是用win32gui, win32con模块来操作微信界面,然后读取内容。

这个方式有个弊端就是,你想读取某个特定人员的聊天记录时,鼠标和微信界面会变成相应的界面。
从原理上没办法做到后台运行,必须要激活窗口,就像人一样发消息。

并且:
微信后台运行时,无法发送消息,可以添加以下代码先把微信调到前台。

import subprocess
subprocess.Popen('C:\Program Files (x86)\Tencent\WeChat\WeChat.exe')

image.png