劫持浏览器首页越来越嚣张了

昨晚下班回家有个网友找我,说他的浏览器打开百度总是不停的刷新,让我远程给他看看。 然后就看看,在用户那里用浏览器打开百度果然是不停的刷新,切换到IE内核就正常了。然后用Fiddler抓个包看看,chrome内核下面浏览器打开百度会不停的刷新https://www.baidu.com/”,看网络包的内容,内容是: 百度的https网络包竟然被篡改了,... Read More | Share it now!

Chromium静默安装扩展

Chromium有非常强大的扩展系统,很多功能可以通过扩展实现,比如广告过滤,购物比价。所以开发Chromium功能,不一定需要修改Chromium的C++源代码,只需要做一个扩展就可以了。 通过Chromium的扩展来增强浏览器功能,有多个优点: 功能耦合低。浏览器客户端只需要提供相应的接口API,扩展去调用相应的接口API即可。 开发客户端接口API和开发扩展可以并行。另外Chromium有完善的扩展系统,调试等等都非常方便。 升级独立。以后升级扩展就可以升级功能了,而不需要升级整个浏览器。 开发速度开。因为扩展大多数是用的web开发技术,就是html和js,所以开发起来很快。而修改Chromium的c++代码则复杂很多。 随着Chromium安全策略的收紧,一般来说,只能通过Chrome的应用商店来安装扩展,禁止其他扩展静默安装。https://developer.chrome.com/extensions/external_extensions根据这篇文档的描述,浏览器想内置一些扩展限制很多,比较麻烦。如果自己定制浏览器,想默认安装一些扩展,不是很方便。 其实,如果改代码的话,就没有任何限制,直接调用extensions::CrxInstaller去安装。下面是静默安装本地crx扩展文件的例子: 以前大概是2015年前,Chromium也是可以静默的安装内置的扩展的,现在代码里面需要改一点也是支持的。 把我们需要内置的扩展放到chrome/browser/resources/default_apps里面,这个目录已经有了几个其他的内置扩展,比如docs.crx、drive.crx等等。 此外需要在external_extensions.json里面添加我们扩展的信息。 当浏览器启动的时候,ExtensionService会调用default_apps::Provider会按照external_extensions.json的描述去安装我们内置的扩展。   ... Read More | Share it now!