基于 Python 和 Onebot11 的QQ机器人开发——JSON消息的发送(消息段数组的运用)
什么是消息段数组 请看 onebot11 官方文档 onebot-11/message/array.md at master · botuniverse/onebot-11 (github.com) 以前我都是直接发的 CQ 码(什么是 CQ 码?onebot-11/message/string.md at master · botuniverse/onebot-11 (github.com)) 今天突发奇想的想试试直接发推荐卡片,当我尝试发 CQ 码的时候失败了,然后我去找 NapCatQQ 开发者拾雪问了一下,大佬是这么说的,不能直接用 CQ 码,因为涉及到签名等东西,需要用扩展接口,让我去看文档。 去文档找了一下,确实找到了,我本以为能顺理成章的解决问题,但是不出意外的话出意外了。 下面内容基于 Python 和正向 Websocket...
docker部署GZCTF-QQBOT
环境要求 Linux 服务器 docker docker compose 开始部署 相关链接:MoRan23/GZCTF-BOT-QQ: GZCTF 对接的 qq 机器人,基于 NapCat+Nonebot 框架 (github.com) 进入 GZBOTGithub 地址,由于服务器对于 Github 的网络连接会偶然连不上,这里使用 docker-compose 部署,Github 的 README 写的很详细了,这里多说几点易错点。 下方监听的赛事名是 GZCTF 的赛事名,不是赛事序号或赛事 ID,赛事名叫什么就写什么,比如下图中的赛事名就是 W1ndys的bot测试 把下面代码参数改好后保存为 docker-compose.yml 123456789101112131415161718192021222324252627version: "3.7"services: napcat: image: mlikiowa/napcat-docker:latest restart: always ports: -...
基于 Python 和 Onebot11 的QQ机器人开发——Python常用语法
背景 在写机器人的过程中不可避免的碰到语法的学习,本页梳理了常用的语法,以及记录开发机器人以来遇到的各种问题,需要注意的点。 。 函数调用 尽可能的分离函数,让某特殊功能的函数单独定义,以便于反复调用 异常处理 每个函数中尽量都要有异常处理,好处一个是方便快速调试报错点,第二个就是不会因为异常导致程序退出。 更详细的内容可以看 Python 异常处理 | 菜鸟教程 (runoob.com) 12345678try:<语句> #运行别的代码except <名字>:<语句> #如果在 try 部份 引发了'name'异常except <名字>,<数据>:<语句> #如果引发了'name'异常,获得附加的数据else:<语句> ...
基于 Python 和 Onebot11 的QQ机器人开发——模块引用中环境变量的学习
先看一个例子 假设文件结构如下 1234567891011121314project/│├── app/│ ├── scripts/│ │ ├── GroupManager/│ │ │ ├── main.py│ │ │ ├── banned_words.py│ │ │ ├── group_status.py│ │ │ ├── invite_chain.py│ │ │ ├── welcome_farewell.py│ │ │ ├── group_management.py│ ├── api/│ ├── config.py 代码如下 12345678910111213141516171819202122# app/scripts/GroupManager/main.pyimport loggingimport reimport osimport syssys.path.append( ...
基于 Python 和 Onebot11 的QQ机器人开发——群管系统
代码写完了,博客还没写
基于Python + OneBot 11的QQ机器人模块加载器的实现
源代码请看:W1ndys-bot/Module-Loader: 对接 OneBot 的 Python 模块加载器 (github.com) 对接 OneBot 的 Python 模块加载器 介绍及背景 Python 编写的模块加载器,使用 WebSocket 客户端模式对接上游服务,支持 OneBot 协议,如遇到问题请提 issue 本加载器不以插件的形式进行加载,而是以模块的形式进行加载。 这也就意味着,本加载器的功能增加,直接写代码即可,无需配置相关插件信息。 写这个加载器的原因是,了解到了 mf 师傅的插件式加载器,但我本人并不习惯这种方法,于是就写了这个模块式加载器,整个加载器的配置全部采用 Python 模块化编程,功能的开发模式完全基于原生 Onebot11。 有关插件式加载器的文档请参考:School-Robot/Plugin-Loader: 用于对接 OneBot 的 Python 插件加载器 (github.com) 加载器特色 模块化编程,易于维护 支持断线重连,无需手动重启 支持上线提醒(QQ),掉线提醒(钉钉) 支持 OneBot 11...
基于 Python 和 Onebot11 的 QQ 机器人实现
开发背景 也是我与 QQbot 之间的羁绊吧,作者的一些碎碎念 久违了啊,老友,说不出的感觉涌上心头 😇 还记得那会是初中,忘了上几年级了,大概在 17 年左右认识了酷 Q,只能用别人的插件不会自己开发功能,学了一段时间苦于环境不会配置放弃了,后来 18,19 年左右认识了 QRspeed(-dic),基于关键词的词库程序,看着语法文档自己写出来一套(大概 4000 行左右吧)自己用的源码(严格来说应该叫词库称不上是源码),这是我第一次自己写自己想要的功能。但苦于 qrspeed 词库算不上真正的编程语言,所以一直拿不出手。后来因为寄宿学校,版本更新很快,逐渐跟不上了语法的变化了。 后来,晨风机器人作者喝茶,酷 Q 关站,qrspeed 也停运,受 tx 打压 QQ 机器人几乎死路一条。高中了解到 nonebot2,环境不会搭,放弃了上大学之后了解到 mirai,这是我第三个用了很久一段时间的机器人框架,可惜的是,我认识他的时候他就已经到寒冬了,随处可见的 code = 45,封过 n 次的 QQ 号…不过我依旧想自己开发自己想要的功能,由于 mirai 基于...
网络安全实训11——Pyinstaller打包逆向分析火绒免杀
cs shellcode 打开 1java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar 查看生成的 payload 123# length: 894 bytesbuf =...
网络安全实训10——Kali远程控制Android系统
查看 Metasploit 工具中可以在 Android 系统下使用的 payload 类型 这些 payload 可以作为我们后面攻击的软件的生成工具 端口映射问题 如果我们的手机与使用的计算机处在同一局域网,但是虚拟机使用的是 NAT 模式。那么只有我们使用的计算机才可以访问到该虚拟机,其他设备都是无法访问该虚拟机的。那么就需要端口映射了 假设计算机的 IP 为(192.168.1.100)。Android 手机的 IP 为(192.168.1.*)。虚拟机的 IP 为(192.168.169.130): 第一步:打开 VMware 虚拟机网络编辑器 第二步:设置端口的映射(设置之后,凡是发往计算机 9999 端口的流量都会转发到虚拟机的 9999 端口上,这样虚拟机就能够接收到 Android 的连接了) 远程控制 Android 手机演示 本案例中,Linux 采用桥接模式,与 Android 手机连接在同一局域网中 使用 msfvenom 命令生成被控端...
网络安全实训9——Office宏病毒
下载 CS 我这里之前网络安全协会讲座测试环境的时候装过一次汉化版,考虑到实验环境,再下个老师给的 CS 运行服务端 12345678给予服务端程序 teamserver 执行权限(在 linux 中复制进来的文件默认是没有执行权限的)chmod +x teamserver # 可以查看 kali 的 IP 地址(可选)ifconfig eth0 # # 运行服务端程序,192.168.0.104 是本机 IP,user 是要设置的连接密码(可改)./teamserver 192.168.0.104 user 报错了,搜了一下,配置 java 环境变量:java 安装常见问题之 Kali 永久配置环境变量_kali 环境变量-CSDN 博客 好吧还是不行,用我之前的版本的 新建配置文件,连接 CS 服务器 1java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar...
网络安全实训8——Wireshark抓取QQ图片
抓包 我是 png 文件,搜索 8950 找到十六进制字符 继续跟进 删除多余数据 查看图片 可以看到已经抓取成功了,由于 QQ 压缩机制导致图片丢失内容过多 原因与纠错 测试发现从本机向其他人发送的图片会被切割,现在从手机端发给我的电脑 再次抓包发现得到了全部的内容没有被切割。 删除多余数据 保存查看
网络安全实训7——MD5加盐
加密 exp 12345678910111213141516171819202122232425262728293031323334353637383940414243import hashlibimport osdef generate_salt(length=16): """生成指定长度的盐值""" return os.urandom(length)def md5_hash_with_salt(input_string, salt=None): """计算带盐值的MD5哈希""" if salt is None: salt = generate_salt() hasher = hashlib.md5() # 将输入字符串与盐值结合 hasher.update(input_string.encode("utf-8") + salt) # 获取哈希值 hash_value...