阅读:2052回复:8
分享:在驱动中弹出对话框(给初学者)
从驱网上搜到在驱动中弹出对话框的方法,提供于此,给初学者参考。(感谢killvxk)。
NTSTATUS UtilsZwRaiseHardError(ULONG ZwIndex,...){ NTSTATUS status; _asm{ mov eax,[ZwIndex] Lea edx,[ebp+0x0c] Int 0x2e mov [status],eax } return status; } void ShowMessage(PWSTR Caption, PWSTR Msg) { ULONG pUnicodeArguments[] = {0, 0, 0}; ULONG ReturnValue; UNICODE_STRING uniText; UNICODE_STRING uniCaption; RtlInitUnicodeString(&uniText, Caption); RtlInitUnicodeString(&uniCaption, Msg); pUnicodeArguments[0] = (ULONG)&uniCaption; pUnicodeArguments[1] = (ULONG)&uniText; UtilsZwRaiseHardError(0xb6,0x50000018, 3, 3, pUnicodeArguments, 1, &ReturnValue); } |
|
沙发#
发布于:2008-05-06 14:56
希望对大家有所帮助
|
|
板凳#
发布于:2008-05-07 07:50
不同的OS平台的软中断号,有些是不一样的。
|
|
|
地板#
发布于:2008-05-07 08:00
这段代码在XP上执行是有效果的,
winnt是0x85 WIN2K 是 0xa0 WINXP是0xb6 WIN2003是0xbe 还有其他方法实现, 使用APC技术启动一个独立的进程。功能更强,可以做Rookit 或者直接与自己的AP通讯,让AP弹对话框。这个是比较标准的用法。 |
|
|
地下室#
发布于:2008-05-07 08:16
呃。。。夹了汇编的代码,暂时还看不懂。。。
|
|
5楼#
发布于:2008-05-07 10:19
不错,有趣的东西。只是能不能讲下那一堆参数都是什么意思,这些值是如何得出来的?
UtilsZwRaiseHardError(0xb6,0x50000018, 3, 3, pUnicodeArguments, 1, &ReturnValue); |
|
|
6楼#
发布于:2008-05-15 14:15
NTSYSAPI
NTSTATUS NTAPI NtRaiseHardError( IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL, IN PVOID *Parameters, IN HARDERROR_RESPONSE_OPTION ResponseOption, OUT PHARDERROR_RESPONSE Response ); This function sends HARDERROR_MSG LPC message to listener (typically CSRSS.EXE). See NtSetDefaultHardErrorPort for more information. ErrorStatus Error code. NumberOfParameters Number of optional parameters in Parameters array. UnicodeStringParameterMask Optional string parameter (can be only one per error code). *Parameters Array of DWORD parameters for use in error message string. ResponseOption See HARDERROR_RESPONSE_OPTION for possible values description. Response Pointer to HARDERROR_RESPONSE enumeration. -------------------------------------------------------------------------------- NtRaiseHardError is easy way to display message in GUI without loading Win32 API libraries. |
|
|
7楼#
发布于:2008-06-13 15:57
谢谢,支持一下。
|
|
8楼#
发布于:2008-07-11 15:41
青蛙下河喽!
|
|