![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows internals 学习笔记
文章平均质量分 77
以《windows internals》作为专栏的学习书籍,学习并记录下学习内容,提升自己在window方面的知识储备
~小泽~
这个作者很懒,什么都没留下…
展开
-
windows - CRT 、API 、标准库、系统调用的关系
在windows开发时候,经常会遇到一些概念,但是这些概念之间的关系比较模糊,来看一下比较常见的几个概念,CRT、API、标准库、系统调用在介绍之前,可以先看一下他们直接的关系,然后我们在一个一个的讲解。CRT(C Runtime Library)什么是CRT任何一个程序,都需要依赖标准库的实现、底层函数、包括函数入口等函数集合。这样的代码集合称之为运行时库(Runtime Library),如果提供语言是C语言,那么就是CRT,C语言运行时库。CRT包含哪些内容内容 ..原创 2021-02-23 12:39:40 · 1178 阅读 · 0 评论 -
windbg - 调试栈溢出及一个崩溃示例
栈溢出程序崩溃,调试显示栈溢出c0000409 (Security check failure or stack buffer overrun)系统在此应用程序中检测到基于堆栈的缓冲区溢出。此超限可能会允许恶意用户控制此应用程序。EXCEPTION_RECORD: (.exr -1)ExceptionAddress: 08f276bd (nvoglv32!vk_optimusGetInstanceProcAddr+0x000c549d) ExceptionCode: c00004原创 2021-02-15 18:32:07 · 6910 阅读 · 0 评论 -
x86 函数调用过程及栈帧
在调试崩溃时候,或者在调用栈不正确的时候就需要手动的推动调用栈,需要知道函数是如何调用的,今天就来看一下栈帧。函数调用时候会做什么我们知道在函数调用时候,很多临时变量是保存到栈上,等到需要时候在取出来,栈的特点是后进先出。这一点非常适合函数的调用关系,例如:在多级的函数调用时候,最后调用的函数的内容使用完就可以释放掉,然后交给上层函数处理就可以了。接下来,我们看一下在函数调用过程中,有哪些操作,如何通过栈来保存数据的。用简单的示例演示调用过程,main中调用了func函数。其中cout的作用原创 2021-02-14 18:14:16 · 1063 阅读 · 0 评论 -
windows - 错误码
3种错误类型HRESULTs,Win32错误代码,NTSTATUS1、HRESULTHRESULT编号空间是供应商可扩展的。只要设置了C位(0x20000000)(表明它是客户代码),供应商就可以为该字段提供自己的值。HRESULT编号空间具有以下内部结构。表格1 0 1 2 3 4 5 6 7 8原创 2021-02-13 17:36:09 · 1405 阅读 · 2 评论 -
windbg - 查看函数地址
有时候需要查看函数地址,官方地址https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/x--examine-symbols- 示例:x /D /f lec_teacher!c*以下命令将查找 MyModule 中包含字符串 "spin" 的所有符号。0:000> x mymodule!*spin* 以下命令快速查找 MyModule 中的 "DownloadMinor" 和 "Downloa..原创 2021-02-08 21:36:45 · 2637 阅读 · 0 评论 -
windbg - 查看调用栈
在分析崩溃时候,经常会查看调用栈,正确理解调用中的各字段的含义对于排查问题至关重要,所以本篇重点介绍下,如何查看调用栈。查看调用栈,kb 如下图调用栈命令,可以观看官方文档 :https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/k--kb--kc--kd--kp--kp--kv--display-stack-backtrace-||2:2:196> kb *** Stack trace for las.原创 2021-02-08 18:49:44 · 1458 阅读 · 0 评论 -
windgb - !analyze -v 字段解析
字段解析FAULTING_IP: 显示错误时的指令指针 ,IP(Instruction Pointer):指令指针寄存器FAULTING_IP: ntdll!PropertyLengthAsVariant+7377f97704 cc int 3EXCEPTION_RECORD: 字段显示此崩溃的异常记录,还可以使用. .exr (显示异常记录)命令来查看此信息。EXCEPTION_RECORD: ffffffff -- (.exr fff...原创 2021-01-26 17:18:07 · 977 阅读 · 0 评论 -
windows - 网络流量监控工具
由于需要在本地的流量监控工具1、DUMeterPortable可以对当前的pc网络的上下行做记录和统计,可以统计每天的流量控制,程序实时记录2、BW功能比较强大,但是监控比较烦人,如果是查看流量的话,这个软件没有必要3、...原创 2021-01-26 15:05:22 · 3651 阅读 · 1 评论 -
windbg 调试崩溃
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言windbg 是非常强大的调试工具,但是在使用windbg 进修调试时候,很多的命令不知道如何使用。文章简单介绍如何使用windbg进行调试https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download..原创 2021-01-21 23:05:10 · 1611 阅读 · 4 评论 -
使用vs2017进行性能调试
使用vs2017进行性能调试收集 CPU 使用量数据 分析 CPU 使用量数据收集cpu使用量可以根据断点来测试,断点直接的cpu使用的情况1、打开要在 Visual Studio 中调试的项目,并在应用中设置检查 CPU 使用率的断点。2、在函数末尾或想要分析的代码区域中设置第二个断点。通过设置两个断点,可将数据收集限制到想要分析的代码部分。3、打开“诊断工具”窗口在vs2017中打开 debug->windows->show diagnostic to..原创 2021-01-21 18:36:18 · 2328 阅读 · 0 评论 -
《windows internals 指南》 工具介绍
俗话说,工欲善其事,必先利其器。学习windows internals 必须先学习可以直观展示的工具,要不很多时候只是纸面上的内容,太偏理论了。如果可以直观的看到学习的概念和知识点,会加深印象,方便记忆。所以说在学习之前,咱们先来看一下windows有哪些工具,这些工具是怎么使用,这些工具,我只会提供一些简单的截图和说明,我会提供官方的链接给大家。大家可以自行下载。http://www.sysinternals.com,随后将自动重定向至微软TechNet网站Sysinternals首页,目前该首页的地原创 2021-01-12 23:00:20 · 993 阅读 · 0 评论 -
《windows internals》 学习笔记
windows 系统上开发很多年,但是对windows系统仍是一知半解,windows的架构师什么样,ntdll、user32、kernal 这些动态库的又都是负责什么,COM 、net这些概念是解决什么问题,运行时库、标准库的关系是什么。还有系统的调度和内存管理是实现原理到底是什么样。这些问题很多都是在一些文章中零散的看到的,没有系统学习。我将在1年学习完成《windows internals》,并记录下学习过程,我们一起努力加油。大纲1、《windows internals 指南》 工具介...原创 2021-01-10 16:47:26 · 407 阅读 · 1 评论