草庐IT

api安全

全部标签

c++ - wsprintf() 的安全版本?

就像我们有_stprintf的安全版本,即hpfortifybufferoverflow的stprintf_s警告,那么我们可以使用什么来代替wsprintf()?我试过wsprintf_s,它不工作。谁能解释一下b/w_stprintf和wsprintf的区别?或者我们可以使用stprintf_s作为wsprintf的安全版本。 最佳答案 选项记录在wsprintf下:NoteDonotuse.Considerusingoneofthefollowingfunctionsinstead:StringCbPrintf,StringC

c++ - 是否可以在没有密码的情况下使用 LogonUser API?

我正在开发一个C++应用程序,这个应用程序作为Windows服务运行。我需要模拟当前用户来访问网络位置,为此我使用WindowsAPILogonUser和ImpersonateLoggedOnUser。问题是我只有用户名和域信息,但没有密码。那么是否可以在不提供密码的情况下调用LogonUser来获取用户句柄? 最佳答案 不,那将是一个相当明显的安全漏洞。但是,您可以在当前用户的UI进程和您的服务之间使用命名管道。然后您的服务可以模拟命名管道的另一端。这是安全的,因为您控制管道的两端。

windows - 检查菜单项是否在 Delphi 中使用 API Win32 启用

我在这段代码中遇到的问题是,当菜单项被禁用时,然后在控制应用程序中传递代码“PostMessage”导致崩溃,因为我需要检查菜单项是否已启用,然后使用PostMessage。HandleMenu:=GetMenu(ParentAppHandle);HandleMenu:=GetSubMenu(HandleMenu,6{menuitemno});item:=GetMenuItemID(HandleMenu,12{submenuitemno});PostMessage(ParentAppHandle,WM_COMMAND,MakeWParam(item,0),0);

windows - NetBIOS 与 Socket API 的关系

来自SuperUserAnswer:AnapplicationthatusestheNetBIOSinterfaceAPIfornetworkcommunicationcanberunonanyprotocolstackthatsupportsaNetBIOSinterface.我们可以说NetBIOS类似于套接字API吗?还有SMB和NetBIOS是什么关系?如果NetBIOS类似于socketAPI,是否可以在socketAPI中实现SMB?如有错误请指正 最佳答案 CanwesaythatNetBIOSissimilartos

windows - 使用适用于服务运行的所有应用程序的 Windows 防火墙 API 创建规则

我正在尝试为Windows服务设置防火墙规则以拒绝所有入站和出站TCP和UDP连接,但使用Windows服务强化API的主机和端口白名单除外,遵循VBScript示例here.现在,此服务可能会产生新进程(因为它是持续集成构建和测试代理),因此仅设置NewOutboundRule.ApplicationName="%systemDrive%\WINDOWS\system32\svchost.exe是不够的"如上面的示例脚本所示-我需要一个规则来应用于服务运行的所有应用程序。但是,如果我尝试设置新的入站规则,其中未在INetFw上指定据称可选的ApplicationName属性接口(in

C++ 在公共(public)函数中使用 system() 安全还是不安全?

这个问题在这里已经有了答案:Aresystem()callsevil?(6个答案)关闭6年前。我有一个程序,我需要先执行.exe将图像转换为DDS,然后才能在我的程序中使用它们。为此,我有一个函数,我可以像这样将命令传递给system():unsignedint__stdcallScene::ExecuteCommand(void*command){returnsystem(static_cast(command));}前几天我在想,这可能是不安全/危险的,但我不是100%确定它是否是(如果是,它是如何不安全/危险的)。该功能按预期工作,但这是不好的做法吗?我应该担心吗?我的问题不是重

Windows 10 安全存储

在Windows10中,是否有类似于AndroidTrustZone的安全存储机制?数据在哪里加密并存储在与常规用户文件空间分开的位置?我希望存储来自不需要任何其他用户或应用程序访问的应用程序的数据,我真的不想只加密它并将其存储在磁盘上。有什么想法吗? 最佳答案 Windows是一个开放平台(不像非rootAndroid-我现在谈论的是用户的观点)没有简单的方法可以将任何东西存储在磁盘上(或其他地方)并保护它不受用户的影响使用权。用户本质上是其PC及其磁盘上所有内容的所有者。你能做的最好的就是使用CryptProtectData/C

c# - 假设注册表配置单元始终相同有多安全?

我正在编写一个允许您与注册表交互的控制台应用程序。应用程序以设置为空的字符串path开始。当用户键入ls时,我希望它列出所有注册表配置单元(因为它们当前位于本地计算机的顶层)。然而,经过一些广泛的研究后,我无法找到一种方法来获取当前机器上的所有注册表配置单元。假设这些hive将一直在那里有多安全?HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERSHKEY_CURRENT_CONFIG如果认为它们始终存在是不安全的,我如何动态获取它们?(很抱歉,如果“hive”不是根级子项的正确术语,我对处理注册表还很陌生)

c++ - 正确使用 Windows 控制台 API 的 CHAR_INFO 结构

控制台函数的WindowsAPI部分wincon.h定义了一个数据结构CHAR_INFO如下:typedefstruct_CHAR_INFO{union{WCHARUnicodeChar;CHARAsciiChar;}Char;WORDAttributes;}CHAR_INFO,*PCHAR_INFO;所以我们有一个8位和16位字符的并集,分别表示ASCII和Unicode字符。通常,如果你必须处理C中的union,你会标记union,即存在一个额外的字段,指示正在使用union的哪个字段。这里不是这种情况(Attributes用于不同的东西),所以我想知道如何正确使用这种数据类型的值

c++ - WPD API - 无法从设备传输内容(包括 SSCCE)

我需要枚举MTPandroid设备的内容并将文件从设备传输到WindowsPC。按照此处找到的指南TransferringContentfromaDevicetoaPC我试图将一个简单的文本文档传输到指定目录。但是,输出文件始终为空,即使返回值表明已写入X字节数也是如此。我仅使用推荐的WindowsAPI调用创建了一个SSCCE,以便轻松重现该问题。我使用了API文档和officialsampleproject供引用。main.cppQtprojectfile为了测试,我有一部通过MTP连接的安卓手机,根目录下有一个名为testFolder的文件夹,里面有一个文件testfile.tx