成都创新互联科技有限公司长沙seo推广营销

bicheng/2026/1/23 9:00:39/文章来源:
成都创新互联科技有限公司,长沙seo推广营销,电影网站开发需要多少钱,wordpress 背景特效插件一#xff1a;背景 一直在用 WinDbg 调试用户态程序#xff0c;并没有用它调试过 内核态#xff0c;毕竟不是做驱动开发#xff0c;也没有在分析 dump 中需要接触用内核态的需求#xff0c;但未知的事情总觉得很酷#xff0c;加上最近在看 《深入解析 Windows 操作系统》…一背景 一直在用 WinDbg 调试用户态程序并没有用它调试过 内核态毕竟不是做驱动开发也没有在分析 dump 中需要接触用内核态的需求但未知的事情总觉得很酷加上最近在看 《深入解析 Windows 操作系统》 一书书中有不少案例需要深入到 内核态 所以这篇准备整理一下如何用 WinDbg 调试 C# 内核态吧。操作环境Windbg Preview宿主机Windows 10虚拟机Windows 10二搭建内核态调试 1. 基本原理操作系统的引导程序 BootMgr 和 WinLoad 内置了调试模式支持以 COM 接口互通所以我们需要先添加一种可供调试的启动项供引导程序 BootMgr 启动时弹框让我们选择。2. 配置调试启动项大家可以在 https://msdn.itellyou.cn/ 下载一个完整版的 Window10 ISO 包这里就不细说了启动虚拟机进入 Windows10 以管理员模式打开 CMD 窗口执行如下 四条命令 来编辑 bcd (Boot Configuration Data)。bcdedit /dbgsettings serial baudrate:115200 debugport:1 bcdedit /copy {current} /d WinDbg bcdedit /displayorder {current} {ID}  bcdedit /debug {ID} ON注意一下这里的 {ID} 是 CMD 上生成的 GUID这是你的启动项唯一键别名是 WinDbg 在我的界面上大概是这个样子3. 配置 COM 接口这里有几个步骤要注意了大致如下1 把打印机选项移除了因为它占用了 COM1 接口。2 新增一个 串行端口。3在 使用命名管道 中填入 \\.\pipe\com_1, 同时勾选 轮询时主动放弃CPU。设置完之后点击确定完整截图如下4. 配置 Windbg Preview我们把 WinDbg 打开选择 Attach to kernel 选项然后选择 COM 模式设置 Baud Rate 115200 然后是 Port\\.\pipe\com_1 配置完之后点击 OK, 完整截图如下如果一切正常的话Windbg 应该是如下输出等待COM连接状态。Microsoft (R) Windows Debugger Version 10.0.25136.1001 AMD64 Copyright (c) Microsoft Corporation. All rights reserved.Waiting for pipe \\.\pipe\com_1 Waiting to reconnect...5. 启动虚拟机这些都配置完之后我们重新启动虚拟机在 BootMgr 阶段会出现两个引导项其中一个就是在 小项2 时配置的我们选择它就好了完整截图如下稍等片刻后 WinDbg 会显示连接成功在进入初始化时会 int 3 中断, 如果你真的到了这一步那恭喜你Microsoft (R) Windows Debugger Version 10.0.25136.1001 AMD64 Copyright (c) Microsoft Corporation. All rights reserved.Waiting for pipe \\.\pipe\com_1 Waiting to reconnect... Connected to Windows 10 10240 x64 target at (Thu Sep  1 23:23:35.235 2022 (UTC  8:00)), ptr64 TRUE Kernel Debugger connection established.  (Initial Breakpoint requested)************* Path validation summary ************** Response                         Time (ms)     Location Deferred                                       srv*c:\mysymbols_fix*https://msdl.microsoft.com/download/symbols Error                                          D:\net5\ConsoleApp1\Debug Deferred                                       srv*c:\mysymbols*https://msdl.microsoft.com/download/symbols Symbol search path is: srv*c:\mysymbols_fix*https://msdl.microsoft.com/download/symbols;D:\net5\ConsoleApp1\Debug;srv*c:\mysymbols*https://msdl.microsoft.com/download/symbols Executable search path is:  Windows 10 Kernel Version 10240 MP (1 procs) Free x64 Edition build lab: 10240.17394.amd64fre.th1_st1.170427-1347 Machine Name: Kernel base  0xfffff802a3c7b000 PsLoadedModuleList  0xfffff802a3fa0070 System Uptime: 0 days 0:00:00.092 nt!DebugService20x5: fffff802a3dcfca5 cc              int     3因为是初始化中断接下来在 WinDbg 命令面板中先用 g 执行让操作系统继续跑下去,稍等片刻就会进入到 Windows 10 的操作界面。6. netcore 测试前段时间写了一篇文章聊到了 ReadFile 从用户态切到内核态的过程还画了一张图。现在可以调试 内核态 那何不试试看呢哈哈说干就干先上一段测试代码。static void Main(string[] args){var i  0;File.WriteAllText(C:\1.txt, hello world!);while (true){var str  File.ReadAllText(C:\1.txt);Console.WriteLine(${i}, content{str.Length});Thread.Sleep(1000);}Console.ReadLine();}为了方便观察用户态栈我在虚拟机中的 Windows10 系统上安装一个 WinDbg10目的就是拦截 ntdll!NtReadFile 函数时输出 用户态栈。bp ntdll!NtReadFile k 10;gc可以看到每次只要程序输出一次windbg10 都能成功拦截接下来在宿主机的 WinDbg Preview 中先输入 .reload 重新加载下符号目的就是方便看到用户态上的 ntdll.dll 函数名但不一定好使碰碰运气吧接下来输入 nt!NtReadFile 观察内核态栈。bp nt!NtReadFile从新老Windbg截图中可以清晰的看到这个的 Child-SP 线程栈终于对接上了也就验证了图上所说:ntdll!NtReadFile (用户态网关) - nt!KiSystemServiceCopyEnd内核态调度中心 - nt!NtReadFile 内核态处理函数。好了本篇就先说这么多希望对大家有帮助也是对自己的一个总结。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信制作网站设计wordpress网站换域名

1 教学实训总体设计 1.1 建设背景 (一)政策推动与战略部署 近年来,物联网技术在全球范围内得到了广泛的关注和应用。作为信息技术的重要组成部分,物联网在推动经济转型升级、提升社会管理水平、改善民生福祉等方面发挥着重要作…

网站中的宣传册翻页动画怎么做在深圳注册公司流程及费用

目录 一、网络配置命令 1.ifconfig——IP地址 1.1ifconfig的基础用法 1.1.1ifconfig命令详解 1.2常用格式 1.3修改网卡名称 1.3.1临时修改 1.3.2永久修改 1.4临时修改网卡 1.4.1设置虚拟网卡 1.4.2延伸——ethtool 1.5永久修改网卡 1.6实验 —— 双网卡配置 1.…

青岛php网站建设网站怎样做关键词优化

参考资料:用python动手学统计学 1、t统计量 t统计量的计算公式为: 其中,为样本均值,μ为总体均值,为实际样本的无偏标准差,N为样本容量。 t统计量的公式与标准化公式类似。t统计量可以理解为对样本均值…

wordpress网站静态化在线查看网站源码

实验五:AAAI 会议论文聚类分析 ​ 本次实验以AAAI 2014会议论文数据为基础,要求实现或调用无监督聚类算法,了解聚类方法。 1 任务介绍 ​ 每年国际上召开的大大小小学术会议不计其数,发表了非常多的论文。在计算机领域的一些大…

如何查看vs中建设好的网站开通招聘网站如何做分录

2023年8月30日,EESA第二届中国国际储能展览会在苏州国际博览中心拉开帷幕,科士达以“零碳光储数能未来”为主题,亮相G3-20展台,多维度展现户用光储、工商业储能、大型储能等解决方案,彰显安全、高效、可靠的产品性能和…

一起做网站广州下载中心官方网站建设银行

1、匿名对象 匿名:没有名字 生活层面:匿名投票、匿名信... 程序层面: 有名对象和匿名对象 有名对象: 理解:有名字的对象 模板: 数据类型 对象名 new 数据类型(...); 匿名对象: 理…

关于网站建设的好处网站建设教程主页

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题、中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 转载说明:务必注明来源(注明:…

天津平台网站建设推荐北京百度seo排名点击软件

1 命名规范 1.1 Go是一门区分大小写的语言。 命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。 Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。 当命名&#xff08…

淄博企业网站建设网页升级紧急通知区域

这是我去额尔古纳的公路上,隔着车窗拍摄的照片。三幅照片可以感觉时间的变化,从午后到黄昏,光和色彩逐渐朦胧凝重,像蒙古画家朝戈的油画。这样的景象在草原上随处可见。沙石路只有在草原的深处可以见到,坐在车里身体会…

.net开发网站的优点网站建设广告平台推广

Python2 与 Python3 print 不换行 分类 编程技术 本文主要介绍在 Python2 与 Python3 下 print 实现不换行的效果。 Python 3.x 在 Python 3.x 中,我们可以在 print() 函数中添加 end"" 参数,这样就可以实现不换行效果。 在 Python3 中&a…

游戏网站建设视频教程老网站做seo能不能重新注册

我最近读了一个非常聪明的技巧来完成你所要求的工作。简而言之,你只需要使用text-align:justify;在容器元素上实现这一点,结合一个额外的不可见块。这是因为内联块元素被视为文本内容的一部分,每个元素实际上是单个单词。使用对齐…

苏州建设公司网站建设奇迹网站架设视频

反转单链表 题目描述 题目分析 先来说迭代的思想: 上面next cur->next应该放在cur->next pre前面执行,这里笔误 再来说递归的思想: 题目代码 这个代码里面我加了我自己写的测试数据,自己可以去找对应的部分&#xff0c…

机场建设相关网站站长工具网站排名

前言 只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递,下面我总结了 4 种页面方法。 路径传递 通过在url后面拼接参数,参数与路径之间使用 ? 分隔,参数键与参数值用 相连,不同参数用 & 分隔;如…

上海市普陀区建设规划局网站长沙如何优化排名

目录 一、防火墙基本认识 1. 安全技术 2. 防火墙分类 3. 防火墙工具介绍 二、iptables 1. 概述 2. 五表五链 3. 语法 3.1 基本语法 3.2 语法总结 4. 管理选项 5. 通用匹配 6. 控制类型 7. iptables应用 7.1 新增防火墙规则 7.2 查看规则表 7.3 黑白名单 7.4 …

进入网站后台ftp空间后怎样上传wordpress建的网站吗

1 花盆 是高度比较低的盆,只有一个下2;上面分两个 1 2 盆边缘颜色深,上面靠近外面的颜色浅,正面颜色稍微深一点,画两条竖的浅色线,作为装饰 2 花盆中的沙石 沙子颜色深一点,中间有浅一点的线…

全球网站排名查询网做选择网站

GPIO控制-外部中断 文章目录 GPIO控制-外部中断1、CH32V307中断介绍2、GPIO外部中断相关API3、外部中断使用代码实现CH32V3x 系列内置可编程快速中断控制器(PFIC– Programmable Fast Interrupt Controller),最多支持255 个中断向量。当前系统管理了88 个外设中断通道和8 个…

网站开发适合女生不网络架构方案规划设计和实施

目录 前言: 1.HTTPS协议理论 1.1协议概念 1.2加密 2.两类加密 2.1对称加密 2.2非对称加密 3.引入“证书” 3.1证书概念 3.2数据证书内容 3.3数据签名 4.总结 前言: 了解完HTTP协议后,HTTPS协议是HTTP协议的升级加强版&#xff0c…

做一款网站万站霸屏

文章目录 【Oracle】如何给物化视图分区给物化视图进行分区的例 【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) 收集Oracle数据库内存相关的信息 【Oracle】ORA-32017和ORA-00384错误处理 【Oracle】设置…

淘宝导购网站源码学校网站建设配套制度

完美撤离!暗区突围测试资格获取指南 超简单的暗区突围资格申请! 最近游戏圈关注度最高的一件事莫过于暗区突围国际服的上线,随着暗区突围PC端的上线,这款游戏的测试资格申请成为了玩家们心头的一个大问题,许多玩家爱不…

网站建设怎么做呢计算机网站建设教程

首先,单例模式分为饿汉模式和懒汉模式 单例模式有什么用呢? 可以保证在程序运行过程中,一个类只有一个实例,而且该实例易于供外界访问,从而方便的控制了实例个数,并节约系统资源。 例如:DataSource&#x…