捆绑安装浏览器:技术剖析搜狗输入法中的猫腻

不知道从什么时候开始,上网变成了搜狗浏览器。卸载后,过几天又莫名其妙安装上。搜狗也算是名门正派,竟然会用这么恶劣的手段捆绑软件!这么做跟病毒有什么区别?!

专门花时间重现了搜狗推广的手段,顺手看到搜狗还有一个调试信息输出开关,只要增加一个注册表值,如果有这个键值就会把调试信息打出来,开着debugview就能监控到搜狗在搞什么小动作:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\SogouInput]
"lotusdebug"=dword:00000001

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvaW1hZ2UuMzAwMS5uZXQvaW1hZ2VzLzIwMTQxMDMwLzE0MTQ2NTEyNzc1NzQzLmpwZyFzbWFsbA==.jpg" title="001.jpg" style="float: none"/></p>

如果电脑没有装360,搜狗输入法直接就去服务器下载运行一个推广程序,这个地址就是搜狗服务器上的一个静默推广包:

http://download.ie.sogou.com/se/semini/SEMini_3.0.0.571_7805.exe

如果电脑有360,搜狗输入法推广浏览器的云控代码都在内存里,大概过程是这样的:

第一步,静默下载。sogoucloud.exe和云端通信,根据云端指令把搜狗浏览器的安装包下载回来。云控数据域名请求是下面抓包的内容:

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvaW1hZ2UuMzAwMS5uZXQvaW1hZ2VzLzIwMTQxMDMwLzE0MTQ2NTEyNzg0NTg1LmpwZyFzbWFsbA==.jpg" title="002.jpg" style="float: none"/></p>

第二步经过请求内容解密出代码,代码功能里有从搜狗官网下载安装包,创建随机目录把安装包放进去,都是一些常见下载工具的目录,比如把搜狗浏览器安装包放到360、百度或者迅雷的下载目录里,不管你电脑里有没有装这些软件:

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvaW1hZ2UuMzAwMS5uZXQvaW1hZ2VzLzIwMTQxMDMwLzE0MTQ2NTEzOTU2OTkzLmpwZyFzbWFsbA==.jpg" title="003.jpg"/></p>

搜狗浏览器的安装包还会被放到以下固定的地方,都是搜狗输入法的目录,省的下次再去下载了。大家可以到下图中标红的路径里找找,类似sgim_sehelper.bin之类的文件都是搜狗浏览器的安装包:

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvaW1hZ2UuMzAwMS5uZXQvaW1hZ2VzLzIwMTQxMDMwLzE0MTQ2NTE1NzM2ODcxLmpwZyFzbWFsbA==.jpg" title="04.jpg"/></p>

第三步,模拟用户点击来安装搜狗浏览器。explorer里的sogou.ime会下载远控的shellcode执行后选择时机去推广浏览器,通过PostMessageW发消息自动模拟点击下载好的浏览器,这个浏览器安装包也通过进程间通信隐藏了安装界面,所以莫名其妙就装上了。如果一直盯着,全过程只会看到电脑上突然打开一个文件夹,又被关掉,然后就多了个搜狗浏览器。

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvaW1hZ2UuMzAwMS5uZXQvaW1hZ2VzLzIwMTQxMDMwLzE0MTQ2NTE1ODM1MzY5LmpwZyFzbWFsbA==.jpg" title="05.jpg"/></p>

PostMessageW模拟点击这都是我以前写外挂时最常用的,不过我是用来操作游戏,搜狗用来搞流氓推广。

文章转载出自:FreebuF.COM

时间: 2024-10-13 14:03:02

捆绑安装浏览器:技术剖析搜狗输入法中的猫腻的相关文章

BAT解密:互联网技术发展之路(7)- 网络层技术剖析

上一篇博文<BAT解密:互联网技术发展之路(6)- 服务层技术剖析>中,介绍了互联网业务发展特点的中的"复杂性"的应对方式,本文介绍互联网业务发展特点的另外两个方面"高性能"."高可用". 一般人提到高性能时第一想到的就是优化,提到高可用时第一反应就是双机或者备份,但是对于互联网这种超大容量和访问量的业务来说,这两个手段都是雕虫小技,无法应对互联网业务的高性能和高可用需求,互联网业务的高可用和高性能,需要从更高的角度去设计,这个高点就

利用扩展双屏技术及Chrome浏览器,快速剖析优秀网页Div及CSS构成,并高效实现原型创作

Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk 2014年6月11日 本篇博客主要讲NDK编译Android项目的两个文件Android.mk和Application.mk,笔者在使用NDK编译Cocos2d-x生成的Android项目的时候遇到配置编译环境的问题,网上虽然有些配置教程,但并未把一些原理性的东西描述清楚,虽然有时候可以把编译环境配置成功了,但并不了解为什么要这么来配,有时候出现问题也无从下手去查.笔者是带着疑问去配置ND

《WCF技术剖析》博文系列汇总[持续更新中]

http://www.cnblogs.com/artech/archive/2009/11/21/1607686.html 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖析(卷1)>写作期间,对WCF又有了新的感悟,为此以书名开始本人的第三个WCF系列.本系列的目的在于对<WCF技术剖析>的补充,会对书中的一些内容进行展开讲述,同时会囊括很多由于篇幅的原因忍痛割弃的内容. [第1篇] 通过一个ASP

WCF技术剖析之十一:异步操作在WCF中的应用(上篇)

原文:WCF技术剖析之十一:异步操作在WCF中的应用(上篇) 按照操作执行所需的资源类型,我们可以将操作分为CPU绑定型(CPU Bound)操作和I/O绑定型(I/O Bound)操作.对于前者,操作的执行主要利用CPU进行密集的计算,而对于后者,大部分的操作处理时间花在I/O操作处理,比如访问数据库.文件系统.网络资源等.对于I/O绑定型操作,我们可以充分利用多线程的机制,让多个操作在自己的线程并发执行,从而提高系统性能和响应能力.服务调用就是典型的I/O绑定型操作,所以多线程在服务调用中具

WCF技术剖析之十一:异步操作在WCF中的应用(下篇)

原文:WCF技术剖析之十一:异步操作在WCF中的应用(下篇) 说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现.在定义服务契约的时候,相信大家已经注意到了OperationContractAttribute特性具有一个bool类型的AsynPattern.该属性可以将一个服务操作定义成异步实现模式,接下来的内容主要是着眼于介绍异步操作的定义和实现原理. 一.异步操作的定义和实现原理 实现WCF异步服务操作

WCF技术剖析之八:ClientBase&lt;T&gt;中对ChannelFactory&lt;T&gt;的缓存机制

原文:WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制 和传统的分布式远程调用一样,WCF的服务调用借助于服务代理(Service Proxy).而ChannelFactory<T>则是服务代理的创建者.WCF采用基于终结点(Endpoint)服务消费方式:WCF服务通过一个或者多个终结点暴露给潜在的服务消费者,服务的消费中通过与之匹配的终结点与之交互.在客户端,我们具有两种典型的服务代理创建方式,其一是通过诸如SvcUti

docker技术剖析--docker网络

防伪码:不经一番寒彻骨,怎得梅花扑鼻香.                 docker技术剖析--docker网络 一. Docker 中的网络功能介绍 默认情况下,容器可以建立到外部网络的连接,但是外部网络无法连接到容器. Docker 允许通过外部访问容器或容器互联的方式来提供网络服务 外部访问容器: 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过  -P  或  -p  参数来指定端口映射. 练习环境:运行一个容器,提供web服务和ssh服务 宿主机启用路由转发(net.

docker技术剖析--dockerfile and registry(构建容器和私有仓库)

防伪码:梅须逊雪三分白,雪却输梅一段香 docker技术剖析--dockerfile and registry(构建容器和私有仓库) 一.根据Dockerfile构建出一个容器 1.Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.

docker技术剖析--镜像、容器管理

防伪码:博观而约取,厚积而薄发                                 docker技术剖析--镜像.容器管理 一.Docker简介 Docker是什么? Docker的英文本意是"搬运工",在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的.可移植的.自管理的组件,可以在任何主流系统中开发.调试和运行. 说白了,docker是一种用了新颖方式实现的轻量级虚拟机,