问题标签 [protected-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何从高完整性(管理员)进程调用 IEGetProtectedModeCookie API?
我需要从高完整性(管理员)进程调用 IE8 IEGetProtectedModeCookie API 。每当我从 Azure webapp 调用此 API 时,我都会收到ERROR_INVALID_ACCESS。我在许多地方读到高完整性进程无法调用此 API,但在我的情况下,我需要以提升的权限运行 Azure 沙箱。
有什么方法可以从较低级别的完整性过程中调用此 API?对于 Azure 沙盒,我不得不以提升的权限运行我的 webapp。
assembly - 汇编程序在 GDT 的保护模式下跳转
我目前正在玩 x86 Assember,以提高我的低级编程技能。目前,我在 32 位保护模式下的寻址方案面临一个小问题。
情况如下:
我在 0x7e0 加载了一个程序,它将 CPU 切换到保护模式并跳转到代码中的相应标签:
到目前为止,这工作得很好。“jmp ProtectedMode”在没有明确的远跳转来清除预取队列的情况下工作 - 因为这个程序加载了偏移量 0(开头的 org 0) - 导致代码段指向正确的位置。
我现在当前的问题是,在“ProtectedMode”标签中,我想跳转到另一个在 0x8000 加载的程序(我用内存转储检查了这个,加载功能确实工作正常并且程序正确加载到 0x8000) .
由于 CPU 现在处于 ProtectedMode 而不是 RealMode,因此寻址模式不同。ProtectedMode 使用描述符选择器在描述符表中查找基地址和限制,以添加给定的偏移量并检索物理地址(据我所知)。因此,在进入 ProtectedMode 之前必须安装 GDT。
我的看起来像下面这样:
并通过加载到 GDT 寄存器
到目前为止我不明白的是,我现在如何使用 GDT 在 ProtectedMode 中跳转到物理地址 0x8000?
我的第一个想法是选择应该指向 0x7e00(当前程序是否已加载)的代码描述符(CODE_DESC)并使用到达 0x8000(512 字节)所需的偏移量,从而产生跳转指令:
但这不起作用。
也不起作用...
你知道我在这里想念什么吗?也许我不了解 32 位保护模式寻址方案和 GDT 的使用中的一些基本内容。
[编辑] 完整代码:
internet-explorer - 从 ActiveX 保存文件的技术(保护模式 IE)
我有一个 ActiveX。
ActiveX 意味着:
- IE浏览器
- 本机二进制代码
- 从 dll (.ocx) 运行
- 在保护模式
用户想要保存一些内容。我想显示一个另存为对话框,然后保存到他们说的位置。
由于托管我的 ActiveX 的进程以低完整性级别运行,因此代码无法保存到用户请求的位置。
由于托管我的 ActiveX 的进程在 Internet Explorer 的保护模式下运行,因此代码无法保存到用户请求的位置。
相反,文件被静默保存到用户未请求的位置。
相反,文件被静默保存到最终用户无法找到它们的位置。
关于如何处理这个问题有什么建议吗?
奖金喋喋不休
用户试图将什么保存到他们的硬盘上?这个问题没关系。但假装:
- 这是几百兆字节的 3D cad 网格
- 这是一个 GIS 图像转储
- 这是一个PDF
- 这是一个PNG
- 这是一个文本文件
附加阅读
Internet Explorer 的保护模式 API允许插件显示保存对话框:
然后使用保存提供的cookie保存文件:
sourcefilename
我设法保存在某个地方的文件将在哪里(这是另一个问题)。
奖金阅读
了解和在保护模式下工作 Internet Explorer
某些扩展需要将文件保存到特定位置,以便用户或应用程序以后可以找到这些文件。以下步骤显示了如何将文件保存在低完整性位置之外:
在 %userprofile%\AppData\LocalLow 中创建文件的临时版本。请记住在文件成功保存后删除临时文件。
使用用户配置文件文件夹的位置调用
IEShowSaveFileDialog
以提示用户将文件保存在不同的位置。如果用户接受“另存为”对话框,则 IEShowSaveFileDialog返回所选的目标文件夹。
IESaveFile
使用步骤 1 中保存的临时文件的位置调用。执行此操作时,保护模式的用户代理会将文件从临时位置复制到用户选择的位置。
internet-explorer-8 - Mailto 链接导致页面在 ie8 中变为空白
我的问题与这篇文章类似:mailto 与 Dojo 一起使用时会在 IE8 中导致空白页。
我有一个带有 mailto 链接的页面,当用户单击该链接时,电子邮件客户端按预期打开,但页面变为空白。这只发生在ie8中。
我已经尝试使用 target=_blank 打开电子邮件客户端,但问题仍然存在。我还尝试通过 Anchor 中的 clickhandler 打开电子邮件客户端,而不是使用下面代码中的 mailto href。
我猜问题出在保护模式上,但我需要它在 ie8 上工作,而不必要求用户在浏览器上配置任何内容。该应用程序以 Intranet 模式运行,因此正如我链接的帖子中的一个回答所说,此错误不会“在发布到 Internet 时神奇地消失”。
我正在 GXT 中开发。请问有人有解决方案吗?
谢谢。
interrupt - IA32 CPU,保护模式:发生中断时哪些数据会保存到堆栈中?
我想知道堆栈中每条数据使用的字节大小。特权级别如何影响答案?
process - 如何启动具有低完整性级别的进程
我有一个作为 BHO 对象运行的套接字客户端,它尝试与桌面应用程序通信。由于 IE 以低完整性级别运行,因此 bho 未加载在受保护模式下运行的 IE。我有两个问题。
- 如何以低完整性级别启动进程。
- 即使在保护模式下,它是否有助于 BHO 对象加载。
internet-explorer - 从代码中禁用安全>本地Intranet>启用保护模式
如何从代码中禁用安全>本地 Intranet>启用保护模式?启用此设置后,我遇到了类似 facebook 按钮的问题。
c# - IE9 工具栏按钮的自定义图标
我为 IE9 做了一个扩展,添加了一个工具栏按钮。
注册看起来像这样:
问题是 - 图标被引用为文件系统上的文件,而不是 URL。IE Gallery 将插件分发为 .dll 而不是 .msi,因此我没有机会将 .ico 放到本地文件系统上。
如何让按钮使用我的图标?
c++ - 如何在 Windows 编程(保护模式)中访问前 1MB 的 RAM?
如何在 Windows 编程(保护模式)中直接访问前 1 MB RAM?
例如写入视频部分。
我可以使用 DPMI 解决所有问题吗?
selenium - Selenium IEDriverServer 由于安全策略而无法配置保护模式
IEDriverServer Wiki 页面列出了以下要求:
在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。
不幸的是,在我工作的地方,公司安全策略已锁定保护模式设置,因此我无法更改设置。
有没有办法解决这个问题并让 IEDriverServer 正常工作?或者 Selenium 不是在 Windows 7 上运行 IE 7+ 的企业环境的选项,在这种环境中用户无法更改保护模式设置?
谢谢,戴夫