avatar
Articles
188
Tags
78
Categories
17

Theqiqi_blog
Search

Theqiqi_blog

4.QT使用https协议通信
Created2025-03-23|C++Socks|C++•IPV4•http•Qt6•Cmake
1. Qt6使用https协议在客户端发送一条文字消息到服务器端。之前的 HTTP 示例改成 HTTPS,这样客户端通过 TLS 加密发送一条文字消息到服务器端。 这里有几个关键点需要注意: 🔑 关键变化 Qt 客户端 使用 QNetworkAccessManager + QNetworkRequest,但 URL 必须是 https:// 需要配置 QSslConfiguration(证书验证、加密套件等) 如果是自签名证书,需要在客户端信任它(开发阶段可以临时忽略验证) 服务器端 Qt 自带的 QTcpServer 不直接支持 HTTPS,需要用 QSslSocket 或 QTcpServer+QSslSocket 组合 必须加载服务器的私钥和证书(PEM 格式) 证书可以用 openssl 自签名生成 1️⃣ 生成自签名证书(开发测试用) 在终端执行: 1openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout server.key -out server.crt 然后合并成一个 .pem ...
3.QT使用http协议通信
Created2025-03-23|C++Socks|C++•IPV4•http•Qt6•Cmake
1. Qt6使用http协议在客户端发送一条文字消息到服务器端。1.httpserver main.cpp 12345678910#include <QCoreApplication>#include "httpserver.h"int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); HttpServer server; return a.exec();} httpserver.h 1234567891011121314151617181920212223#ifndef HTTPSERVER_H#define HTTPSERVER_H#include <QObject>#include <QTcpServer>#include <QTcpSocket>class HttpServer : public QObject{ Q_OBJECTpublic: explicit HttpSer ...
1.QT使用udp通信
Created2025-03-23|C++Socks|c++•cmake•Qt6•ipv4•ipv6
1. Qt6使用tcp协议建立连接后在客户端发送一条文字消息到服务器端而后断开连接。编写两个使用qt6框架开发的程序一个是服务端一个是客户端,Qt6使用tcp协议建立连接后在客户端发送一条文字消息到服务器端而后断开连接,无ui界面,按照qt风格分开声明与实现,参考qwiget模板但是没有ui。 实现一个最简单的 一次性连接: 客户端:启动后连接服务器 → 发送一条文字消息 → 断开连接 服务器:监听端口 → 接收连接 → 读取消息 → 打印到控制台 无 UI,但结构参考 Qt Widget 模板(main.cpp + 一个 QObject 派生类,分头文件和实现文件) Qt6 + CMake,客户端和服务端是两个独立项目 1.tcpserver main.cpp 12345678910#include <QCoreApplication>#include "tcpserver.h"int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); TcpServe ...
1.QT使用udp通信
Created2025-03-23|C++Socks|c++•cmake•Qt6•ipv4•ipv6
1. Qt6使用udp协议在客户端发送一条文字消息到服务器端。编写两个使用qt6框架开发的程序一个是服务端一个是客户端,单独使用cmake管理项目,Qt6使用udp协议在客户端发送一条文字消息到服务器端,无ui界面,按照qt风格分开声明与实现。 1.udpserver main.cpp 12345678910#include <QCoreApplication>#include "udpserver.h"int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); UdpServer server; return a.exec();} udpserver.h 12345678910111213141516171819202122#ifndef UDPSERVER_H#define UDPSERVER_H#include <QObject>#include <QUdpSocket>#include <QHostAddr ...
windows驱动开发40.用户层与驱动层的其他通信方式
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
❓除了 IOCTL,还有没有其他通信机制?答案是:有,很多!但都有其应用场景,适合特定类型通信需求。 🧭 用户层与驱动通信的常见方式(按应用场景分类) 通信方式 说明 特点 是否支持异步 多功能支持 IOCTL(DeviceIoControl) 控制命令接口 通用、官方推荐 ✅ ✅ 多功能(用控制码区分) ReadFile / WriteFile 流式通信 数据读写,适合输入/输出管道 ✅ ⚠️ 一般只一个方向,多功能难 IOCP + Read/Write 高性能异步 I/O 适合数据流、大量异步并发 ✅ ⚠️ 通常不细分功能,用 tag/结构区分 共享内存 + 信号量 / 事件 零拷贝高性能通信 非常快,适合频繁小数据交换 ❌(需手动同步) ✅(共享内存结构定义) 命名管道(Named Pipe) 简单的双向通信 类似 socket,适合服务型驱动 ✅ ✅(靠结构/标识分功能) Section 映射内存(ZwMapViewOfSection) 高速共享数据区 复杂内核同步,适合高级场 ...
windows驱动开发39.利用结构体实现一个控制码多个功能的驱动通信方式
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
利用结构体实现一个控制码多个功能的驱动通信方式✅ SharedProtocol.h(通信协议头)12345678910111213141516171819#pragma once#define MAX_PAYLOAD 512// IOCTL 定义#define IOCTL_EXCHANGE_MESSAGE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)// 消息类型typedef enum _MESSAGE_TYPE { MSG_TYPE_SEND = 1, MSG_TYPE_QUERY = 2} MESSAGE_TYPE;// 用户层传入结构体typedef struct _USER_REQUEST { MESSAGE_TYPE MsgType; ULONG PayloadSize; CHAR Payload[MAX_PAYLOAD];} USER_REQUEST, *PUSER_REQUEST; ✅ Common.h ...
windows驱动开发38.Linux驱动编写入口_模板_编译_加载
Created2025-03-13|Drvier|C•Drvier•LinuxDriver
写一个linux驱动程序模板以下是一个Linux 内核模块(驱动)模板,适用于内核模块开发入门者,可用于字符设备、平台设备、网络驱动等的基础架构。 这个模板适用于 大多数类型的内核模块,并包括模块加载、卸载、打印日志等基础结构。 ✅ Linux 驱动程序模板(C语言)1234567891011121314151617181920212223242526272829303132// my_driver.c#include <linux/module.h>#include <linux/init.h>#include <linux/kernel.h>#define DRIVER_AUTHOR "YourName"#define DRIVER_DESC "A simple Linux driver template"// 模块加载函数static int __init my_driver_init(void){ printk(KERN_INFO "my_driver: 模块加载\n&q ...
windows驱动开发37.怎么在Windows11中加载未签名的驱动
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
方法一:使用测试签名模式在windows中设置测试签名模式: 按下 Windows + X 键打开快捷菜单 选择”Windows PowerShell (管理员)” 在 PowerShell 中输入以下命令并回车: 1bcdedit /set testsigning on 重启电脑以使更改生效 方法二:禁用windows驱动签名 在启动windows操作系统时禁用驱动签名。 命令行关闭签名验证,重启后生效。 开启与关闭命令 1234#禁用您设备上的驱动程序签名bcdedit.exe / set nointegritychecks on#启用此功能,请运行以下命令bcdedit.exe / set nointegritychecks off 方法四:使用驱动漏洞关闭签名验证 下载kdu软件。 在kdu同目录下运行命令关闭签名验证(无需重启,立即生效)。 1kdu -dse 0 成功加载驱动后可选择重新打开签名验证。 1kdu -dse 6 方法五:在系统启动阶段加载内核工具可开关驱动签名验证EfiGuard 方法六:绕过驱动强制签名加载未签名驱动 编写驱动程 ...
windows驱动开发36.漏洞驱动提权
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
使用驱动漏洞提权 安装漏洞驱动RTCore64.sys 漏洞编号:CVE-2019-16098 编写C语言代码提权到system 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139#include <Windows.h>#include <cstdio>#include <Psapi.h>#define SymLinkName L"\\\\.\\RTCore64"stru ...
windows驱动开发35.驱动创建进程
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
调用未导出的函数NtCreateUserProcess创建进程123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118#include <ntifs.h>#include <wdm.h>#include <ntstrsafe.h>#include <minwindef.h>#define Log(X) DbgPrint("qi:"X##)// 手动声明必要的未公开结构typedef struct _RTL_USER_PROCESS_PARAMETERS { BYTE Rese ...
12…19
avatar
Theqiqi
Articles
188
Tags
78
Categories
17
Follow Me
Announcement
This is my Blog
Recent Post
4.QT使用https协议通信2025-03-23
3.QT使用http协议通信2025-03-23
1.QT使用udp通信2025-03-23
1.QT使用udp通信2025-03-23
windows驱动开发40.用户层与驱动层的其他通信方式2025-03-13
Categories
  • C++Socks4
  • C++Windows+Graphi9
  • C+Socks16
  • C+Sound10
  • C语言在Windows中实现抓包4
  • C语言的万种用法9
  • Debian1
  • Drvier40
Tags
Drvier Http c语言的万种用法 jsp x86汇编程序 GDI ISO Direct3D9 Direct2D IPV4 genisoimage TCP windows driver MySql BSD Sockets Disk C Npcap DriverMonitor ipv6 android Socks5 cmake ipv4 OpenGl first pragram UDP Qt6 Socket termux System UltraISO WindowsDrive Qt MFC Cmake Ipv6 WinSock Graphi rufus
Archives
  • March 202544
  • February 202523
  • September 20242
  • August 202470
  • June 20242
  • March 20245
  • February 20248
  • October 20231
Info
Article :
188
UV :
PV :
Last Update :
©2020 - 2025 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database