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

使用Osquery进行远程取证:NTFS取证扩展实战指南

使用Osquery进行远程取证 - Trail of Bits博客

系统管理员使用osquery进行端点遥测和日常监控,安全威胁猎人用它发现系统上的入侵指标。现在另一个群体正在发现osquery的价值:取证分析师。虽然osquery核心功能擅长远程查询各种系统级数据,但取证扩展使其能够检查本地系统用户甚至无法访问的深层数据结构和元数据。我们继续与安全咨询公司Crypsis合作,展示osquery为取证分析师提供即时帮助的实际场景。

识别"时间戳篡改"攻击

每次与文件系统的交互都会留下痕迹。希望尽可能长时间保持隐蔽的攻击者需要清理这些痕迹。文件时间戳如果未被修改,能提供大量关于攻击者时间线和行为的信息。它们是攻击者和取证分析师共同关注的重点。"时间戳篡改"是破坏攻击者文件修改的文件系统时间戳证据的反取证策略的通用名称。

在掩盖时间戳证据方面,NTFS比其他文件系统稍微复杂一些。为此,我们需要探索NTFS的一些结构。

NTFS的核心元素是主文件表(MFT),它存储系统中每个文件的条目。MFT中的每个条目包含许多存储文件描述元数据的属性。一个属性——$STANDARD_INFORMATION($SI)——存储一组时间戳。标准文件还有一个$FILE_NAME($FN)属性,包含自己的一组时间戳。$SI属性中的时间戳大致与文件内容的交互相关。$FN属性中的时间戳大致与文件位置和名称的交互相关。最后,MFT中的目录条目有一个索引属性,存储该目录中所有文件的$FN属性(包括时间戳)的副本。

示例1:时间戳不一致

时间戳攻击的最简单示例是将文件创建日期更改为入侵前的时间。如果操作不当,$FN创建时间戳和$SI创建时间戳将不匹配。这种差异非常明显。

要使用osquery查找目录中时间戳不匹配的文件,例如,我会运行以下查询:

SELECT path,fn_btime,btime 
FROM ntfs_file_data 
WHERE device="\\.\PhysicalDrive0" 
AND partition=3 
AND directory="/Users/mmyers/Desktop/test_dir" 
AND fn_btime != btime;

我们还可以寻找其他形式的时间戳不一致。也许文件创建时间未被改动而匹配,但最后修改时间设置为更早的时间以避免检测。你会信任其MFT条目修改时间早于创建时间的文件吗?我也不会:

SELECT filename, path 
FROM ntfs_file_data 
WHERE device="\\.\PhysicalDrive0" 
AND partition=2 
AND path="/Users/Garret/Downloads" 
AND fn_btime > ctime OR btime > ctime;

示例2:时间戳缺少完整精度

攻击者有时可能很懒,使用内置系统工具进行时间戳篡改。这些工具的时间值精度低于操作系统自然使用的精度。分析师可以通过检查时间戳的纳秒部分来发现这种伪造——除非被篡改,否则不太可能全为零。

我们在上面看到NTFS时间戳是64位值。例如,考虑NTFS时间戳131683876627452045。如果你有Windows命令提示符,那是2018年4月16日星期一晚上9:27:43——具体来说,是晚上9:27:42和0.7452045分钟,但被四舍五入了。非常具体!这是一个自然文件时间戳的样子。

但是,由系统实用程序设置的文件时间戳只有秒级精度,这是大多数用户界面显示的详细程度。131683876620000000也是2018年4月16日星期一晚上9:27:42,但在整数表示中显得格外突出。这个时间戳是伪造的。

初次使用时,osquery以整数形式输出NTFS时间戳可能看起来奇怪,但这有助于有经验的取证分析师轻松发现这种伪造。

定位已删除文件的证据

用户点击了一个坏链接或打开了一个坏电子邮件附件。恶意软件开始工作。它下载几个有效负载,部署它们,将系统上的一些数据收集到文件中,将这些数据发送到上游,然后从文件系统中删除自身和所有下载的文件。一切都很整洁,对吧?

嗯,也许不是。这些文件的内容可能不再可用,但NTFS在清理文件元数据方面很懒,特别是在目录索引的上下文中。对NTFS和目录索引管理的完整解释超出了本文的范围,但我们可以提供高级概述(倾向于了解更多信息的读者可能希望阅读NTFS.com或Linux-NTFS项目的Russon和Fledel的文档)。

与NTFS上的任何文件一样,每个目录在MFT中都有一个条目。这些条目有各种属性。这里相关的属性是索引属性,它又包含目录子文件的$FN属性的副本,以树结构排列。随着文件在目录中的添加和删除,索引属性的内容会更新。但是,索引中的条目不会被删除——它们只是被标记为非活动,并可能在以后添加新条目时被覆盖。即使文件被删除,其$FN属性的副本可能仍在其父目录的索引中保留一段时间。

NTFS取证扩展使查找这些条目相对简单。

示例3:目录的未使用文件名条目

让我们从上一个示例中删除所有文件,并清空回收站。然后,通过运行以下查询查看该文件夹目录索引中的未使用条目:

SELECT parent_path,filename,slack 
FROM ntfs_indx_data 
WHERE parent_path="/Users/mmyers/Desktop/test_dir" 
AND slack!=0;

除了文件名之外,还有更多信息可用。由于存储了整个$FN属性,还有时间戳可用。我们可以仅从索引条目重建目录中文件活动的部分时间线。不过需要一些额外的工作:由于目录索引是基于文件名的,重命名文件实际上会导致旧条目被标记为非活动,并在索引中创建新条目。区分重命名的文件和删除的文件需要额外的分析。

还要注意,删除了三个文件,但只有两个文件在slack中留下了痕迹。在查看未使用的数据结构时,我们通常只能看到曾经存在的部分记录。

开始使用

此扩展提供了一种快速方便的方法,在事件响应过程中对Windows端点执行文件系统取证。从我们的存储库获取它——以及我们的其他osquery扩展。我们致力于维护和扩展我们的扩展集合。看一看,看看我们还有什么可用的。如果需要帮助,请访问Slack上的osquery社区。

帮助事件响应者进行远程取证是osquery能力不断增强的领域。除了我们的NTFS取证扩展,osquery已经支持文件雕刻、系统活动查询和基于审计的监控。毫无疑问,osquery还可以添加更多功能:远程内存雕刻、USB设备历史检索或其他文件系统的文件系统取证元数据。

6月20-21日参加QueryCon!

Trail of Bits将于2019年6月20日和21日在纽约市举办QueryCon osquery会议。正如我们在本文中通过NTFS取证扩展所展示的,osquery扩展有许多潜在用例,QueryCon 2019的一些演讲将专门探讨其中一些。Victor Vrantchan将讲授如何使用扩展和记录器插件将osquery与现有记录基础设施集成;Atul Kabra将谈论通过"事件驱动"扩展丰富osquery。

截至本文撰写时,QueryCon的门票仍然可用!立即购买您的门票,与osquery用户和开发者社区的其他人会面。带来您的扩展想法,并参与研讨会。我们期待在那里见到您!
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

相关文章:

使用Osquery进行远程取证:NTFS取证扩展实战指南

本文详细介绍了如何利用osquery的NTFS取证扩展进行远程数字取证分析,包括时间戳攻击检测、删除文件痕迹追踪等实战场景,为安全分析师提供高效端点调查方案。使用Osquery进行远程取证 - Trail of Bits博客 系统管理员使用osquery进行端点遥测和日常监控,安全威胁猎人用它发现…...

完整教程:简单介绍一下Clickhouse及其引擎

完整教程:简单介绍一下Clickhouse及其引擎pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !impo…...

矩阵分解

LU 分解 考虑将 \(A\) 分解成 \(LU\),\(L\) 为上三角矩阵,\(U\) 为下三角矩阵。 利用矩阵经典性质 \(|A|=|L||U|\),可以轻易算出 \(det(A)\)。 考虑 \(A_{i,j}=\gcd(i,j)\),一个经典性质是 \(\sum_{d|n} \phi(d)=n\),那么设 \(L_{i,j}=[j|i]\),\(U_{i,j}=[i|j]\phi(i)\)。…...

第一周个人作业

我叫张司靓,第一次在博客园写随笔,就跟大家聊聊我自己,还有对接下来学习的想法,想到哪儿说到哪儿,主打一个真实~ 一、先跟大家唠唠我自己我的日常小爱好 我平时没事就爱追剧,玩游戏,举个具体的例子:之前出的莲花楼,我已经n刷了,但每次看到大结局的时候都给我哭的死去…...

基于 Gitlab 实现 Go 的 CI/CD

# 定义流水线的几个阶段 stages:- lint- test- build- docker- deploy# 定义所有 job 的默认环境变量 variables:GO111MODULE: "on"CGO_ENABLED: "0"GOPROXY: "https://goproxy.cn,direct"# 代码静态检查 lint: # 这是 job 的…...

2025.9.11

2025.9.11讲的网络流 1.早读 P13925 [POKATT 2024] 联合猫国 / The Paw-litical Game 感觉好像在哪见过这道题,但是我不会 其实是个 \(dp\) (复杂度对吗?) 就是设 \(f[i]\) 表示考虑前 \(i\) 个最少变成几个 转移就是枚举最后一个合法状态 复杂度是 \(\sum i\) 结尾合法状态…...

容斥原理

1. 定义 有N个集合,称为 S[1],s[2]...s[n] ,则这N个集合的并集为假如有N个毫不相干的约束条件,那么可以将所有满足某个约束条件的状态看作一个集合,这样用容斥原理就可以很轻松地求出所有满足至少一个约束条件的状态总数 2. 题目 洛谷P1287 盒子与球 https://www.luogu.com…...

【B】世良真纯

...

如何使用jobleap.cn避免简历中的严重错误

如何使用jobleap.cn避免简历中的严重错误在求职竞争激烈的今天,一份优质且无误的简历至关重要。许多优秀人才因简历中的细节错误被招聘人员淘汰,但这完全可以避免。jobleap.cn作为专业的人才服务平台,致力于帮助您精准优化简历,提升面试通过率,让您在第一轮筛选中脱颖而出…...

在 Zustand 中创建通用 Action 的优雅实践

为何需要通用 Action? 在 Zustand 状态管理库中,开发者常常需要为状态对象的每个字段单独编写更新函数。然而,随着状态结构的复杂化,这种方式会导致代码冗余,维护成本增加。例如: updateName: (name) => set(() => ({ name })), updateAge: (age) => set(() =&g…...

如何用产品思维优化简历的“用户体验”?

如何用产品思维优化简历的“用户体验”?用产品思维优化简历的用户体验,关键在于让你的简历更符合招聘需求,更易被HR快速理解和认可。简历就像产品,目标用户是HR和用人主管,需求来自职位描述,设计要简单、清晰、兼容多场景,信息需要精准量化。jobleap.cn 是专注于职业发展…...

简历如何优化,简历如何投递,面试如何准备?

简历如何优化,简历如何投递,面试如何准备?简历模板建议简洁,突出关键信息,避免花哨。格式请统一用PDF,防止样式错乱。技术岗位一般不建议贴照片。简历文件名规范为“姓名_学历_岗位_手机号”,这样更专业且便于识别。学历是优势,尤其是名校毕业,可以自信标注;工作经验…...

网络流做题笔记

P3227 [HNOI2013] 切糕 考虑最小割。 对于一个坐标上的点只能选择一个 \(z\) 坐标,将 \(z\) 坐标的费用作为流量顺次连接。 第二个限制条件,先去绝对值,枚举较大值。 再限制较小值,不能小于 \(z-D\),从 \((x,y,z)\) 向 \((x,y,z-D)\) 连 \(inf\) 即可。 方格取数问题 相邻…...

简历优化全攻略:如何写出吸引HR的简历?

简历优化全攻略:如何写出吸引HR的简历?在求职过程中,简历是敲开面试大门的关键。本攻略从准备、写作到完善,教你系统优化简历内容,提高求职成功率。在求职过程中,简历是敲开面试大门的关键。本攻略从准备、写作到完善,教你系统优化简历内容,提高求职成功率。 1. 写简历…...

重塑云上 AI 应用“运行时”,函数计算进化之路

答案是,远未准备好。无论是被誉为“云原生操作系统”的 Kubernetes,还是被看作“终极形态”的无服务器(Serverless),在面对 AI 应用时都暴露出了深刻的架构失配。作者:世如 引言:AI 应用的“电器时代”与运行时的“隐形枷锁” 阿里云王坚博士曾不止一次的强调云计算的核…...

25.9.12 C语言基本数据类型

预备知识 A、1 字节(byte)=8 比特(bit) 1个比特即为1个二进制位数 B、%d 按有符号十进制整型数打印 %6d 按十进制整型数打印,至少6个字符宽(指输出的最后一个字符距行首为六字符)如:xxx123 %f 按浮点数打印(默认为小数点后6位) %6f按浮点数打印,至少6个字符宽 %06f 按…...

Avalonia:基础导航

Avalonia本身就可以实现导航功能,在主页面放置 TransitioningContentControl 控件,把它绑定到ViewModel 中的一个属性上 ViewModelBase? _currentPage;,通过更新这个属性实现导航。 我们先建二个ViewModel,一个是ColorsViewModel,一个是AboutViewModel。 using Avalonia.D…...

bashrc的一些配置记录

linux-Ubuntu22.04的bashrc在配置cuda的时候还需要配置以下内容:export PATH=/usr/local/cuda/bin:$PATH export CUDA_HOME=/usr/local/cuda export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64 export…...

H5游戏性能优化系列-----协议相关优化

H5通讯协议这一块儿最长将的搭配应该是WebSocket+Protobuf这种模式吧,本篇就聊一下protobuf相关的优化。 Protobuf基本流程导入protobuf库 一般是后端定义协议文件,xxx.proto 现在的引擎都是要求写Ts文件的,所以要生成协议类的.d.ts,这样写协议处理时才有代码提示 直接加载…...

实现我的第一个langchain应用

这里我使用了科大讯飞的免费大模型来尝试 最简的应用 from langchain_community.chat_models import ChatOpenAI from langchain.schema import HumanMessagellm = ChatOpenAI(model_name="xop3qwen1b7", # 模型名称openai_api_base="https://maas-api.cn-huab…...

小说可视化系统设计(程序员副业项目)

https://blog.csdn.net/qq_33002279/article/details/151620553本文来自博客园踩坑狭,作者:韩若明瞳,转载请注明原文链接:https://www.cnblogs.com/han-guang-xue/p/19088351...

MyEMS与开源浪潮:如何重塑全球能源管理的未来格局

在气候变化与数字化转型的双重时代背景下,能源管理已从一项辅助性工作跃升为企业战略的核心。传统的、封闭的、昂贵的商业软件解决方案曾主导这一领域,但如今,一股由开源引领的变革浪潮正以前所未有的力量冲击着旧有格局。在这股浪潮之巅,MyEMS 作为一个全功能的开源能源管…...

React Antd or Antd Pro:findDOMNode is deprecated and will be removed in the next major release.

(旧项目)我一开始用的react:18.3.0, antd:5.21.1, ant-design/pro-components:2.7.19 (1)antd更新日志关于修复这个问题的最新一版是在2024/05/19的5.17.3版本(查询于2025/09/12)而且也是部分修复antd更新日志:https://ant-design.antgroup.com/changelog-cn(2)在 Pro…...

单板挑战4路YOLOv8!米尔瑞芯微RK3576开发板性能实测

在科技飞速发展的当下,人工智能与边缘计算的融合正以前所未有的速度重塑着我们的生活。RK3576芯片拥有4核Cortex-A72以及4核Cortex-A53提供基础算力,6TOPS算力NPU来模型推导运算。使用YOLOv8模型时也是手到擒来,接下来随着步伐看看它表现如何。 YOLO简介 YOLO(You Only Loo…...

doms.ul.querySelectorvs document.querySelector:DOM查询的层级关系

在JavaScript DOM操作中,doms.ul.querySelector和 document.querySelector都是用于查找元素的方法,但它们有重要的区别。让我详细解释它们的关系和差异。 核心区别特性document.querySelectorelement.querySelector​​搜索范围​​整个文档仅限于调用元素的子元素​​执行效…...

穿越钱塘江:一条高铁隧道背后的技术挑战

​2025年9月10日,中铁四局二公司杭州机场高铁站前5标柯桥制梁场首榀箱梁顺利浇筑,标志着铁路箱梁预制施工正式拉开序幕,工程建设全面进入实体施工新阶段。 ▲现场图片(图源:越牛新闻)这一节点不仅意味着杭州机场高铁在土建施工上实现关键突破,也为后续线路铺轨、站房建设…...

Pwn2Own Automotive 2025 决赛日:49个零日漏洞与88万美元奖金揭晓

本文详细记录了Pwn2Own Automotive 2025第三日决赛战况,涵盖ChargePoint/Sony/Autel等品牌设备漏洞利用细节,包括整数溢出、缓冲区溢出、命令注入等技术细节,最终累计颁发88.6万美元奖金。第三天最终战果 欢迎来到Pwn2Own Automotive 2025的第三个也是最后一个比赛日。过去两…...

9.HPA与VPA

HPA 与 VPA ​ 在前面的学习中我们使用了一个 kubectl scale 命令可以来实现 Pod 的扩缩容功能,但是这个是完全手动操作的,要应对线上的各种复杂情况,我们需要能够做到自动化去感知业务,来自动进行扩缩容。为此,Kubernetes 也为我们提供了这样的一个资源对象:Horizontal …...

MyEMS在行动:揭秘开源能源管理系统如何重塑工业与楼宇的能效未来

当“节能降耗”从一个口号变为一项关乎企业生存与发展的关键指标时,背后的管理工具便成为了决胜因素。Across the globe, 从德国的智能工厂到中国的绿色数据中心,一款名为MyEMS的开源系统正在悄然推动一场静悄悄的能源效率革命。 本文将通过场景化的视角,深入剖析MyEMS在不同…...

题解:P14015 [ICPC 2024 Nanjing R] 生日礼物

更差的阅读体验经典套路,我个人认为是橙题。 相邻相等不好刻画,我们直接把偶数位置反转,这样一组相邻相等中恰好有一个被反转,变成删除相邻不同。 那么假设没有 \(2\),最终序列中一定只有 \(0\) 或 \(1\)。所以假设 \(0,1\) 个数分别是 \(c_0, c_1\),那么由于一次消除一个…...

吻得太逼真

无论怎么讲我都觉得虚伪 陪伴你那么久你说是受罪 从前到现在当我是谁 你这花心蝴蝶 昨夜陪你醉伤到我心碎 你竟说我和你不配 完全忘记往日为何 能与我彻夜缠绵 和你吻吻吻吻吻 你吻得太逼真 让我把虚情假意 当作最真心的亲吻 怪自己来不及区分 你对我是酷爱是敷衍 我想问问问问…...

HyperWorks许可回收机制

随着企业业务的不断发展和工程设计的复杂性增加,软件许可资源的有效利用变得尤为重要。在这样的背景下,HyperWorks引入了智能的许可回收机制,旨在帮助企业更好地管理和再利用许可资源,提升效率和成本效益。 一、什么是HyperWorks许可回收机制? HyperWorks许可回收机制是一…...

flink on k8s的基本介绍

本文分享自天翼云开发者社区《flink on k8s的基本介绍》,作者:l****n 一、背景介绍 Apache Flink 是一个流处理引擎,具有高效的流处理和批处理能力,以及良好的可伸缩性和容错性。Kubernetes(简称 K8s)是一种容器编排系统,用于自动化容器部署、扩展和管理。将 Flink 部署…...

高性能计算基础

高性能计算基础 1 性能评估指标和测试工具 2 CPU流水线、推测窒息和分支优化 3 现代内存架构、访问模式以及对算法和数据结构设计的影响 4 多线程和并发工作原理 5 锁、无锁和无等待 6 线程安全的数据结构 7 并发编程 8 零拷贝 9 编译器优化基础知识 10 高性能编程设计总结...

flutter开发window打包成exe可执行文件的步骤

1. 环境准备,以及打包步骤说明环境自己准备,这篇文章只是说明打包步骤,是在项目能运行起来的前提下进行的。 cd 到项目的根目录下 fluttter pub get //更新项目依赖 flutter build windows -t lib/main_development.dart // -t指定程序入口文件,执行完可以生成可执行…...

Transtion动画组件要求包裹元素必须是单一根节点

在 Vue 3 中,组件的模板支持多个根节点(这被称为 Fragments)。虽然这提高了灵活性,但却与 <Transition> 组件的要求冲突了。<Transition> 组件的工作原理是通过在动画的不同阶段(进入/离开)为单个根元素添加或移除 CSS 类(如 v-enter-from, v-enter-active,…...

linux启动ntp服务

linux启动ntp服务服务端修改参数: vi /etc/chrony.conf客户端指定服务端地址:...

企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent

使用 AI 网关和 MSE Nacos 也有比较成熟的落地方案,所以今天通过真实案例,向大家分享再进阶一点的 Sandbox 的落地实践。作者:计缘 前言 我之前写过两篇如何构建 AI 应用/AI Agent 的文章,里面涵盖了多个环节,多个领域的组件,整体的核心思路是想表达AI应用的本质是以 AI …...

android开发局域网内通过NTP服务端自动更新系统时间

1. 问题:如果设备有机会处于外网,一般不会有系统时间自动同步问题,但是存在一些使用场景就是设备一直处于局域网环境,如果设备关机一段时间了,再启动设备后,时间可能是1970或者其实错误时间 2. 解决方法:系统时间的自动更新是通过ntp server服务在外网可用时自动请求和同…...

一招解决Proxmox VE虚拟机磁盘空间耗尽:LVM在线扩容实战 - 若

本文将记录一次完美的线上故障排除:在不重启服务、不停机的情况下,解决Proxmox VE中Ubuntu虚拟机根目录磁盘空间100%被占满的问题。问题场景:空间告急,服务危在旦夕 在管理一台名为 tools1 的Proxmox虚拟机时,系统突然报警。登录后执行 df -h 检查,发现根目录使用率已达1…...

jiaozi

教育观(素质教育的内涵):素质教育以提高国民素质为根本宗旨是 面向全体学生的教育是 促进学生全面发展的教育是 促进学生个性发展的教育 是   以培养学生创新精神和实践能力为重点的教育 教学观: 教学从”教育者为中心” 转向 “学习者为中心” 教学从“…...

基于Linux系统的定制软件安装硬件设备选型指南

用户需求分析与选择标准 核心需求分析Linux作系统支持 :设备必须预安装或支持主流 Linux 发行版。软件定制能力 :提供完整的开发环境和包管理支持。硬件性能 :足够的计算能力来运行自定义应用程序。接口扩展性 :丰富的I/O接口,满足多样化的应用场景。选择评估维度评估维度…...

c++之is_trivially_default_constructible

is_trivially_default_constructible 是 C++ 标准库中的类型特性工具,用于检查类型是否具有平凡的默认构造函数。以下是关键信息:定义与用途该工具属于 <type_traits> 头文件,用于编译时查询类型是否满足以下条件: 类型具有平凡的默认构造函数(无需特殊操作即可构…...

python3协程学习-async,await

参考文档: https://cloud.tencent.com/developer/article/2002528 https://cloud.tencent.com/developer/article/2480588?policyId=1004 什么是协程 https://docs.python.org/3.11/glossary.html#term-coroutine 协程:Coroutines are a more generalized form of subroutin…...

猫树分治

猫树分治,又称二区间合并,一种可以用 \(O(n\log n)\) 时空复杂度预处理,\(O(1)\) 处理区间询问的算法,与 cdq 和整体二分类似。 我们考虑线段树上,我们通过 pushup 操作不断合并两个区间,做到查询 \(O(\log n)\) 个区间回答询问,但是如果没有修改操作,我们可以只询问 \…...

Rust太难了。。。。。。。

rust是我学习过的除汇编之外最难的编程语言,难到什么程度? AI写的都是tm的错误,bug。AI在其他语言上面几乎不可能...

AI导航生成寻路点-FindPathToLocationSynchronously

FindPathToLocationSynchronously() example:FHitResult Hit;if (GetHitResultUnderCursor(ECC_PhysicsBody, false, Hit)){ CacheDestination = Hit.ImpactPoint;}if (UNavigationPath* NavPath = UNavigationSystemV1::FindPathToLocationSynchronously(this, Controll…...

cache写策略

cache写策略 写命中 全写法 当cpu对cache写命中时,必须把数据同时写入cache和主存,一般使用写缓冲 cpu不会一直在写入数据,当cpu去做其他事情的时候,会有一个控制电路,把数据从写缓冲逐一写入到主存 使用写缓冲,cpu写的速度很快,如果写操作不频繁,则效果很好,如果写操…...

个人微信开发

开发微信机器人需要以下几个基本概念:机器人接口开发:框架提供了开放接口,可以通过这些接口对微信进行操作。如接收用户消息、发送消息、操作朋友圈等。 自然语言处理:机器人需要能够理解自然语言,以便能够识别用户输入的意图,并做出相应的回应。自然语言处理包括文本分析…...

C++之std::is_trivially_copyable

在C++11中,平凡类型(Trivial Type)、平凡可复制类型(TrivialCopyable)、标准布局类型(Standard-layout Type) 是描述类在内存中布局特性的术语,它们与类的构造、拷贝、赋值和销毁行为有关,也影响着类的内存布局和对齐方式。 下面用通俗的语言解释这些概念: 平凡类型 …...