首页
社区
课程
招聘
[原创]win10系统 过Setting设置默认浏览器
发表于: 2016-11-15 17:08 18751

[原创]win10系统 过Setting设置默认浏览器

2016-11-15 17:08
18751

如题,在win10系统下 与win8以及以前的系统不同了 以往的系统修改注册表就可以了 但是win10多了一些内容 导致直接修改注册表会被“Setting”给还原成IE  - -  

后测试了国内几大浏览器厂家 发现其中有几个可以直接跳过Setting进行设置的 于是分析之

尽量不罗嗦,大概说一下正确的分析过程吧  至于我在分析中碰到的N个坑  浪费的N多时间就不提了

1.各大浏览器均是采用创建新进程传参进行设置浏览器的,所以直接附加是不行的 要先获取设置浏览器的命令行参数,然后用OD等打开被调试软件并修改改命令行参数,使其执行设置默认浏览器操作

2.设置默认浏览器除了众所周知的注册表设置外多了一个com的设置项 而进程在调用com接口是 在“堆栈”是找不到调用来源的 所以需要给CoInitializeEx,或CoCreateInstance下断 在调用com接口前断下 进行跟踪调试

思路就这样, 具体的浏览器核心代码是介个样子第:
1.通过CoCreateInstance获取特定GUID的com接口
2.通过IUnknown.QueryInterface获取combase虚函数表
3.调用combase.ObjectStublessClient6设置默认浏览器

代码如下:
以下仅支持win10 32位哦 想要64位的 可以自己去研究
或者站内信联系我购买 我也好赚点零花钱 - -(求勿喷 求放过 研究了两周呢 赚点零花钱没啥大不了的吧)

还有 发了辣么多文章了 精华咋就 辣么男孽
记得给点感谢啥的哈


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (17)
雪    币: 8196
活跃值: (2691)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
com不懂,学习了
2016-11-16 08:22
0
雪    币: 1994
活跃值: (1526)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
我在补充一个类

//2016年10月最新更新的版本的id
MIDL_INTERFACE("1c5c9d10-1225-4c97-8c51-98e1b6f0d4e0")
IApplicationAssociationRegistrationInternalWin10_20161011 : public IUnknown;

具体代码我就不贴了,2016年10月win10大更新那个内部id 更新了
2016-11-17 09:40
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
4
这编码太硬了

PS:
更省力的方式是带着MaxThon最新的那个MxTool.dll
2016-11-18 13:54
0
雪    币: 457
活跃值: (218)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
没办法 没有付号  只能硬编码了 32位的我就是从这个DLL里面逆出来的 64为是从QQ浏览器逆出来的
2016-11-18 15:44
0
雪    币: 53
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
老V的这方法好,省时省力...直接拿了用。
2016-11-18 15:59
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
7
MxTool.dll现在支持64的说
2016-11-19 02:31
0
雪    币: 457
活跃值: (218)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
是么 我下载的捏个版本不支持额  蛋疼
2016-11-20 16:18
0
雪    币: 1994
活跃值: (1526)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
9
你直接看shell32.dll就有了啊。。。。IApplicationAssociationRegistrationInternal 这就是类名,ida能显示
2016-11-21 09:29
0
雪    币: 137
活跃值: (1548)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
my  god,  上面的代码在老版本win10可以用,  昨天更新到新版的win10就不能用了,我现在的版本是10.0.14393.0.1198
2017-6-6 17:39
0
雪    币: 12
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
wumnkx my god, 上面的代码在老版本win10可以用, 昨天更新到新版的win10就不能用了,我现在的版本是10.0.14393.0.1198
因为那个id老变。自己去查
不过17134貌似变了?...


ps:新版已经搞定,自己算号.这个接口应该是被微软给咔嚓了..返回s_ok但是实际上没效果
最后于 2018-10-15 10:52 被MaMy编辑 ,原因:
2018-7-2 09:23
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
强,这个具体是怎么玩的啊?新版Win10
2018-9-30 21:03
0
雪    币: 2118
活跃值: (213)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
MaMy wumnkx my god, 上面的代码在老版本win10可以用, 昨天更新到新版的win10就不能用了,我现在的版本是10.0.14393.0.1198 ...
可不可以给点思路,大佬
2018-10-15 11:27
0
雪    币:
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
basketwill 我在补充一个类 //2016年10月最新更新的版本的id MIDL_INTERFACE("1c5c9d10-1225-4c97-8c51-98e1b6f0d4e0") I ...
根据神的指引,我下载了ida pro7.2,从win10系统里找到了shell32.dll,然后解析,搜索IApplicationAssociationRegistrationInternal,找到id,是可以用的。
但是最新版的win10(2019年7月)是不行的,2018年之前的版本可以用。
我继续研究一下。
2019-7-19 15:55
0
雪    币: 73
活跃值: (923)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
擦。你们一天都在研究啥。
2019-7-19 16:42
0
雪    币: 244
活跃值: (174)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
别的文件关联是不是和这个类似呀?
2019-8-12 17:24
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
进来学习学习。
2019-8-13 18:17
0
雪    币: 244
活跃值: (174)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
重新试了QQ浏览器,在浏览器启动后,是不需要另外启动浏览器进程的。
2019-8-21 17:56
0
游客
登录 | 注册 方可回帖
返回
//