能力值:
( LV12,RANK:210 )
2 楼
DbgPrint
能力值:
( LV9,RANK:170 )
3 楼
哈KdPrint也行
能力值:
( LV2,RANK:10 )
4 楼
我是在应用层做的hook,这两个输出函数用不了
能力值:
( LV4,RANK:50 )
5 楼
OutputDebugString 不能格式化字符串, 贴下你的OutputDebugString的代码
能力值:
( LV3,RANK:20 )
6 楼
ntdll.dll导出了DbgPrint,你的系统不是WIN98吧
能力值:
( LV2,RANK:10 )
7 楼
用DbgView看不到DbgPrint的输出吗?
定义的函数原型
typedef NTSTATUS (__stdcall *P_DbgPrint)( LPCSTR Format, ... ); P_DbgPrint pDbgPrint = NULL;
获取函数地址
HMODULE hNtdll = GetModuleHandleW(L"ntdll.dll"); pDbgPrint = (P_DbgPrint)GetProcAddress(hNtdll, "DbgPrint"); if(NULL == pDbgPrint) { OutputDebugString(TEXT("Error")); return; } OutputDebugString(TEXT("Success "));
这是函数的调用
pDbgPrint("%wZ\n", ObjectAttributes->ObjectName);
但是在DbgView下只能看到"Success"的输出,其它什么都没看到
能力值:
( LV12,RANK:210 )
8 楼
HMODULE hNtdll = GetModuleHandleW(L"ntdll.dll");
这里成功了吗?
能力值:
( LV3,RANK:20 )
9 楼
DebugView在应用层不支持截获DbgPrint消息:
DebugView CaptureUnder Windows 2000, XP, Server 2003 and Vista DebugView will capture: Win32 OutputDebugString Kernel-mode DbgPrint All kernel-mode variants of DbgPrint implemented in Windows XP and Server 2003
能力值:
( LV5,RANK:70 )
10 楼
函数重入的问题,在你调用outputstring时,这个函数内部在一些时候会调用createfile,参数好象是 DBWIN_BUFFER
你只需要先调用系统的函数,再outputstring就可以了.
这与dbgview没关系.