Internet explorer 如何在IE浏览器插件中记录实时流
我正在为Win7/Win10/Vista编写一个IE插件(32位ActiveX dll),用于记录来自一个或多个远程IP摄像头的数据 由于以下原因,无法成功录制到某些目标目录(主要在NTFS分区和/或USB设备上)Internet explorer 如何在IE浏览器插件中记录实时流,internet-explorer,activex,uac,protected-mode,Internet Explorer,Activex,Uac,Protected Mode,我正在为Win7/Win10/Vista编写一个IE插件(32位ActiveX dll),用于记录来自一个或多个远程IP摄像头的数据 由于以下原因,无法成功录制到某些目标目录(主要在NTFS分区和/或USB设备上) fopen_s(&fp, filename, "wb") == EACCES GetLastError()==ERROR_FILE_NOT_FOUND or ERROR_ACCESS_DENIED. 实际上,目标目录下没有这样的文件。 禁用IE(11)中的“保护模式”,就不
fopen_s(&fp, filename, "wb") == EACCES
GetLastError()==ERROR_FILE_NOT_FOUND or ERROR_ACCESS_DENIED.
实际上,目标目录下没有这样的文件。
禁用IE(11)中的“保护模式”,就不会有这样的问题
我读过这篇文章
这篇文章呢
Windows Vista应用程序开发对用户帐户控制兼容性的要求
但我仍有以下要求:
有没有办法解决这个问题?或者由于安全问题,要求无效?此处您只有两种选择: 1) 您可以写入控件具有权限的位置,例如AppData/LocalLow 2) 您可以启动另一个.exe文件,该文件已被赋予一个允许它在中等完整性模式下从低完整性进程启动并进行保存的权限。它仍将限于用户帐户可以写入的地方 第一个是目前为止最简单的,但正如您所说,它有时会导致不太理想的保存位置。第二个是更多的工作,需要跨进程通信,并确保正确清理进程,但它允许您注册 从: 举例来说,下面的策略会将虚构的代理contoso.exe悄悄地提升到中等完整性级别
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Internet Explorer
Low Rights
ElevationPolicy
{0002df01-0000-0000-c000-000000000046}
AppName="Contoso.exe"
AppPath="C:\%USERPROFILE%\Application Data\Contoso"
Policy=(DWORD) 00000003
注意:出于安全原因,处于保护模式的Internet Explorer会忽略更改createProcess、createProcessAsUser和相关函数的工作目录的参数。如果进程必须接受工作目录参数,请使用逻辑异或操作将0x80000
添加到应用程序提升策略的策略设置值中。请注意,这可能会造成安全风险;因此,强烈反对这种做法
如果Microsoft确定某个应用程序存在漏洞并对最终用户造成威胁,则Microsoft保留随时从提升策略中删除该应用程序的权利
您还可以创建代理进程来访问高完整性对象。有关描述如何以高完整性级别启动代理流程的信息,请参阅“开发人员最佳实践指南”中的“管理用户应用程序指南”一节,以及“最低特权环境中的应用程序指南”。请注意,您不需要创建提升策略,因为UAC将处理提升
如果现有扩展使用rundll32.exe托管DLL库,则可以通过将库的文件名添加到以下键,以静默方式启动完整性较低的rundll32.exe进程