- 博客(133)
- 资源 (84)
- 收藏
- 关注
原创 云原生时代CPU时钟一致性为何成为刚需?Ampere Altra给出答案
在云计算领域,多租户共享资源的模式已成为主流,但这也带来了一个棘手的问题:当多个用户的业务负载运行在同一台物理服务器上时,如何确保每个租户获得稳定可预测的性能?传统CPU的动态频率调节机制,反而在此场景中成为一把双刃剑。本文将解析Ampere Altra处理器如何通过固定时钟速度设计破解这一难题。
2025-03-31 20:50:09
580
原创 CPU中寄存器重命名技术
寄存器重命名就是这样一种处理器技术,用于动态解决WAW和WAR假相关性问题,即通过在处理器内部使用物理寄存器来重新定义逻辑寄存器。这样,即使两个指令在逻辑上使用了同一个寄存器,但在物理上,它们也可以被映射到不同的物理寄存器,从而消除假相关。寄存器重命名技术实际上解决了由于有限的寄存器数量而导致的假相关问题,使得更多的指令可以并行执行,提高了处理器的性能。也就是说汇编代码中用到的一个寄存器在CPU实际执行时有可能用的不是代码中的那个寄存器。处理器使用寄存器重命名技术可以解决WAW和WAR问题。
2025-03-29 15:51:11
93
原创 Windows驱动程序中遍历系统中运行的进程信息完整代码
闲来无事,随手写了一个在驱动程序中遍历系统中运行的进程信息代码,欢迎大家交流指导(zhxunCC)。代码在win11上跑了几次,可正常运行。
2025-03-11 15:49:00
105
原创 Windbg对特定函数下条件断点,当满足条件时再停下来方法
有时候我们需要检查一个函数执行是否成功或者执行结果是否正确,此时我们可以通过windbg给该函数下条件断点。
2025-02-21 11:05:52
113
原创 一段windows下截全屏保存成bmp的完整代码
一段windows下截全屏保存成bmp的完整代码,vs里创建控制台工程,代码拷贝进去编译后运行exe程序即可看到在程序目录下保存的屏幕图片
2024-10-17 14:46:22
168
原创 七句话帮你看懂 chatGPT是什么
一次性彻底说清楚chatGPT,先看几个牛逼的标签。微软前CEO认为,以chatGPT为代表的AIGC赛道对人类的影响力堪比工业革命。由比尔盖茨和马斯克两位世界首富联手投资,而微软的第二轮100亿美元的投资已经在路上。chatGPT是历史上最短时间做到1亿月活用户的平台,只花了两个月时间,之前最快的是tiktok,花了九个月。言归正传,用七句话帮你看懂 chatGPT是什么?
2023-02-08 19:47:53
4701
原创 Linux下删除硬盘上的分区
如果是单纯的删除分区相信大家百度随便一搜就会搜到了。我这里遇到的问题是在项目中有两块硬盘刷了同样的启动系统(这里的系统是项目定制的),当两块硬盘都在的时候,启动系统,启动到一半黑屏了,...
2021-06-15 11:46:04
16693
1
原创 NtCreatePagingFile 函数源码
NTSTATUSNtCreatePagingFile ( __in PUNICODE_STRING PageFileName, __in PLARGE_INTEGER MinimumSize, __in PLARGE_INTEGER MaximumSize, __in ULONG Priority )/*++Routine Description: This routine opens the specified file, attempt...
2021-04-16 11:04:11
360
原创 文件系统驱动里获取读写当前文件的进程信息
NTSTATUS GetProcessName(IN PEPROCESS pEproc, PWCHAR* outFullPath, PWCHAR* outProcName){ typedef NTSTATUS(*xxQUERY_INFO_PROCESS) ( __in HANDLE ProcessHandle, __in PROCESSINFOCLASS ProcessInformationClass, __out_bcount(ProcessIn.
2021-03-30 09:07:04
374
原创 FsRtlIsNameInExpression使用示例
FsRtlIsNameInExpression的功能介绍参考MSDN:https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-_fsrtl_advanced_fcb_header-fsrtlisnameinexpression一句话概括就是看一个unicode string是否满足指定的结构类型。比如想写一个功能,看一个Unicode string子串是否是以 abcd1234开头的,那这个代码可以
2021-03-27 17:01:51
1334
转载 【转载】分析Windows的死亡蓝屏(BSOD)机制
对于Windows系统来说,被人们视为洪水猛兽的蓝屏也是一种有利于系统稳定的机制。蓝屏其实是Windows系 统的一种自查机制,一但系统发现自己哪里有些不对劲后就立即抛出蓝屏,来阻止错误蔓延。倘若没有蓝屏机制,那么可能很小的一个错误最后会不断的酝酿导致系 统数据损坏的严重后果。而事实上因为Windows系统自身导致的蓝屏其实是少之又少的,更多的蓝屏诱因是各种驱动程序,因为作者个人对Rootkit类 程序感兴趣,因此在平时的学习过程中深感各种不良的内核HOOK或者过滤驱动是诱发蓝屏的小能手。当然不符合微软规定
2021-02-20 18:42:54
2424
原创 windows驱动送测WHQL时inf文件注意事项
windows驱动送测WHQL时inf文件注意事项windows驱动送测WHQL时inf文件注意事项近期遇到一个问题,通过WHQL测试且打好了微软签名的驱动文件在安装时报错,说有文件的指纹不在签名文件中,报这个错误一定是有文件被改动了。但拿到的文件肯定没有手动去改它,不应该出现这种情况。问题原因经过比对分析发现,的确是inf文件被修改了,通过beyond compare比对十六进制发现,被修改的inf文件比原文件少了几行,仔细查看,少的是换行符里的一个字符。然后结合实际情况,我是拿到驱动后,会通过
2021-01-21 17:14:26
297
原创 windows c/c++客户端程序通过cJSON解析json格式配置文件参考代码
目录1、直接去github上下载代码或者直接复制下面cJSON.h和cJSON.c到你自己的工程里2、解析示例JSON文件3、编译程序,运行,会得到如下输出:4、完整示例工程代码下载:1、直接去github上下载代码或者直接复制下面cJSON.h和cJSON.c到你自己的工程里github链接:https://github.com/DaveGamble/cJSONcJSON.h/* Copyright (c) 2009-2017 Dave Gamble and cJSO
2021-01-01 22:00:01
1098
原创 Diskspd.exe工具测试文件读写性能的一些经验
diskspd.exe的介绍大家可以网上搜索,这里就不做搬运工了,diskspd.exe github代码地址:https://github.com/Microsoft/diskspd/wiki写了驱动,发了版本,在测试时报告说性能骤降,这是大事,不能做了产品,客户安装后,系统变成蜗牛了。于是乎,一顿搜索了解,实验。测试时此工具放在系统盘,被测文件也放在系统盘,被测软件也装在系统盘,同时被测软件自身生成的日志也在系统盘。在此情况下,测试过程中,软件写日志文件会对测试造成影响,使得测试数据比不安装
2020-09-01 11:17:08
816
原创 Win10系统如何取消锁屏
同时按下【Win】+【R】组合快捷键打开运行窗口。 输入框中输入regedit,点击确定打开注册表表编辑器 在编辑器窗口中按此目录依次展开HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows; 鼠标右键点击Windows文件夹,选择新建-项,然后把新建的文件重命名为"Personalization" 新建之后,在右侧窗口空白部分点击右键新建"DWORD(32位)值",然后把数值改为"...
2020-08-07 18:31:00
1538
原创 定义可变参数的宏
像printf类的函数,如果代码中的比较多,且需要检查返回值时,没用到一个地方就添加一段返回值检查会比较烦,不添加,如果要求pclint扫描时会报warning 514。为了方便,有两种方式,一种是封装自己的函数,一种是定义成宏。封装成自己的函数的坏处时,函数里的输出如果使用 __LINE__ __FUNCTION__ 等时,所有调用的地方都会是相同的。所以,我这选择定义成宏。先上代码,VS2010验证过:#include "stdafx.h"#include <stdi...
2020-07-06 12:07:10
497
原创 禁止显示系统隐藏文件方法
禁止显示系统隐藏文件方法背景介绍系统文件对系统稳定运行至关重要,对系统不够熟悉的人随意操作系统文件会破坏系统。为了解决此问题,一种简单直接粗暴的方法就是禁止用户显示系统文件。显示系统文件方法用户可以通过文件夹选项里去掉“隐藏系统文件”勾勾,从而显示系统文件,如下图红色框框。去掉这个勾勾就可以显示出来系统文件了。一般用户稍微百度搜索一下就知道这个方法了。因此需要对这个进行限制,让使用者无法去掉这个选项的勾勾。解决方法上面图面是资源管理器(explorer.exe)的一个页面,在注册表里有一个项
2020-06-01 15:00:27
818
原创 windows文件系统驱动里FltGetFileNameInformation获取到的文件名称解析
FltGetFileNameInformation(Data, FLT_FILE_NAME_NORMALIZED | FLT_FILE_NAME_QUERY_DEFAULT, &NameInformation)1、如上面代码,在指定FLT_FILE_NAME_NORMALIZED参数时,获取到的file name情况如下:针对一个本地文件: NameInformation->Volume:\Device\HarddiskVolumeX ...
2020-05-22 14:41:03
1616
转载 Windows 平台上长路径名文件的解决方法
Windows 对长路径名文件的限制众所周知,微软的文件系统经历了 fat->fat32->NTFS 的技术变革。且不论安全和文件组织方式上的革新,单就文件名而言,已经从古老的 DOS 8.3 文件格式(仅支持最长 8 个字符的文件名和 3 个字符的后缀名)转变为可以支持长达 255 个字符的文件名。而对于路径长度,NTFS 也已经支持长达 32768 个字符的路径名。然而,W...
2020-04-23 17:20:06
2329
原创 Corrupted Memory Dump When You Obtain Full Memory Dump From A VM On WS2012 Or W2008R2 Cluster
Microsoft have released a KB article for when you get a corrupted memory dump file when you try to obtain a full memory dump file from a virtual machine that is running in a cluster environment.Sym...
2020-04-20 15:57:34
687
原创 windows dump文件产生原理
如何确保有Dump文件?1、 要清楚,Dump文件是Windows启动的一个保险机制,而蓝屏主要是用做给系统争取时间进行收集Dump文件所用,所以一个逻辑是必然会有的,那就是如果蓝屏必然触发Dump机制,Dump机制会根据系统设置进行Mini或Full的收集。2、 关于Dump文件的大小,如果Dump设置的存放位置不满足Dump文件大小也是不会产生Dump文件:a) MiniDum...
2020-04-20 15:31:26
2551
转载 抓取Dump文件的方法和工具介绍
一、Windows系统的任务管理器里抓dump启动任务管理器,选中某个进程,右键,弹出菜单"创建转储文件"注意事项:当你在64位Windows系统上抓32位进程的dmup文件时,如果用的是64位任务管理器,那么在用Windbg加载后,要用!wow64exts.sw切换到X86模式下,如果不想做这步切换,就要用32位的任务管理器来生成dmp文件。32位任...
2020-04-20 15:14:34
5094
原创 Windows下几个用户目录的获取及其作用介绍
Win7下:APPDATA=c:\users\xxx\AppData\RoamingLOCALAPPDATA=c:\users\xxx\AppData\LocalUSERPROFILE=c:\users\xxxALLUSERPROFILE=c:\ProgramDataHOMEPATH=c:\users\xxxTEMP= c:\users\xxx\AppData\Local ...
2018-11-28 11:23:52
3645
转载 VS中添加第三方库及相对路径设置
对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll)。1. 文件位置:为了提高程序的可移植性,将第三库放在解决方案(*.sln)或者工程(*.vcxproj)文件所在的文件夹下。而不要放在其他地方,比如放在D:\某个位置,这样的话,程序在别的电脑上可能就无法运行了。2. 头文件:在工程属性->VC++目录->包含目录中添加头文件...
2018-11-26 21:54:09
1801
原创 解决在64位系统中,32位程序访问注册表重定向到 WOW6432Note 里的问题
使用Wow64DisableWow64FsRedirection 函数可禁用文件系统重定向. 默认情况下系统是启用文件系统重定向的。使用此函数需要注意下面事项(以下来自MSDN的翻译):此函数适用于64位系统中32位程序需要访问本机 system32 文件夹. 默认情况下, WOW64 文件系统重定向是启用的.Wow64DisableWow64FsRedirection 和 Wow64...
2018-11-20 09:36:06
3040
原创 教你隐藏盘符,把你的小姐姐藏起来
上次一个朋友告诉我,他无意中把一台硬盘里有小姐姐爱薇的笔记本借给了小姨子。从此,小姨子看他的眼神都充满了警惕,大有一言不合就拔刀相向的感觉,两人见面经常相当尴尬。我之所以说这件事除了要告诉大家,个人电脑(PC)不要轻易借给别人,还要告诉大家,PC一定要做好隐私的保护。每个人的电脑里都可能有一些很私密的东西,尤其是爱薇人士,以像陈冠希老师这样的摄影爱好者等等。今天为大家带来了福音,教大家...
2018-11-13 09:26:46
22190
4
转载 PC客户端软件升级方式简史
在windows8之前,微软的Windows平台一直没有提供一个想苹果的AppStore或者Linux的包管理这样的统一软件管理工具。所以Windows下的软件安装、升级、卸载的事情一般都是软件自己去负责。这样导致Windows下的软件安装、升级、卸载的方式五花八门,但总体上来说方法都大同小异。安装程序主要分两种,下载器的安装包和离线安装包,这个不赘述。 今天重点聊一下升级,升级功能看似简单,但...
2018-11-06 11:32:36
2810
转载 MFC %s和%S
%s和%S跟程序的字符集设置有关。如果你的程序是UNICODE,那么%s表示对应的参数是一个WCHAR*,而%S对应的参数是一个char*如果你的程序是ANSI,那么%s表示对应的参数是一个char*,而%S对应的参数是一个WCHAR*
2017-10-16 22:23:50
1200
2
转载 WPF Path详解
WPF提供两个类来描述路径数据:一个是StreamGeometry,另一个是PathFigureCollection。 的形式是StreamGeometry的XAML代码表示形式,也是最简洁的表示形式。 这样的方式是使用PathFigureCollection的XAML代码表示方式。 这两种方式都可以达至同一种显示效果,那么,
2012-04-11 14:15:25
15957
原创 WIN32_LEAN_AND_MEAN
The Winsock2.h header file internally includes core elements from the Windows.h header file, so there is not usually an #include line for
2011-09-26 16:01:08
1553
转载 BIG Endian 与 Small Endian --大小端模式的区别
谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian
2011-08-25 10:59:25
3233
原创 使用OBJECT_ATTRIBUTES时导致的蓝屏(DRIVER_VERIFIER_DETECTED_VIOLATION (c4) )
DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
2010-09-21 15:45:00
8464
勒索病毒WannaCry深度技术分析
2018-08-01
图形控件ZedGraph使用傻瓜教程
2017-06-05
PCIbridge-subtr
2010-11-15
7-Zip 压缩工具下载
2010-10-17
深入剖析Win32可移植可执行文件格式
2010-05-10
VScsiDisk源代码
2010-04-15
ProjectOZ 源码
2010-04-12
了解不同种类的windows存储驱动.
2010-03-23
cJSON解析json格式文件代码示例(vs2019编译)
2021-01-01
windows调试工具(windbg KD CDB NTSD)实例详细介绍.pdf
2020-12-12
driver verifier使用指南.pdf
2020-12-12
windows服务应用程序开发指南.pdf
2020-05-09
Windows平台防护软件的自保护机制原理及安全性分析_李瑜.pdf
2020-04-09
OpenCppCoverage源码
2018-12-04
OpenCppCoverage(32位)安装包
2018-12-04
OpenCppCoverage(64位)安装包
2018-12-04
自定义MessageBox(XMessageBox)
2018-08-02
自己的程序如何编码去关闭windows的右键弹出菜单?
2023-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人