wxbot - 微信聊天机器人

admin 2024年1月22日11:20:45评论28 views字数 4670阅读15分34秒阅读模式

wxbot - 微信聊天机器人

适用于微信(WeChat 3.9.8.25 | 3.9.8.15 | 3.9.7.29) 可在Windows PC微信 设置 - 关于微信 - 版本信息 中获取您当前的微信版本,如果您当前的微信版本不在上述可用的版本列表中,请至下方 3、可用版本微信安装包获取 选择最新版微信重新安装使用

未经过大量测试,存在封号风险!

wxbot - 微信聊天机器人

免责声明

本仓库发布的内容,仅用于学习研究,请勿用于非法用途和商业用途!如因此产生任何法律纠纷,均与作者无关! 无任何后门、木马,也不获取、存储任何信息,请大家在国家法律、法规和腾讯相关原则下学习研究! 不对任何下载和使用者的任何行为负责,请于下载后24小时内删除!

关于免注

因注入版本(注入DLL,功能多点)被举报了后续不再更新了,和使用方式(READNE.md)一起放在wxbot-injector目录下了 现在只更新免注版本了 (免注只是不注入DLL了,并不是真的不需要注入!)

1、运行

bin目录下wxbot-sidecar.exe,直接运行即可

  • wxbot-sidecar.exe (bin/wxbot-sidecar.exe)

多种情况说明:

  • 当无微信进程在运行时会主动拉起微信(会从注册表找微信安装目录,如果是非Setup方式安装的可能拉不起来,那么请手动启动微信并使用-p参数指定pid

  • 如微信已运行(非多开模式下)会获取当前运行中的微信进程号

  • 您也可以使用-p参数手动指定微信进程号

> .wxbot-sidecar.exe -p 30568
> .wxbot-sidecar.exe --help
Usage: wxbot-sidecar.exe -p [pid] [ OPTIONS ] [ VALUE ]

Options:
-p, --pid [ pid ] Specify the process number for injection
-c, --config [ path ] Specify the configuration file path
-a, --address Specify listening address (e.g. 0.0.0.0:8080)
-b, --auto-click-login Automatically click login when there is a login button
-q, --qrcode-callback If there is a QR code when WeChat is not logged in, specify the callback address for the QR code URL, using English commas as as separators (e.g. http://127.0.0.1:8081/callback,http://127.0.0.1:8082/callback)
-w, --wechat Ignoring the -p parameter will pull up a WeChat instance. Please use this -w parameter after lifting the multi opening restriction!
-s, --silence Enable silent mode(without popping up the console)
-m, --multi Remove WeChat multi instance restrictions (allowing multiple instances)
-h, --help Output Help Information

目前免注入版本仅支持 3.9.8.25,请务必确认版本号正确

Linux下Docker部署

在 Linux 下使用 Docker 部署 Wechat + wxbot 全部流程已经跑通了,后面我会构建成一个公共镜像供大家使用(但使用 wine 运行 WeChat 的稳定性如何到时还需要大家帮忙一起测试了)

2、使用

如果您在使用时遇到了缺少运行库的报错 如:由于找不到 MSVCP140.dll,无法继续执行代码。重新安装程序可能会解决此问题 如果您遇到了此类问题可通过文档最下方的网盘链接中下载 微软常用运行库.exe 进行安装 或通过此链接下载最新微软常用运行库合集解决

如果您不希望在启动时弹出命令行窗口(CMD黑框框),那么您可以使用-s参数以静默方式运行!

2.1、自动登陆

目前已支持自动登陆,这里有两种情况:

  • 之前微信已登陆过,再次启动时出现登陆按钮,如果您启动wxbot-sidecar时指定了-b参数,则会自动触发登陆,您只需在手机端确认登陆即可(请注意,当您使用-s/--silence参数进行静默运行时-b/--auto-click-login参数不生效!

  • 之前微信未登陆过或被取消登陆,此时会渲染出二维码图片,您可以在命令行参数中指定-q参数,例如:-q http://127.0.0.1:8081/qrcode-callback 来指定一个二维码图像的回调地址,或者您也可以在配置文件中指定(参考下方的配置文件示例),当然如果您就在屏幕前,您可以直接扫码登陆

配置二维码图片回调时,命令行参数中指定的回调地址优先级要高于配置文件

2.2、多开

  • 如果您只有一个微信实例在运行并需要注入或快速上手,那么您无需关心其它参数,直接双击运行即可

  • 如果您需要多开微信,那么请先使用wxbot-sidecar.exe -m解除微信多开限制(执行时机并不重要,您可以在任何情况下去解除多开限制)

  • 如果您已经解除了多开限制,并希望对运行中的多个微信实例进行注入:

    • (可选)使用-a参数指定每个实例监听的地址(格式为:ip:port),如果您的配置文件中未指定addr或地址冲突,那么此-a参数是必选项,否则会导致端口冲突

    • (可选)使用-c参数指定第二个配置文件地址,如果您不指定一个新的配置文件地址,那么可能会导致您多个wxbot-sidecar实例共用一份配置文件(包括但不限于回调地址操作会同时影响该配置文件),推荐用法是对于多开实例每份实例使用-c参数去指定不同的配置文件运行

  • 请注意!如果您在多开模式下希望使用wxbot-sidecar.exe拉起新的微信实例,那么您需要为每个微信新实例加上-w参数,例如:wxbot-sidecar.exe -w 或是 wxbot-sidecar.exe -w -a 0.0.0.0:8081

  • Windows 所有powershell或者是使用cmd测试发送的例子都可能有编码问题!建议直接用程序测试!

  • # 发送文本
    curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "content": "测试内容nhello world!"}' http://127.0.0.1:8080/api/sendtxtmsg

    # 发送艾特消息
    curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "content": "测试内容nhello world!", "atlist": ["被艾特人的wxid"]}' http://127.0.0.1:8080/api/sendtxtmsg

    # 发送图片消息
    curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "image": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="}' http://127.0.0.1:8080/api/sendimgmsg

    # 发送文件消息
    curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "file": "aGVsbG8gd29ybGQ=", "filename": "1.txt"}' http://127.0.0.1:8080/api/sendfilemsg
  • Linux

  • # 获取登陆用户信息
    curl 127.0.0.1:8080/api/userinfo

    # 获取通讯录信息
    curl 127.0.0.1:8080/api/contacts

    # 发送文本消息
    curl -XPOST -H "Content-Type: application/json" -d'{"wxid": "47331170911@chatroom", "content": "测试内容nHello World"}' 127.0.0.1:8080/api/sendtxtmsg

    # 发送图片消息1(使用form-data表单方式提交)
    curl -XPOST -F "wxid=47331170911@chatroom" -F "image=@/home/jwping/1.jpg" 127.0.0.1:8080/api/sendimgmsg
    # 发送图片消息2(使用json方式提交)
    curl -XPOST -H "Content-Type: application/json" -d'{"wxid": "47331170911@chatroom", "image": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="}' 127.0.0.1:8080/api/sendimgmsg

    # 发送文件消息1(使用form-data表单方式提交)
    curl -XPOST -F "wxid=47331170911@chatroom" -F "file=@/home/jwping/1.txt" 127.0.0.1:8080/api/sendfilemsg
    # 发送文件消息2(使用json方式提交)
    curl -XPOST -H "Content-Type: application/json" -d'{"wxid": "47331170911@chatroom", "filename": "1.txt", "file": "aGVsbG8gd29ybGQh"}' 127.0.0.1:8080/api/sendfilemsg

    # 注册ws回调
    # 使用任意程序websocket客户端连接127.0.0.1:8080/ws

    # 注册http回调(http协议头不能少!)
    curl -XPOST -d'{"url": "http://127.0.0.1:8081/callback", "timeout": 6000}' 127.0.0.1:8080/api/sync-url

    # 获取当前已注册的http回调
    curl 127.0.0.1:8080/api/sync-url

    # 删除一个已注册的http回调
    curl -XDELETE -d'{"url": "http://127.0.0.1:8081/callback"}' 127.0.0.1:8080/api/sync-url

公众号技术文章仅供诸位网络安全工程师对自己所管辖的网站、服务器、网络进行检测或维护时参考用,公众号的检测工具仅供各大安全公司的安全测试员安全测试使用。未经允许请勿利用文章里的技术资料对任何外部计算机系统进行入侵攻击,公众号的各类工具均不得用于任何非授权形式的安全测试。公众号仅提供技术交流,不对任何成员利用技术文章或者检测工具造成任何理论上的或实际上的损失承担责任。

加微信进群获取更多资源:

wxbot - 微信聊天机器人

原文始发于微信公众号(TKing的安全圈):wxbot - 微信聊天机器人

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月22日11:20:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   wxbot - 微信聊天机器人http://cn-sec.com/archives/2417406.html

发表评论

匿名网友 填写信息