随笔分类 -  调试

摘要:基础知识bp 程序运行过程中下断点bu 程序未加载之前下断点bl 列出所有断点bc 清除断点今天在调试驱动的时候 发现下好断点后 无法调试WinDbg显示kd> gBreakpoint 11's offset expression evaluation failed.Check for invali... 阅读全文
posted @ 2014-11-13 15:25 vcerror 阅读(500) 评论(0) 推荐(0)
摘要:在Win7下默认DbgPrint输出信息后,使用DbgView看不到内容。新建一个reg文件,双击导出就行了。Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Sessio... 阅读全文
posted @ 2014-11-03 11:48 vcerror 阅读(522) 评论(0) 推荐(0)
摘要:昨天zhengwei同学说他机器上的一个BHO不能正常加载,我把BHO的代码拿过来,在我的两台机器上都验证了一下,一台是Win7+IE8的环境,一台是XP+IE7的环境,都能正常加载。zhengwei的机器是IE6+XP的环境,不能正常加载,升级到IE7后,还是不能加载。排除了是操作系统,以及IE版... 阅读全文
posted @ 2014-10-08 16:36 vcerror 阅读(469) 评论(0) 推荐(0)
摘要:命令==========u .u $ip上面的两个命令是效果是一样的, 反汇编当前$ip地址上的8条命令.uf .uf $ip上面两个命令的效果是一样的, 反汇编当前$ip地址上的整个函数.ub .ub $ip反汇编$ip之前的8条指令.ub $ip L2a反汇编$ip地址之前的42条指令.u $i... 阅读全文
posted @ 2014-03-31 11:57 vcerror 阅读(927) 评论(0) 推荐(0)
摘要:在Win7下默认DbgPrint输出信息后,使用DbgView看不到内容。新建一个reg文件,双击导出就行了。Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Sessio... 阅读全文
posted @ 2014-03-21 18:11 vcerror 阅读(163) 评论(0) 推荐(0)
摘要:当我们在调试器中分析问题时, 经常需要查看不同内存块的内容以分析产生的原因, 并且在随后验证所做出的假设是否正确. 由于各个对象的状态都是保存在内存中的, 因此内存的内容也就相当于对象的状态.d命令最常见的格式就是根据指定的类型信息来显示存储在某地址中的数据. 调试器并不会去猜测这个地址上存储的是什... 阅读全文
posted @ 2014-03-04 11:23 vcerror 阅读(422) 评论(0) 推荐(0)
摘要:WinDBG提供了多种设断点的命令:bp命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以bp MyApp!SomeFunction。 对于后者,WinDBG 会自动找到MyApp!SomeFunction对应的地址并设置断点。 但是使用bp的问题在于:1)当代码修改之后,函数地址改变... 阅读全文
posted @ 2013-12-21 16:01 vcerror 阅读(5156) 评论(0) 推荐(0)
摘要:bu可以针对符号下断点.这里是用bu下延迟断点的意义在于即使目标驱动没有被加载,windbg也允许我们针对符号设置断点.当新加载驱动程序后,windbg就会检查驱动程序中是否包含了设置了延迟断点的函数.如果找到了,就把断点替换为地址形式,然后再设置断点kd> bu Sys!DriverEntry 阅读全文
posted @ 2013-12-21 15:45 vcerror 阅读(187) 评论(0) 推荐(0)
摘要:SSDTHOOK的原理其实非常简单,我们先实际看看KeServiceDescriptorTable是什么样的。lkd>ddKeServiceDescriptorTable8055ab80804e3d20000000000000011c804d9f488055ab900000000000000000... 阅读全文
posted @ 2013-12-21 11:25 vcerror 阅读(974) 评论(0) 推荐(0)
摘要:WindowsAPI的系统调用过程通过KiFastSystemCall或int2e进入内核,本文仅对XP上的KiFastSystemCall进行浅析。 以ntdll!ZwCreateProcessEx为例: Eax中保存系统调用号,此处ZwCreateProcessEx的为30h;Edx是Sha... 阅读全文
posted @ 2013-11-19 17:01 vcerror 阅读(760) 评论(0) 推荐(0)
摘要:WindowsAPI的系统调用过程通过KiFastSystemCall或int2e进入内核,本文仅对XP上的KiFastSystemCall进行浅析。 以ntdll!ZwCreateProcessEx为例: Eax中保存系统调用号,此处ZwCreateProcessEx的为30h;Edx是Sha... 阅读全文
posted @ 2013-11-19 17:01 vcerror 阅读(219) 评论(0) 推荐(0)
摘要:RasieException是SEH API,SEH != 进内核,RasieException并不必然导致用户态内核态切换。事实上这个API被调用以后会首先尝试在用户态进行处理,如果没有任何处理者可用,则直接调用ExitProcess退出进程,这个调用倒是要进内核。Raising an excep... 阅读全文
posted @ 2013-11-19 16:32 vcerror 阅读(504) 评论(0) 推荐(0)
摘要:RasieException是SEH API,SEH != 进内核,RasieException并不必然导致用户态内核态切换。事实上这个API被调用以后会首先尝试在用户态进行处理,如果没有任何处理者可用,则直接调用ExitProcess退出进程,这个调用倒是要进内核。Raising an excep... 阅读全文
posted @ 2013-11-19 16:32 vcerror 阅读(188) 评论(0) 推荐(0)
摘要:问题1:问:0 Id: 15f4.e60 Suspend: 1 Teb: 7ffdf000 Unfrozen# ChildEBP RetAddr Args to Child00 0012fe80 77d693f3 00456cd8 0012feec 00456cf3 ntdll!KiFastSyst... 阅读全文
posted @ 2013-11-19 16:18 vcerror 阅读(305) 评论(0) 推荐(0)
摘要:问题1:问:0 Id: 15f4.e60 Suspend: 1 Teb: 7ffdf000 Unfrozen# ChildEBP RetAddr Args to Child00 0012fe80 77d693f3 00456cd8 0012feec 00456cf3 ntdll!KiFastSyst... 阅读全文
posted @ 2013-11-19 16:18 vcerror 阅读(167) 评论(0) 推荐(0)
摘要:1.异常分类一般来说,我们把Exception分为2类,一类是CPU产生的异常,我们称之为CPU异常(或者硬件异常)。另一类为是通过调用RaiseException API产生的软件异常,我们称之为软件异常。Windows使用同一的方式(KiDispatchException)来描述和分发这两类异常... 阅读全文
posted @ 2013-11-19 15:46 vcerror 阅读(293) 评论(0) 推荐(0)
摘要:1.异常分类一般来说,我们把Exception分为2类,一类是CPU产生的异常,我们称之为CPU异常(或者硬件异常)。另一类为是通过调用RaiseException API产生的软件异常,我们称之为软件异常。Windows使用同一的方式(KiDispatchException)来描述和分发这两类异常... 阅读全文
posted @ 2013-11-19 15:46 vcerror 阅读(534) 评论(0) 推荐(1)
摘要:在驱动中操作注册表的时候在函数前面加了如下#pragma INITCODEvoid ZwTestNum(){ULONG dwNum = 0; ....................................}结果出现蓝屏,蓝屏代码出现在这个函数中,去掉就不蓝屏了,暂时也不是太明白原因,... 阅读全文
posted @ 2013-10-12 17:14 vcerror 阅读(918) 评论(0) 推荐(0)
摘要:#include"stdafx.h"#include#ifdef_UNICODE#define_ttol_wtol#else#define_ttolatol#endifvoidUsage(){#ifdef_UNICODEwprintf(L"[Usage]:nativedebug.exe\n");#e... 阅读全文
posted @ 2013-09-28 16:33 vcerror 阅读(199) 评论(0) 推荐(0)
摘要:#include"stdafx.h"#include#ifdef_UNICODE#define_ttol_wtol#else#define_ttolatol#endifvoidUsage(){#ifdef_UNICODEwprintf(L"[Usage]:nativedebug.exe\n");#e... 阅读全文
posted @ 2013-09-28 16:33 vcerror 阅读(922) 评论(0) 推荐(0)