草庐IT

安全开发

全部标签

windows - 复制文件安全权限

我正在将文件从文件夹A复制到文件夹B,然后尝试复制文件权限。以下是我使用的基本步骤:复制文件(源,目标)GetNamedSecurityInfo(来源,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)使用ConvertSecurityDescriptorToStringSecurityDescriptor打印源SDSetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)GetNamedSecurityInfo(目标,GROUP_SE

c++ - 是否有适用于 Visual Studio C++ 6.0 的线程安全队列类?

我想在VS6.0中实现线程安全队列是否有一个好的类(class)可以用于此?这是一个使用CWinApp的MFC应用程序。我的former帖子带我到here但我没有在VS2010中编写代码的奢侈,因为我停留在6.0版。好吧……谢谢。 最佳答案 显然您接受了该问题的错误答案!:-)code我在我的答案中链接将适用于VC++6。 关于c++-是否有适用于VisualStudioC++6.0的线程安全队列类?,我们在StackOverflow上找到一个类似的问题: h

windows - Win32/MFC 应用程序开发选项

我仍在使用VisualC++2003来维护和增强基于PC的程序。它是用C和C++编写的,只在PC上运行——而不是在网络、手机、云或其他任何地方——我不知道这个.NET框架是什么,可能不需要这个时候要注意。无论如何,现在我已经将我的开发PC升级到Windows7,运行旧的开发环境变得越来越不方便。我认为最新的完整版VisualStudio2010仍可用于构建我的项目,但成本实在令人不快。至少在2003年,他们以大约100美元的价格单独提供VisualC++,但免费赠品VisualC++.NET2010对我一点好处都没有。那么现在有没有VisualStudioPro的替代品?如果我能找到替

c++ - 创建安全的转义路径基础/文件名,检查是否安全

我想知道是否有一种生成可移植的文件系统安全文件名的通用方法。也就是说,我有一个用户输入的字符串,并希望生成一个名称与他们选择的名称非常相似的文件。生成的名称不得包含任何路径引用或其他特殊的文件系统特殊名称或标记。目前我只是用其他字符或空字符串替换一堆已知的坏字符。例如,给定名称ABC/DEF*:ACompany?我将生成字符串ABC-DEF-ACompany。我对替换字符的选择完全是随意的,因为我不知道通用的转义符号。所以我的相关问题是:是否有一种方法(可能在boost文件系统中)可以告诉我名称是否严格引用没有路径的文件?是否有函数告诉我该名称是否“安全”用作文件(对于某些文件系统,这

windows - 从应用程序调用命令行实用程序会产生安全问题吗?

我想知道当应用程序被设计为调用打开PDF文件并在文本文件或图像中产生一些信息的命令行实用程序时是否存在危险的安全性/安全问题。 最佳答案 想到操作系统命令注入(inject)。如果用户能够控制部分命令行(例如“AcroRd32.exefile.pdf”),如果攻击者可以控制文件名,那么就必须添加强白名单验证,这样“AcroRd32.exe”就可以了。exefile.pdf&&formatC:&&rem.pdf"例如不能注入(inject) 关于windows-从应用程序调用命令行实用程序

c++ - 如何为在 MS VC++ 中开发的 C++ 程序分配特定部分的代码

我正在尝试使用这段代码将一段代码分配给一个独立的部分:#ifdef_MSC_VER#pragmasection(".evil",execute)#pragmacode_seg(".evil")#endif#ifdef__GNUC__static__attribute__((section(".evil")))#elifdefined_MSC_VERstatic__declspec(allocate(".evil"))#endifvoid__invoke__start(){//...但这不起作用,编译器说The__declspec(allocate())syntaxcanbeusedfo

c++ - 线程安全类的有序静态初始化

就结尾处的简短问题而言,这篇文章似乎太长了。但是我还需要描述一个我刚刚想出的设计模式。也许它很常用,但我从未见过它(或者它只是不起作用:)。首先,这里有一段代码(据我所知)由于“静态初始化顺序失败”而具有未定义的行为。问题是Spanish::s_englishToSpanish的初始化依赖于English::s_numberToStr,它们都是静态初始化的并且在不同的文件中,因此这些初始化的顺序是未定义的:文件:英文.h#pragmaonce#include#includeusingnamespacestd;structEnglish{staticvector*s_numberToSt

Windows开发攻略手机平板桌面

不久我们将开始开发一款应用程序,我们希望该应用程序可用于WindowsPhone7、WindowsPhone8和Windows8(平板电脑和台式机)。稍后我们还希望通过Xamarin产品使其适用于iPhone和Android手机。我过去做过不少Windows开发,但那是很久以前的事了(6年)。问题1:针对所有这些平台获得尽可能多的代码重用的最终开发策略是什么?问题二:windows版本需要选择什么UI框架? 最佳答案 正如HellScream所建议的,您可以使用类库在不同的.net应用程序之间共享代码。您还可以使用网络服务(WCF)

windows - EC2 windows 实例作为开发机,需要在 X 用户不活动时间后自动关闭

我想使用EC2windows实例作为开发环境,并希望它在X段用户不活动(没有远程桌面连接或空闲RD连接)时自动关闭,以最大限度地降低成本。有什么办法吗? 最佳答案 您可以使用Windows机器内部的任务调度程序来设置一个触发器,在机器不活动时关闭它。打开任务计划程序(假设是Windows7或8,只需将其输入到在开始/搜索框中搜索)在右边的操作框上创建一个任务给它起个名字无论用户是否登录都运行以最高权限运行(关机需要管理员权限)单击“触发器”选项卡新建...开始任务:设置为空闲点击确定点击条件标签只有当计算机闲置(您的空闲时间)如果空

c++ - 在 Cygwin C++ 中开发

几年来,我一直在VisualStudioforWindows和GCC(代码块)forLinux中编写程序。我的大部分库在Windows和Linux中都可以无缝编译。但是目前我有点困惑,因为我必须使用Cygwin创建一个应用程序。我真的不明白我是否仍在UNIX/Linux环境中,只是通过某种“仿真”在Windows上运行应用程序,或者我只是在Windows上访问某些Linux/Unix功能。从我从常见问题解答和文档中了解到的情况来看,我似乎应该像在Linux环境中那样工作。我在互联网上找到的所有解释通常都非常笼统,没有从程序员的角度解释详细的差异。简短的问题:在使用Cygwin时,我可以