草庐IT

NAT模式

全部标签

c - 如何在 Windows 7 X64 SP1(x64 模式)下执行直接系统调用?

我试图模拟syscall指令在Windows7X64(SP1)上的工作方式,因此我使用MinGW64编写了一个64位GCC示例。据我所知,对于Windows,所有系统调用入口点都在ntdll.dll或ntdll32.dll中(在这种情况下,我们只关心ntdll.dll)。Status=NtCreateFile(&FileHandle,//returnedfilehandle(GENERIC_WRITE|SYNCHRONIZE),//desiredaccess&ObjectAttributes,//ptrtoobjectattributes&Iosb,//ptrtoI/Ostatusbl

c++ - 以 headless 模式运行 WinDbg

有没有办法在纯headless模式下使用WinDbg?我的用例是我应该能够在不启动WinDbgGUI的情况下为命令行上的小型转储模仿“!analyze-v”命令。 最佳答案 对于Windows调试工具,还有cdb,控制台调试器。要调试故障转储,请使用-z""选项。要立即运行命令,请使用-c"".要将所有内容输出到文件中,您可以使用常用的DOS重定向输出>或使用.logopen打开日志文件.要在分析后退出CDB,请使用q.您想确保符号设置正确,因此请包含.symfix;.reload.我更喜欢使用.symfix在命令中而不是-y,所以

c++ - 有没有办法将整个文件从文件系统微型过滤器驱动程序(内核模式)传递到用户模式应用程序?

我有一个使用WDK8.1示例的扫描仪文件系统微型过滤器驱动程序。我想知道我是否可以将整个文件发送到用户端应用程序,这样我就可以进行更复杂的计算,例如MD5哈希或其他任何东西,这样我就不必在mini中编写更复杂的操作过滤器驱动程序,而不是在用户应用程序中,我不介意引入windows.h并且我可以在堆上分配内存而不是使用ExAllocatePoolWithTag和类似的东西。我可以在一次通知中将整个文件传递到用户空间模式吗?如果不是,我将如何进行分块和同步。这是8.1扫描仪文件系统微型过滤器驱动程序示例的接口(interface),它指示微型过滤器驱动程序与用户端应用程序之间的通信:/*+

c++ - 服务和用户模式进程之间的共享全局事件不起作用

我正在尝试创建一个可以在我的服务和用户进程(-es)之间共享的命名全局事件。用户进程可以在任何低权限登录Windows用户(甚至是内置访客)的凭据下运行。也无法知道哪个进程将首先创建此事件,即服务或用户进程。因此,从服务和用户模式进程中,事件是这样创建/打开的://Eventnameismadeupusingspecial/sharedfilepath,andbasicallybecomessomethinglikethisstrEventName=L"Global\\sa_evt_C:_Users_Name_C++_Mod0110_debug_TmLog0";//Createdesc

windows - 将文件内容从内核模式传递到用户模式的最快方法?

我会尽量简短但完整地描述:这是特定于Windows的。使用Windows驱动程序开发工具包(DDK)。我是第一次编写内核模式驱动程序(KMD),之前没有任何内核模式经验。我目前正在使用DDK附带的“扫描仪”微型过滤器示例,并在其上进行扩展以进行练习。“扫描器”微型过滤器是通用“反病毒”类型扫描驱动程序的基本轮廓,它Hook文件创建/关闭并对关联文件进行操作以在批准/拒绝请求的操作之前扫描“坏词”。最终目标是在打开文件时用用户模式应用程序扫描文件,决定微型过滤器是否应该允许操作完成,而不会对正在尝试的进程或用户造成明显的减慢打开文件。当尝试保存时,我还想再次扫描整个文件,以决定是允许保存

windows - 32 位用户模式驱动程序可以在 64 位操作系统上运行吗?

我一直在查看一些关于64位驱动程序开发的信息;我发现必须重写驱动程序才能与64位操作系统兼容。但是,我想知道这是否也适用于用户模式驱动程序。我问这个的原因是因为我的理解是用户模式驱动程序通过Win32API,所以理论上它们应该能够在WOW32之上运行。这是真的吗?谢谢,海梅 最佳答案 用户模式驱动程序可以是32位或64位,但请注意以下几点:用于打印、扫描和相机的用户模式驱动程序必须是64位。不允许使用旧版API(特定于WindowsNT®4.0)。http://www.microsoft.com/whdc/driver/kernel

windows - 在 Windows 命令行上的 Prolog 中切换模式

SicstusProlog手册对用户说“|?-consult(user)”。输入子句并“返回顶层,键入^D”。但是,我使用的是Windows,手册中没有Windows说明。如何在Windows中返回查询模式? 最佳答案 在许多Prolog系统中,例如SICStus4,您可以输入事实end_of_file.来完成咨询。这个事实将不再被讨论,它只是用来表示结束。(警告:我不是Wind-ows的频繁用户。也就是说,我只有rdesktop用于此类事件。)如果您需要在程序中定义事实end_of_file.,请改为编写end_of_file:-

windows - 2个windows内核模式驱动程序之间的通信

之前从未开发过任何驱动程序。无论如何,我现在正在编写2个简单的Windows内核模式驱动程序,这2个驱动程序将安装到2个不同的设备上,这些设备连接到2个不同的总线(ISA总线/PCI总线),并且这2个驱动程序需要以某种方式与还期望彼此和数据交换,有什么有效的方法可以实现吗?内核事件可能可以启用同步,但数据交换如何?在用户模式下,管道/套接字可能是一个选项,但在内核模式下,是否有命名管道或其他东西的对应物?谷歌表示没有用于内核模式管道使用的记录API...我对Windows驱动程序框架不是很熟悉,希望我说得有道理..谢谢! 最佳答案

windows - 切换到cmd模式后切换回PowerShell模式

在PowerShell中,我们可以运行cmd来切换到命令提示符。从那里,我们如何切换回PowerShell。例如……PS>cmdC:\temp>echoIamincommandmode.Iamincommandmode.C:\temp>echoHowdoIswitchbacktoPowerShellmode?HowdoIswitchbacktoPowerShellmode? 最佳答案 输入exit。PSC:\Scripts>cmdMicrosoftWindows[Version6.3.9600](c)2013MicrosoftCor

c# - 如何检测 Aero Peek 模式是否开启

我正在尝试找出如何检测Windows桌面是否为AeroPeek模式开启。特别是我需要检测我的窗口内容是否显示或绘制为具有透明背景的框架。我知道我可以从AeroPeek中排除我的窗口,但这不是我现在需要的。TIA 最佳答案 这就是你想要的吗?[DllImport("dwmapi.dll",PreserveSig=false)]publicstaticexternboolDwmIsCompositionEnabled();publicboolIsAeroActive(){//CheckifAeroisenabled;if(DwmIsCo