草庐IT

api安全

全部标签

c++ - 在运行时在 v110 可执行文件中使用 v90 COM dll 是否安全?

在使用v110编译器构建的可执行文件中使用使用v90编译器构建的COMdll是否安全?可执行文件在运行时通过COM接口(interface)使用v90dll(它不是#imported)。可执行文件是根据dll的tlb构建的。两者都静态链接到MFC,并且都使用/MT版本的运行时库。我的理解是这是可能的,但并不安全。由于存在使用注意事项(即内存分配不同,因此不能在dll中分配对象并在可执行文件中删除对象,因为这会导致意外行为)。有人可以为我澄清一下吗? 最佳答案 是的,它是安全的。前提是您遵守COM规则。COM规则是ABI1规则,包括与

c++ - 使用 Windows api 和 C++,我如何从硬盘驱动器加载一个 exe 并在它自己的线程中运行它?

为了学习,我正在尝试做操作系统在启动程序时所做的事情,即。解析一个PE文件并给它一个执行线程。如果我有两个exe,一个叫foo.exe,另一个叫bar.exe,我如何让foo.exe将bar.exe的内容加载到内存中,然后让它在自己的线程中从那里执行?我知道如何使用MapViewOfFile或通过简单地将硬盘驱动器上的内容加载到缓冲区中来将其放入内存。我假设只是将磁盘上bar.exe的内容复制到它自己的挂起线程中并运行它是行不通的。我对PE文件的内部结构比较熟悉。当然,非常感谢所有帮助:) 最佳答案 首先,兰伯特是正确的。EXE在它

Windows API : write to screen as on screen display

我正在编写一个(非常)小的应用程序,它在开始时只执行一些小的事情,并且应该在屏幕上写一条类似于屏幕显示的消息:大字母,没有任何窗口,高于一切,可见片刻然后消失。如果可能我不想为它创建一个窗口。正确的做法是什么?(我希望不需要像DirectX、直接图形访问等特殊工具包) 最佳答案 正如评论中所指出的,您可以直接在屏幕上绘图。GetDC提供返回适当的设备上下文:hWnd[in]AhandletothewindowwhoseDCistoberetrieved.IfthisvalueisNULL,GetDCretrievestheDCfor

c - 在 Windows XP 中手动更新 shell32.dll 是否安全/实用?

我正在运行我的开发环境WindowsXP。我需要访问函数SHGetKnownFolderPath。我的团队建议我用他们的更新我的shell32.dll并更新我的头文件。函数记录在这里:http://msdn.microsoft.com/en-us/library/bb762188%28v=vs.85%29.aspx现在,了解这个问题的重点是通过复制粘贴手动覆盖/更新shell32.dll的可行性。请不要以上述功能的解决方法/替代方案作为回应。这不是这个问题的重点。简单地使用Windows7版本的shell32.dll并粘贴到我的(在XP中)是否安全?我不敢测试它,因为害怕毁了我的整个操

windows - 无法在不提供凭据的情况下使用 (win_)uri 模块从 API 检索信息

情况我有一本配置Windows服务器的手册。该剧本是从带有Ansible的RHEL服务器执行的。RHEL服务器具有所有必需的kerberos配置,并且Ansible配置为使用winrmoverHTTP使用kerberos身份验证对windows主机。所有这一切都很好,我只kinit一次,一切正常。对于剧本中的一项任务,我需要先从RESTAPI检索一些信息。RESTAPI托管在使用IIS的Windows服务器上,并具有Windows身份验证。问题我想使用win_uri或uri模块从RESTAPI检索信息,但我不想提供凭据。它适用于(win_)shell模块,为什么它不适用于(win_)u

c - 安全移除安装的驱动器

我有一个应用程序可以通过SATA接口(interface)将文件写入格式化为NTFS的外部驱动器。在关闭应用程序之前,我确保使用FlushFileBuffers为每个文件刷新所有内容(即CreateFile、FlushFileBuffers、CloseHandle)。然后我卸下驱动器,而不是先卸载它!将驱动器重新插入PC机时,这似乎工作正常。但是,将其插入OSX时,操作系统似乎找不到任何文件,除非驱动器已正确卸载。磁盘中可能缺少什么导致OSX找不到任何东西,有没有一种方法可以在不卸载驱动器的情况下刷新数据?编辑:使用exfat我遇到了“脏”驱动器在重新安装时不可写的问题。

c# - 使用 HttpClient 在 localhost 上调用 rest api 导致 401 Unauthorized,IIS 8.5

我刚刚发现了一个奇怪的行为,我想知道是否有人可以解释为什么我的代码会这样。我的场景是这样的:我有两个用c#创建的restapi,我们称它们为CoreApi和FrontApi。两个api在同一台服务器上都有单独的站点和appPools,并且两个appPools都作为NetworkService运行。FrontApi使用HttpClient调用CoreApi。我通过调用FrontApi的ValuesController触发调用,后者又调用CoreApi。CoreApi启用了Windows身份验证,而FrontApi启用了匿名身份验证。如果我在我的开发机器上托管FrontApi,它一切正常,

windows - 是否有适用于 Windows Mobile 6.0 的 Office Communicator 自动化 API

是否有WindowsMobileOfficeCommunicator客户端API可以使用OCS开发插件。 最佳答案 简短的回答是否定的。但可以做的是部署CommunicatorWebAccess(CWA)并构建一个与CWA后端交互的Windows移动应用程序。 关于windows-是否有适用于WindowsMobile6.0的OfficeCommunicator自动化API,我们在StackOverflow上找到一个类似的问题: https://stackov

python - 在 python 中使用 Win32 IPHelper API 的问题

我正在尝试创建用于获取网络参数的python模块。我正在使用ctypes,但遇到了一些问题。函数__getInterfaces_win2k()适用于python2.5和2.6,但不适用于python2.7(python.exe中0x1e001759处的未处理异常:0xC0000005:访问冲突读取位置0x00000010。)函数__getInterfaces_win_after_win2k()在任何版本的python中都不起作用(同样的错误)。有时,程序在崩溃前会打印必要的信息。我已经尝试将几乎所有值与C中的程序进行比较。一切正常。非常感谢任何帮助。'''Getdifferentnet

c - 如何将对象的安全描述符重置为默认值?

作为测试实用程序的一部分,我正在创建一些注册表项并向它们应用特定的安全描述符。稍后我想将它重置为“默认”安全描述符(即从父级继承)。执行此操作的正确方法是什么?我无法保存和恢复原始安全描述符,因为此实用程序可能会在测试人员想要重置它之前运行多次。我想我可以将它保存到临时文件或注册表值中,但我更喜欢更优雅的解决方案。那么,我必须对父级的安全描述符做些什么吗?我很难弄清楚该怎么做。差点忘了说我是用C语言做的。更新:我应该补充一点,我还将对文件(以及可能的其他安全对象)执行此操作,因此如果有一种通用的方法来处理安全描述符就更好了他们自己而不是使用特定于对象的东西,如RegSaveKey。我想