admin管理员组文章数量:1531374
2024年2月8日发(作者:)
xp在中国还是量非常大,但是xp默认是ie 6 内核,所以很多网页为了兼容ie6 做了特殊支持,但是基于ie内核开发的浏览器就比较痛苦了,某些com接口会存在各式各样的问题。360做了个创新,自带ie8内核,自从他做了这个功能后,国内其他的浏览器一股脑儿都做了这个功能。 自带ie8 内核,ie8本身涉及到的dll非常多,所以必须做成个小安装包,然后在安装自己的浏览器的时候,判断是否是xp并且浏览器是ie8以下,如果满足这样的条件,再去服务器把ie8内核安装包拉下来进行安装 这个功能是个体力活 涉及到的dll包括如下:
以上dll就是基于ie 8 内核用到及依赖的dll
要想自己的基于ie 组件开发的浏览器能够不加载默认的ie6 内核,而加载ie 8 内核,hool
api是必然的,改变进程的行为,反正这个进程是自己的,所以在自己的进程进行hook比较简单了,不需要注入,直接detours搞定,比较顺手,也不用考虑杀毒之类的拦截问题。
hook的api如下
LdrUnloadDll;
LdrGetDllHandle;
LoadLibraryExW;
LoadLibraryExW_Kernelbase;
SearchPathW;
RegOpenKeyExA; // advapi
RegOpenKeyExW; // advapi
RegCreateKeyExA; // advapi
RegCreateKeyExW; // advapi
RegOpenKeyExA_Kernel32;
RegOpenKeyExW_Kernel32;
RegCreateKeyExA_Kernel32;
RegCreateKeyExW_Kernel32;
NtOpenSection;
大致的思路比较简单,当浏览器进程在加载ie6相关的dll或者获取dll相关信息的时候,让他加载ie8相关的dll,这些调用包括LdrUnloadDll,LdrGetDllHandle,LoadLibraryExW,LoadLibraryExW_Kernelbase;
除了加载dll的时候,读取注册表,也需要做处理,也就是让浏览器读注册表的时候能够转到类似ie8的注册表结构目录
版权声明:本文标题:ie自带ie8 内核方案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1707326798a192145.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论