关闭IE多进程

0x00 前言

在调试IE8的时候发现有两个进程,随便选了一个进程attach,发现无法跟踪崩溃堆栈。

0x01 LCIE

从Internet Explorer 8版本开始,浏览器引入了松耦合技术(Loosely-Coupled IS,LCIE)。

在LCIE模式下,IE浏览器总是有至少两个进程——浏览器框架管理器进程(除非以管理员模式运行IE,该进程总是运行在MediumIL级别下)和一个或多个浏览器标签页内容进程,这些标签页内容进程可以下列基本运行:

LowIL,访问保护模式网站/互联网站点

MediumIL,访问内联网/受信任的站点

HighIL,以管理员身份启动 IE

框架管理器进程"可见"的承载任何完整性级别的标签。如果用户从显示LowIL级别网页的标签页访问MediumIL级别的网页,框架管理器进程可以悄悄地将当前标签页的进程切换为另一个运行在不同级别的标签页进程。这个操作称为"虚拟标签页切换"。

IE框架和标签运行在独立的进程中,这样一个标签崩溃后就不会导致整个浏览器会话丢失了。
在这里插入图片描述

0x02 关闭多进程模式

IE团队在msdn的博客上指出可以通过注册表控制多进程模式的开关。创建一个DWORD类型变量TabProcGrowth :

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

在这里插入图片描述
TabProcGrowth 的3种值:

  1. TabProcGrowth = <不存在> IE8 默认是没有这个变量的,此时默认开启LCIE。
  2. TabProcGrowth = 0 表示关闭多进程模式,对调试很有用。
  3. TabProcGrowth = 1 表示开启多进程模式

0x03 影响版本

IE8 是2008年3月份发布的,此后的IE版本都带有ICIE的功能。
如IE10, IE11等

在Win10中,新的浏览器Edge是UWP程序,不能在直接attach调试,需要指定packagename, appid和parameter才能用windbg调试。

0x04 参考文献

https://blogs.msdn.microsoft.com/askie/2009/03/09/opening-a-new-tab-may-launch-a-new-process-with-internet-explorer-8-0/
https://blog.httpwatch.com/2009/04/07/seven-things-you-should-known-about-ie-8/
https://www.blackhat.com/docs/asia-14/materials/Yason/WP-Asia-14-Yason-Diving-Into-IE10s-Enhanced-Protected-Mode-Sandbox.pdf
https://r00tk1ts.github.io/2018/04/05/x41-浏览器安全白皮书笔记/
https://blog.csdn.net/m0_37921080/article/details/83097979

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值