解决chromium对诺顿Norton安全插件不支持的兼容性问题

来源:互联网 发布:看门狗卡顿优化补丁 编辑:程序博客网 时间:2024/05/16 19:56

Hi all,诺顿安全插件,安装完后,在chrome上可以使用,在chromium上无法使用

具体现象上图:

 

 

Chrome 可以正常使用:

 

 

 

分析发现,诺顿插件是基于chrome extension机制编写的,会采用npapi插件技术,在插件目录有npcoplgn.dll

 

调试发现:

chroium浏览器加载插件已经成功,但是调用npapi的插件初始化接口np_initialize的时候失败,返回值是失败值,也就是在调用诺顿的插件的dll的接口的时候失败

 

 

通过ida反汇编分析诺顿的插件npcoplgn.dll,发现诺顿插件在被调用np_initialize接口的时候,会采用GetModuleFileName来判断自己是不是加载在chrome进程或者是safari进程,如果不是chrome进程,则返回失败,相当于让其他浏览器不能使用该插件

 

 

 

解决方案

 

Chrome是多进程架构,加载插件全部跑在插件进程,所以在插件进程里面进行api hook,对GetModuleFileName进行hook,插件调用GetModuleFileName的时候,动态修改里面的内容,让插件认为自己跑在chrome   exe里面

 

原创粉丝点击