chrome browser的scure preferences 怎么overwrite?chrome38+对preferences做了加密处理,第三方软件改chrome设置遇到麻烦!

盼望着在路上 发布于 2015/12/14 09:51
阅读 1K+
收藏 0

Chrome38版本以上)对Secure preferences进行了加密处理,任何小小的改动,都会让Secure preferences文件重新加密,即修改Secure preferences & preferences文件,保存时无法正确加密的话,保存会失败,完全没有效果。

参考资料url

http://blog.csdn.net/basketwill/article/details/47663419

 

http://blog.csdn.net/basketwill/article/details/47728481

 

http://dev.chromium.org/chromium-os/chromiumos-design-docs/user-accounts-and-management

 

这是逆向反推出的部分加密算法。(但不够完整,只能作为参考)

l  下面以修改chrome浏览器主页为例,阐述如何在加密处理的情况下更改chrome浏览器的设置。

chrome浏览器的主页恢复

1、 浏览器设置的信息存放的路径为:

C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default

其下的文件Secure Preferences,这是一个json文件

2、 主页恢复的步骤:

a.       将上述json文件中元素名称为show_home_button的值置为true,目的是将浏览器上的主页按钮显示出来,如下图所示:

b.      json文件中的节点[protection]->[macs]->[browser]->[show_home_button]hash值按照加密算法依据步骤a中设置的show_home_button的值重新加密,目的是文件保存时,可以正常保存,并且chrome browser可以识别并进行相应的设置。

c.          json文件中节点名称为homepage的值改为自己所要设定的目的主页的地址,如下图所示:

d.         json文件中的节点[protection]->[macs]->[homepage]hash值按照加密算法依据步骤c中设置的homepage的值重新加密。如图所示(http//www.baidu.com对应的hash值):

e.         json文件中节点名称为homepage_is_newtabpage的值置为true,如果为false 的话,点击主页按钮的话,就会出现新的tab页,导致看不出效果,如下图所示:

f.           jison文件中homepage_is_newtabpage对应在节点protection中的hash值按加密算法重新加密,如下图所示:

正如上例所示, 1、更改chrome浏览器的起始页的tab页;2、更改chrome浏览器的扩展状态,都需要在Secure Preference节点protection的相应节点改变其加密值,才能保存成功,并有效果。

l  实现chrome浏览器设置的关键:1、google chrome加密算法的机制; 2、不同设置对应的加密算法的输入。(不同设置对应加密算法是不同的)

l  目前的情况是:

 1、经查阅资料,chrome更改浏览器起始页的加密算法大致是:

1、 通过获取当前用户的security id进行sha1加密得到hash值;

2、 resource.pak中取64个字节放入sha256计算第一个字符窗参数;

3、 第一步,第二步得到的值加上相应的设置的网址,在进行不标准的sha256得到的hash值即为加密最终结果。

其他设置的加密应该也是相似的步骤。

网上也只能找到算法的大致,没有办法找到精确地算法和更具体的情况。

 2、通过google chrome提供的api可以改变chrome 浏览器的设置。据目前的探索,chrome提供了javascript脚本语言的apichrome源码的pref_names.cc文件中列举了这些api),可以运用在chrome插件的开发中。C++如果要运用chrome 提供的javascript apis 应以google提供的V8为引擎。(但这种方法只能通过编写chrome插件的方式修改chrome 设置,而插件必须依存chrome浏览器,不能兼容到独立的第三方软件中,所以否掉)

         我现在正在看chrome的源码。Auslogics boostspeed 8可以实现浏览器的设置,它是通过修改preferences&Secure preferences文件进行设置的,猜测它应该掌握了该算法。我在chromium源码中已经找到了加密算法在pref_hash_calculator.h内,但是不知道如何运用,或者如何才能把该算法从chromium源码中分离出来?希望看到的大神可以加以指点,小生感激不尽,刚入行不久,没有太多专业知识,还请大神不吝赐教!!!在线等,急急急!

加载中
0
盼望着在路上
大神们,赶快出现吧,谢谢了!
0
leiyang-ge
leiyang-ge
题主搞定了没有,现在我也想设置主页啊。
返回顶部
顶部