美文网首页
【Python微信机器人】第四篇:实战发送文本和图片消息(使用篇

【Python微信机器人】第四篇:实战发送文本和图片消息(使用篇

作者: Python成长路 | 来源:发表于2023-11-23 15:19 被阅读0次

    目录修整

    目前的系列目录(后面会根据实际情况变动):

    1. 在windows11上编译python
    2. 将python注入到其他进程并运行
    3. 注入Python并使用ctypes主动调用进程内的函数和读取内存结构体
    4. 调用汇编引擎实战发送文本和图片消息(同时支持32位和64位微信)
    5. 允许Python加载运行py脚本且支持热加载,发布成pypi库,可pip安装
    6. 利用beaengine反汇编引擎的c接口写一个pyd库,用于实现inline hook
    7. 利用beaengine反汇编引擎的python接口写一个py库,用于实现inline hook
    8. 使用inline hook实战接收消息
    9. 读取微信内存中的好友联系人列表的信息结构体数据
    10. 根据bug反馈和建议进行细节上的优化
    11. 做一个僵尸粉检测工具
    12. 其他功能慢慢加

    温馨提示

    该项目仅做学习使用, 不建议用于实际生产中。因为可能会导致封号,如果想学习的,请使用小号进行测试

    文章篇幅过长,这里分为了两个部分:使用篇和讲解篇。如果想了解代码的原理,可以看讲解篇。代码全部都是透明的,有兴趣的可以自己研究看看。

    开始测试

    环境准备工作

    1. Python环境
    2. Windows微信
    3. 下载github的Python代码

    如果你使用的微信版本是64位的(一般都是), 则你需要64位的Python环境;如果你使用的是32位的微信,就用32位的Python。Python的版本随意,只需要是3.8以上的。

    支持的微信版本

    后续只会更新和维护32位最新版本的微信(原因在之前的文章里提到过)。不过后面如果我看到了适合在Python中hook 64位程序的方法,也会开始更新64位的。

    目前支持的微信版本如下:

    32位

    • 3.9.7.28
    • 3.9.8.12

    64位

    • 3.9.7.29
    • 3.9.8.15

    将Python注入到微信进程

    先打开并登录微信,然后使用Python执行py_code的inject_dll.py这个文件。它的代码执行流程:先将injectpy.dll复制到Python.exe同级目录 -> 查找微信进程并使用远程线程注入在进程中加载injectpy.dll

    **注意:Python必须具有管理员权限,才能使用远程线程注入将dll注入到其他进程。 **

    以管理员身份运行Python的方法:将打开Python的编辑器或CMD以管理员身份运行。

    接着你就能看到下面的窗口:

    添加搜索路径

    先在控制台将py_code这个目录加到sys.path里,路径需要修改你的py_code目录

    import sys
    sys.path.append("T:\Code\PyRobot\part4\py_code")
    

    导入并开始发送消息

    在Python控制台依次输入下面几行代码

    from sendmsg import SendMsg
    
    st = SendMsg()
    st.send_text("filehelper", "测试消息!")
    st.send_image("filehelper", r"C:\Users\Administrator\Pictures\1111.jpg")
    

    接着就能看到文件传输助手已经把消息发送出去了,如果微信版本不在支持的范围,会抛出异常提示

    wxid的获取

    发送消息需要先得到好友和群的内部wxid,这个会在这个系列第九篇获取全部好友的wxid、昵称和微信号等信息。可以先关注等待更新。如果你对这个系列也感兴趣,也想参与后续的开发,可以加我好友一起研究。

    待完善

    后面可以不用打开控制台,将Python注入到微信后,让它执行自定义的脚本。你可以在脚本里使用fastapi或aiohttp公开http接口给其他应用使用。也可以在脚本里就写好你想做的事,比如定时发送消息。另外,在脚本里导入第三方包和平时一样,都是pip安装后import,这样自由度就很高,基本能完成大部分需求

    下篇文章内容

    下一篇先完善下上面提到的内容:运行自定义Python脚本,再实现下热加载,现在为了调试所以在控制台下操作。再把代码发布到pypi上,之后可以用pip安装,代码里import使用,就省去了去github下载代码,而且更新代码也方便

    github源码

    https://github.com/kanadeblisst00/PyRobot-part4

    相关文章

      网友评论

          本文标题:【Python微信机器人】第四篇:实战发送文本和图片消息(使用篇

          本文链接:https://www.haomeiwen.com/subject/yokgwdtx.html