草庐IT

安全方案

全部标签

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

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

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”不是根级子项的正确术语,我对处理注册表还很陌生)

windows - NET::ERR_CERT_COMMON_NAME_INVALID 安全证书未指定主题备用名称

如果我的英语不太好,我深表歉意。我正在尝试从我的IIS服务器创建证书请求,但每次我都完成了请求。客户端仍然不信任Web服务器。我有开发背景,但并不真正喜欢基础设施运营。所以我的问题可能不正确,由于误解,如果是这样,请随时教育我。以下是我的问题:在开始证书申请之前,是否需要将根证书导入到windowIIS服务器中?如果是这样,我如何从Window证书颁发机构创建或导出根证书? 最佳答案 虽然这个答案不是特定于Windows的,但我通过搜索我的问题找到了这个页面,希望以下信息对像我这样在Linux上遇到这个问题的人有用:我也遇到过这个问

windows - 如何在 Perl 中线程安全地设置 STDOUT 编码?

根据文档,使用encoding模块与threads不是线程安全的,并且自perl1.18起已弃用。我在Windows7机器上使用perl5.16。我需要将输出转换为windows866编码。尝试运行线程时,以下代码解释器崩溃。useutf8;binmode(STDOUT,':encoding(cp866)');usethreads;my$thr=threads->create(sub{print"потокработает";})->detach();sleep1;print"основнойпотоктакжеработает";如果没有binmode(STDOUT,':cp866'

windows - msbuild 15 是否支持解决方案目标之前?

我已经安装了VS2017并开始使用MSBuild15构建我的解决方案。我立即注意到我的before.{SolutionName}.sln.targets文件都没有被加载。我检查了ProcMon,文件打开并读取没有错误。但是他们的操作都没有运行。有人遇到过这种情况吗?欢迎任何帮助。编辑1这是我的文件:它在VS2015中工作,但在VS2017中停止工作。 最佳答案 我想出了问题所在。VS2017在生成的sln.metaproj文件中引入了一个新目标-Restore并且这个目标在before.{SolutionFile}.sln.targ

windows - 在 Windows 中编程的编码配色方案,而不仅仅是 Visual Studio

像许多SO人一样,我几乎整天都在电脑前。我喜欢VisualStudio的深色主题(在眼睛上更舒服),但由于Windows和应用程序(资源管理器、对话框、Outlook)的其余部分具有全白背景,因此更难在漂亮的深色VS和阳光明媚之间切换window。我尝试了一个UXTheme.dll补丁,但找不到任何适用于VisualStudio和Windows应用程序的黑暗主题。有什么建议吗?编辑:明确地说,我不喜欢或几乎不喜欢白色。没有滚动条、菜单等。 最佳答案 我认为您不会找到可以完成任务的Windows主题。许多软件应用程序不遵守Window

windows - 需要从命令行运行 Windows 安全对话框

您知道,当您输入ctrl-alt-del或ctrl-alt-end时通常会得到什么。除了在这种情况下我不能按下那些键,但我想启动那个盒子。具体来说,我希望能够从命令行中调出更改密码对话框。谢谢 最佳答案 这里是RaymondChen给出的答案的扩展。我展示了如何从批处理文件调用WindowsSecurity。请注意,它只有在通过终端session连接到Microsoft终端服务器时才能正常工作。@if(@CodeSection==@Batch)@then@echooff::Seehttps://gist.github.com/Dav

c - 可以采用大于 255 个字符的路径的 Windows 全路径 API 的替代方案!

windows的_fullpathAPI取相对路径,给出对应的绝对路径。但是,如果相对路径大于255个字符,它将失败。在Windows中有没有其他API可以将相对路径转换为绝对路径并且不存在上述问题? 最佳答案 我认为最接近的是GetFullPathNamefunction.您可以显式调用它的Unicode版本并将\\?\添加到路径以允许超过MAX_PATH个字符。 关于c-可以采用大于255个字符的路径的Windows全路径API的替代方案!,我们在StackOverflow上找到一个