约有 1,303 项符合查询结果, 以下是第 60 - 131项。
费时 < 1 秒。
上海的活动放在12月18日,不好意思,让大家久等了。感兴趣的请到下面的网页报名:
http://event.boolan.com/10002
Posted in 活动建议
by
格蠹老雷
on 2010-11-29
可以设置条件断点
bp WS2_32!WSARecvFrom+x ''.if poi(poi(@ebp+14))=y {} .else {echo WSARecvFrom called; gc;}''
x为WSARecvFrom调用下级函数的返回点偏移(相对函数入口),y为指定的字节数
Posted in Windows内核调试
by
格蠹老雷
on 2010-11-29
理解你说的,是有这样个区域的概念,是用MiSystemPteInfo这个全局变量来描述的:
kd> dd nt!MiSystemPteInfo l1
82f64820 00016200
kd> dt nt!_MI_SYSTEM_PTE_TYPE 82f64820
+0x000 Bitmap : _RTL_BITMAP
+0x008 Flags : 3
+0x00c Hint : 0xc863
+0x010 BasePte : 0xc0400000 _MMPTE
+0x014 FailureCount : 0x82f64848 ...
Posted in Windows内核
by
格蠹老雷
on 2010-11-29
U/S位(bit 2)通常不同, 为0, 代表内核特权.
例如:
kd> k
ChildEBP RetAddr
f8779d38 8053d648 nt!NtReadFile
f8779d38 7c90e514 nt!KiFastCallEntry+0xf8
00bdfe64 7c90d9da ntdll!KiFastSystemCallRet
00bdfe68 7c80199d ntdll!NtReadFile+0xc
00bdfed0 0100c232 kernel32!ReadFile+0x10d
00bdfef0 0100cb82 ...
Posted in Windows内核
by
格蠹老雷
on 2010-11-28
在UserClientDllInitialize函数中初始化的,其实就是赋值为全局变量apfnDispatch:
user32!_UserClientDllInitialize+0x22e:
769fabdd 64a118000000 mov eax,dword ptr fs:[00000018h]
769fabe3 8b4030 mov eax,dword ptr [eax+30h]
769fabe6 c7402cf0ac9f76 mov dword ptr [eax+2Ch],offset user32!apfnDispatch ...
Posted in C/C++本地代码调试
by
格蠹老雷
on 2010-11-28
对的. 可以尝试使用.process /p xxx, 稳妥的办法是先设置内核态断点,当目标进程调用内核服务时中断下来
Posted in Windows内核调试
by
格蠹老雷
on 2010-11-22
比如基于调试寄存器触发的变量监视断点触发的是陷阱类异常,如果访问变量的是下面这样的函数调用指令:
call dword ptr [eax+4]
那么异常发生后,CS:EIP指向的就是目标函数的第一条指令而不是CALL语句下的指令。
Posted in Windows内核调试
by
格蠹老雷
on 2010-11-19
如果要解决的问题一定要在这样的版本上才能重现,那么可以尝试下载符号包:
http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx
Posted in Windows内核调试
by
格蠹老雷
on 2010-11-19
可以使用双机用户态调试,自动运行一个用户态调试器,比如CDB或者NTSD,将它的输入输出通过内核调试定向到临另一台机器上的内核调试器
Posted in Windows内核调试
by
格蠹老雷
on 2010-11-19
根本的解决方法是自己写makefile, 像WRK那样, 有点麻烦, 不适合小的任务.
对于小的项目, Source文件提供了一些传递方式, 一般够用了, 比如增加头文件搜索路径:
// Source文件
INCLUDES = $(INCLUDES);..\..\inc;..\shared
增加宏定义:
C_DEFINES=
Posted in Windows驱动开发
by
格蠹老雷
on 2010-11-15