chrome浏览器的设置文件scure preferences如何overwrite呢?chrome38+对scure preferences做了加密处理!

KFPA 2015-12-14 10:00:38
Chrome(38版本以上)对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

这是逆向反推出的部分加密算法。(但不够完整,只能作为参考)
一、下面以修改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的相应节点改变其加密值,才能保存成功,并有效果。
二 实现chrome浏览器设置的关键:
1google chrome加密算法的机制;
2不同设置对应的加密算法的输入。(不同设置对应加密算法是不同的)
三 目前探索的情况是:
a
经查阅资料,chrome更改浏览器起始页的加密算法大致是:
1、 通过获取当前用户的security id进行sha1加密得到hash值;
2、 在resource.pak中取64个字节放入sha256计算第一个字符窗参数;
3、 第一步,第二步得到的值加上相应的设置的网址,在进行不标准的sha256得到的hash值即为加密最终结果。
其他设置的加密应该也是相似的步骤。
网上也只能找到算法的大致,没有办法找到精确地算法和更具体的情况。
b、通过google chrome提供的api可以改变chrome 浏览器的设置。据目前的探索,chrome提供了javascript脚本语言的api(chrome源码的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源码中分离出来?希望看到的大神可以加以指点,小生感激不尽,刚入行不久,没有太多专业知识,还请大神不吝赐教!!!在线等,急急急!
...全文
1341 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

13,869

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧