草庐IT

安全局

全部标签

c++ - 如何安全地从 DLL 连接到消息泵?

我正在尝试从加载我的DLL的进程中获取消息。我试过:SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)WndProc,hInstance,0);这给了我关于“程序X无法启动,因为系统中缺少Y.dll”的错误弹出窗口。这就是我在标题中加上“安全”的原因。我也试过:SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)WndProc,hInstance,threadId);threadId是我的DLLMain中GetCurrentThreadId()的结果。这个有效,但我没有收到任何窗口消息(只有一堆512和1025)。

c++ - 我可以使用全局系统 Hook 来捕获单击的文件吗?

我是Windows编程的新手,主要完成Java(JavaSE、JavaME、Android、JavaEE),所以要详细而温和。我想捕获“在窗口中单击的文件/路径的名称,就像单击桌面上的文件一样”?进一步研究http://www.codeproject.com/Articles/6362/Global-System-Hooks-in-NET,这是一个使用全局系统Hook的小型c#/c++不错的应用程序,用于捕获坐标、点击等鼠标事件。那么捕获文件图标事件的正确API或全局系统Hook是什么? 最佳答案 没有单一的API可以提供该级别的详

c# - 如何更改现有命名管道的安全性?

我在Windows8上使用HyperV,并希望能够通过命名管道与虚拟串行端口通信。我给管道选择了一个名称,它可以很好地与虚拟操作系统(在我的例子中是XP)串行端口通信,但由于PipeSecurity设置,只能在管理员用户下进行通信。现在我希望能够在由Hyper-V创建的命名管道上为每个人提供完全控制权。以编程方式或可能使用某些HyperV设置。我需要能够作为普通用户与虚拟操作系统进行通信。我知道如何在我自己使用NamedPipeServerStream和PipeSecurity对象创建的命名管道上设置特定的安全性。我主要使用C#,但我看到有像SetSecurityInfo这样的C++A

c++ - 全局关闭 C++ 新运算符异常

有什么方法可以全局关闭new运算符的异常?如果有多个,哪个最好?我试过了,但我真的不确定:#includeusingstd::nothrow;我尝试用谷歌搜索“usingstd::nothrow;”,但没有结果。我正在使用MSVC2010。我当然知道new(std::nothrow)myClass(); 最佳答案 没有。这会破坏很多代码,例如在标准header中,它确实依赖于new抛出。C++委员会意识到将数十种几乎兼容的语言标准化为同一个名称会带来危险,而仅使用5个这样的选项,您就已经拥有32种不兼容的语言。

c++ - 用户进程看不到服务创建的全局共享内存

我有一个Windows服务(在系统进程中运行)和一个需要共享配置结构的桌面应用程序。数据源自应用程序,但用户进程没有创建全局内存对象的权限,因此我在服务启动时使用CreateFileMapping()和基于thisanswer的DACL创建了它。.这似乎工作正常:我从CreateFileMapping()得到一个非空句柄并且GetLastError()是0。问题是应用程序看不到对象——OpenFileMapping()返回一个NULL句柄和ERROR_FILE_NOT_FOUND——如果我用WinObj手动浏览全局对象,我也看不到它。是什么让我的对象不可见?SECURITY_ATTRI

c++ - 假定 Windows 伪句柄的值是否安全/已定义?

我正在为Windows编写一段C++代码,需要查询进程及其每个单独线程的计时。为了进行必要的系统调用,我需要进程及其每个线程的句柄。我正在使用getCurrentProcess和getCurrentThread函数,它们都返回一个伪句柄。经过进一步检查,我注意到所有线程的伪句柄共享相同的值。在互联网上简单搜索后,我发现以下文章报告了与我得到的进程和线程伪句柄相同的值:https://weseetips.wordpress.com/2008/03/26/getcurrentthread-returns-pseudo-handle-not-the-real-handle/我的问题:从一个线

c++ - 默认安全描述符

我的应用程序有2个进程,一个需要提升,另一个不需要,但是它们在同一桌面上的同一用户帐户下运行。我需要在从文件读取的提升进程中创建一个文件(不在磁盘上,其他类型的文件),但让我的非提升进程对该文件具有写访问权限。使用nullptrSECURITY_ATTRIBUTES,非提升进程无法打开文件,CreateFile失败并显示拒绝访问代码。这是预期的,SetSecurityDescriptorDacl解决方法类似于thisanswer工作正常。但是,我不喜欢这种解决方法。我不想将对该文件的写入权限授予所有人。我只想授予当前用户访问权限。这有点敏感,提升的读取器进程将运行数小时,我不希望每个人

.NET 3.5 安全问题

我在windows2003系统上安装了.net3.5。我注意到除了最新的.net3.5级别之外,还会自动安装以前的.net级别,例如1.0和2.0。这些旧版本存在安全问题,我认为这些问题已在.net3.5中得到纠正。这是正确的还是必须为这些旧的.net版本安装相关的安全补丁来加固系统?谢谢 最佳答案 .Net3.5SP1包含自为.Net2.0、3.0和3.5打包之日起所有汇总的安全补丁。.Net3.5与3.0一样,是.Net2.0的超集。这意味着它基本上是.Net2.0的附加组件。 关于

c++ - 安装了全局 Hook 后,我如何知道窗口何时开始移动以及何时停止移动?

有没有简单的方法来解决这个问题?我想我可以使用WM_MOVE通过保持计时器来告诉我它何时开始。如果窗口在最后2秒内没有收到WM_MOVE消息,那么我就知道它刚刚开始移动。然后我又设置了一个定时器,等待他们在一段时间内(2秒)没有消息。如果什么都没有收到,那么我可以确信窗口移动已经完成。这是解决这个问题的正确方法吗? 最佳答案 如果您可以看到WM_MOVE消息,那么您也可以看到WM_ENTERSIZEMOVE和WM_EXITSIZEMOVE消息。 关于c++-安装了全局Hook后,我如何知

windows - Windows 上的安全命名共享内存,因此只有特定进程可以打开

有没有办法在Windows中使用命名共享内存设置权限,以便由进程而不是用户完成访问控制?我想让一个程序创建内存,传递句柄或传回PID,以便客户端进程可以访问内存。应拒绝所有其他进程访问。谢谢 最佳答案 访问控制仅由安全主体进行,安全主体可以是用户、组、计算机等。如果你有一个你想与另一个进程共享的对象,你可以使用DuplicateHandle. 关于windows-Windows上的安全命名共享内存,因此只有特定进程可以打开,我们在StackOverflow上找到一个类似的问题: