问题标签 [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.

0 投票
0 回答
610 浏览

c# - 如何从高完整性(管理员)进程调用 IEGetProtectedModeCookie API?

我需要从高完整性(管理员)进程调用 IE8 IEGetProtectedModeCookie API 。每当我从 Azure webapp 调用此 API 时,我都会收到ERROR_INVALID_ACCESS。我在许多地方读到高完整性进程无法调用此 API,但在我的情况下,我需要以提升的权限运行 Azure 沙箱。

有什么方法可以从较低级别的完整性过程中调用此 API?对于 Azure 沙盒,我不得不以提升的权限运行我的 webapp。

0 投票
2 回答
9486 浏览

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 的使用中的一些基本内容。

[编辑] 完整代码:

0 投票
1 回答
3539 浏览

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 中保存的临时文件的位置调用。

执行此操作时,保护模式的用户代理会将文件从临时位置复制到用户选择的位置。

0 投票
1 回答
2802 浏览

internet-explorer-8 - Mailto 链接导致页面在 ie8 中变为空白

我的问题与这篇文章类似:mailto 与 Dojo 一起使用时会在 IE8 中导致空白页

我有一个带有 mailto 链接的页面,当用户单击该链接时,电子邮件客户端按预期打开,但页面变为空白。这只发生在ie8中。

我已经尝试使用 target=_blank 打开电子邮件客户端,但问题仍然存在。我还尝试通过 Anchor 中的 clickhandler 打开电子邮件客户端,而不是使用下面代码中的 mailto href。

我猜问题出在保护模式上,但我需要它在 ie8 上工作,而不必要求用户在浏览器上配置任何内容。该应用程序以 Intranet 模式运行,因此正如我链接的帖子中的一个回答所说,此错误不会“在发布到 Internet 时神奇地消失”。

我正在 GXT 中开发。请问有人有解决方案吗?

谢谢。

0 投票
1 回答
860 浏览

interrupt - IA32 CPU,保护模式:发生中断时哪些数据会保存到堆栈中?

我想知道堆栈中每条数据使用的字节大小。特权级别如何影响答案?

0 投票
1 回答
1511 浏览

process - 如何启动具有低完整性级别的进程

我有一个作为 BHO 对象运行的套接字客户端,它尝试与桌面应用程序通信。由于 IE 以低完整性级别运行,因此 bho 未加载在受保护模式下运行的 IE。我有两个问题。

  1. 如何以低完整性级别启动进程。
  2. 即使在保护模式下,它是否有助于 BHO 对象加载。
0 投票
1 回答
1028 浏览

internet-explorer - 从代码中禁用安全>本地Intranet>启用保护模式

如何从代码中禁用安全>本地 Intranet>启用保护模式?启用此设置后,我遇到了类似 facebook 按钮的问题。

0 投票
1 回答
541 浏览

c# - IE9 工具栏按钮的自定义图标

我为 IE9 做了一个扩展,添加了一个工具栏按钮。

注册看起来像这样:

问题是 - 图标被引用为文件系统上的文件,而不是 URL。IE Gallery 将插件分发为 .dll 而不是 .msi,因此我没有机会将 .ico 放到本地文件系统上。

如何让按钮使用我的图标?

0 投票
1 回答
291 浏览

c++ - 如何在 Windows 编程(保护模式)中访问前 1MB 的 RAM?

如何在 Windows 编程(保护模式)中直接访问前 1 MB RAM?

例如写入视频部分。

我可以使用 DPMI 解决所有问题吗?

0 投票
3 回答
1148 浏览

selenium - Selenium IEDriverServer 由于安全策略而无法配置保护模式

IEDriverServer Wiki 页面列出了以下要求:

在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。

不幸的是,在我工作的地方,公司安全策略已锁定保护模式设置,因此我无法更改设置。

有没有办法解决这个问题并让 IEDriverServer 正常工作?或者 Selenium 不是在 Windows 7 上运行 IE 7+ 的企业环境的选项,在这种环境中用户无法更改保护模式设置?

谢谢,戴夫