windbg命令收集
文章平均质量分 56
cosmoslife
多媒体编程、网络编程、系统编程、网络安全编程
展开
-
内核模式调试应用层程序
=================内核模式调试应用程序========================kd> ********查看当前进程**********kd> !processPROCESS 805539a0 SessionId: none Cid: 0000 Peb: 00000000 ParentCid: 0000 DirBase: 00af80原创 2015-12-29 16:40:37 · 1074 阅读 · 0 评论 -
Using the !analyze Extension
https://msdn.microsoft.com/en-us/library/windows/hardware/ff560201(v=vs.85).aspxUsing the !analyze ExtensionThe first step in debugging a crashed target computer or application is to转载 2015-11-27 16:57:53 · 523 阅读 · 0 评论 -
windbg 命令 - !list
Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便。比如查看系统中的所有进程:lkd> !list -t nt!_LIST_ENTRY.Flink -x "dt nt!_EPROCESS UniqueProcessId ImageFileName @@(#CONTAINING_RECORD(@$extret, nt!_EPROCESS,转载 2015-12-03 13:30:22 · 728 阅读 · 0 评论 -
Bug Check 0xA: IRQL_NOT_LESS_OR_EQUAL
The IRQL_NOT_LESS_OR_EQUAL bug check has a value of 0x0000000A. This indicates that Microsoft Windows or a kernel-mode driver accessed paged memory at DISPATCH_LEVEL or above.Important This to转载 2015-12-23 13:50:29 · 1307 阅读 · 0 评论 -
windbg 脚本命令实例
debugger commands部分,痛苦死了。也找不到WINDBG的插件,还是WINDBG没插件功能?为了简化调试过程,只有学习使用SCRIPT了,现在把这几天的经验跟大家分享。附件中所有代码经NOTEPAD,REGEDIT等调试,花了几小时,基本通过。 废话多了,现在是正文。WINDBG的指令比较多,还是英文的,所以我只挑了一部分经常会用到的,并通过实例去告诉大家那些指令的作用转载 2015-12-24 17:27:46 · 767 阅读 · 0 评论 -
windbg拦截驱动
驱动的加载有几种方式,查看CreateService就可以知道。1、SERVICE_BOOT_START = 0x00000000,被系统loader加载,这类驱动是最早加载的。驱动文件必须放在C:\Windows\System32\drivers目录下,因为此时系统只能读注册表,不能打开文件,不能打出调试信息。看了下面的分析就清楚了。2、SERVICE_SYSTEM_START = 0x转载 2015-12-24 17:30:57 · 474 阅读 · 0 评论 -
windbg 如何再内核模式调试用户空间的程序
1:使用!process 0 0 获取用户空间的所有的进程的信息 !process 0 0**** NT ACTIVE PROCESS DUMP **** PROCESS 80a02a60 Cid: 0002 Peb: 00000000 ParentCid: 0000 DirBase: 00006e05 ObjectTable: 80a03788转载 2015-12-25 11:27:38 · 940 阅读 · 0 评论 -
Windbg条件断点之字符串比较
bu ntdll!LdrLoadDll "r $t0=poi(poi(esp+c)+4);as /mu ${/v:dllname} @$t0;.block{.if($spat(\"${dllname}\",\"*pass.dll\")){kbn}; .else{ad ${/v:dllname};g}}"// 判断注册表查询的是否是Start *值bu kernel32!RegQue原创 2016-02-23 17:11:44 · 2107 阅读 · 0 评论 -
Windbg帮助手册学习笔记(寄存器上下文环境)
帮助手册目录:Dbugging Tools for WindowsDebuggersDebugger OperationDebugger Operation(Kernel Mode)Changing ContextsChanging ContextsIn kernel-mode debugging, there are many processes, thr原创 2015-12-29 14:39:53 · 837 阅读 · 0 评论 -
针对LdrLoadDll下条件断点过滤指定名称DLL加载时断点生效
针对加载*ser32.dll下断点:bu ntdll!LdrLoadDll "r $t0=poi(poi(esp+c)+4);as /mu ${/v:dllname} @$t0;.block{.if($spat(\"${dllname}\",\"*ser32.dll\")){kbn}; .else{ad ${/v:dllname};g}}"-----------------------原创 2015-11-17 18:05:33 · 1030 阅读 · 0 评论 -
windbg可以查看GDT表
命令: dg 功能: 显示指定的段描述符信息 示例: 显示一个 0:003> dg 0x18 P Si Gr Pr Lo Sel Base Limit Type l ze an es ng Flags0018 00000000 ffffffff Code RE Ac 3 Bg Pg P Nl原创 2015-09-28 15:50:26 · 3755 阅读 · 0 评论 -
.cxr 手工找异常发生时的寄存器上下文
1.使用!analyze -v分析出如下一条信息:STACK_COMMAND: .cxr 02D3EF58 ; kb ; dds 2d3f23c ; kb2.这个.cxr 02D3EF58 地址是如何得到的呢?~*kbn 查看所有进程的调用栈情况发现如下信息: # ChildEBP RetAddr Args to Child 0b 02d3ee原创 2015-09-30 10:33:43 · 1507 阅读 · 0 评论 -
HOW TO: Find the Problem Exception Stack When You Receive an UnhandledExceptionFilter Call in the St
原文链接:https://support.microsoft.com/en-gb/kb/313109HOW TO: Find the Problem Exception Stack When You Receive an UnhandledExceptionFilter Call in the Stack TraceRetired KB Co转载 2015-11-09 14:00:59 · 582 阅读 · 0 评论 -
当出现ntdll!KiUserExceptionDispatcher时,如何用windbg 定位正确堆栈
某些情况下,当程序崩溃时异常没有被程序捕获,就会出现ntdll!KiUserExceptionDispatcher这种情况,这时就需要通过其他方式获取产生异常时的正确堆栈下面为KiUserExceptionDispatcher 函数和一些相关函数写的伪代码。这个函数在NTDLL.DLL中,它是异常处理执行的起点[cpp] view plainco转载 2015-11-09 14:03:05 · 6940 阅读 · 0 评论 -
Windbg设置条件断点
条件断点(condition breakpoint)的是指在上面3种基本断点停下来后,执行一些自定义的判断。 在基本断点命令后加上自定义调试命令,可以让调试器在断点触发停下来后,执行调试器命令。每个命令之间用分号分割。语法格式如:0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "0:000> bp转载 2015-11-13 17:27:46 · 455 阅读 · 0 评论 -
Windbg实用手册
基本知识和常用命令(1) Windbg下载地址http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx安装完后执行windbg –I将Windbg设置成默认调试器 (2) Windbg的命令分为标准命令,原命令和扩展命令,输入问号(?)可以显示所有的标准命令的帮助信息; 元命令以一个点(.)转载 2015-11-20 12:56:22 · 475 阅读 · 0 评论 -
Windbg调试win登录用户密码验证过程
Windbg调试win登录用户密码验证过程注: 文章内容没什么特别的新意,别人都已经写烂了,我只是记录下windbg的调试命令而已,重点在扩展阅读中。写在前面:Windows系统开机密码验证时在msv1_0.dll的MsvpPasswordValidate函数中进行的,这个函数原型是:BOOLEAN __stdcallMsvpPassw转载 2015-11-16 15:37:44 · 748 阅读 · 0 评论 -
windbg检测句柄泄露(定位到具体代码)
1.构造一个测试用例[cpp] view plaincopy#include "stdafx.h" #include void NormalFunc() { HANDLE hEvent; hEvent = CreateEvent(NULL,TRUE,TRUE,NULL);转载 2015-11-17 13:11:32 · 796 阅读 · 0 评论 -
windbg-PE完整分析
1.PE结构常用的结构体[plain] view plain copy0:001> dt ntdll!*IMAGE* ntdll!_IMAGE_NT_HEADERS ntdll!_IMAGE_FILE_HEADER ntdll!_IMAGE_OPTIONAL_HEADE转载 2016-06-16 18:55:39 · 1303 阅读 · 0 评论