用 Santa 阻止 Mac QQ 的 Jietu.app 启动

更新,新版的qq截图的名称改了,改为 QQ jietu plugin.app ,目录不变。

下文中的命令已经做了对应的修改。


我们都知道 QQ 这个东西和 360 一个样,尽不干好事。出了 Mac 版也没想着把功能做好,倒是流氓先耍起来了。这次更新后,你就会发现 QQ 的截图功能独立出来了(其实很早就独立了,我指的是其他方面),网络连接不和 QQ 本体走同样的道路了。

为什么这么说呢?我用 Surge ,所以总能看到 QQ 悄悄起了什么链接,比如那个至今还在的  http://monitor.uu.qq.com/analytics/rqdsync

Mac QQ 的统计 Phone Home

Mac QQ 的统计 Phone Home

这个统计为了能 phone home 可真是孜孜不倦,一天下来几千条不在话下,不知道如果我不屏蔽它,一天下来能传走多少东西。

更新后的 QQ , Jietu.app  独立了网络请求,如果你有心,你会发现 QQ 的网络代理现在使用系统代理:

最新版 QQ 现在开始使用系统的代理设置

最新版 QQ 现在开始使用系统的代理设置

然而, Jietu.app 虽然在 QQ 的安装目录里,却独立地使用 tcp 来连接服务器。证据见题图,在打开 QQ 的一瞬间,十万条请求轰击 Little Snitch,就在我截图后几秒,防火墙后台就崩溃了,然后 Jietu.app 完成了数据的传输。而这个东西又不走系统代理配置,所以我们就没有办法用代理规则来干掉它了。

你可以在题图中看到,在大量请求的时候,CPU 占用几乎高达 100%。

那么假如我的电脑在没有联网的状态下,也没有防火墙,那么这个截图还真就要占用我CPU不停发起链接直到电脑没电?!

不要问我没网了为什么还能打开QQ,其实很多时候不是还要打开而是打开忘记了关或者懒得关——当然,这里我更注重的还是它传了什么以及为什么会传。

总之,这次的发现坚定了我要干掉这个截图的信念。

其实办法有很多,比如用 hosts 干掉它的请求域名——但这种方式不保险,明天腾讯推送个新地址你就没辙了。——况且疯狂的重试防火墙都会崩溃。

如果你用的不是 Little Snitch,而是 handoff,那似乎你可以从权限上干掉 Jietu.app 的启动。

Santa

这里,我使用的是 Google 新出的一款非官方的 macOS 平台白名单软件,它目的在于从服务器同步白名单列表来阻止有害的软件在你的设备上运行,内核级别,安全放心。

动图来自https://github.com/google/santa

动图来自https://github.com/google/santa

当然了,目前 santa 还是测试版,但这并不影响我们下载使用它的黑名单功能。

这个页面下载并安装 santa,santa是没有图形配置界面的,默认情况下是监控模式,也不会有什么作用——直到:

使用以下命令来测试 santa 运行正常生效:

第一条命令是用来添加黑名单的,需要用到管理员权限,第二条命令是用来测试的,在终端输入 yes 并回车,你如果看到这样的提示就说明 santa 已经在后台跑起来了:

当然,还有图形的提示:

santa 阻止了目标命令的启动

santa 阻止了目标命令的启动

现在,我们来获取 QQ 截图应用的路径,这个不难,从防火墙记录里分分钟找到:

现在我们来照猫画虎给 santa 添加一条新的黑名单:

如果成功,你会看到:

好了,这样这个该死的截图就再也不会启动了,然后……

QQ 会持续尝试启动截图 app

QQ 会持续尝试启动截图 app

然后你在进程中结束截图,你就可以看到无限次的启动提示。哦对了,上边的图是我自己测试时候手动启动的。双击会看到“应用程序打不开”的提示。

那每次的提示太烦了,可以勾选 Ignore 按钮上边的“一整天不提示”选项,这样,你每天打开QQ,也只有第一次会弹出这个提示框框。

那么,能不能永久关闭呢?我的答案是,每天提醒你一次,避免你忘了你在和什么样的恶魔做交易。

其他的办法

觉得上述实在麻烦?好吧,直接找到这个截图软件删了或者改名也行,但 macOS 有个完整性检查的东西,似乎一检查自动就补回来了……这个具体我也不清楚哈。

结束

最后,我们来看看系统日志:

QQ 依旧在不停地重启截图应用

QQ 依旧在不停地重启截图应用

看到这些,我长出了一口气——成功了。

本文由 落格博客 原创撰写:落格博客 » 用 Santa 阻止 Mac QQ 的 Jietu.app 启动

转载请保留出处和原文链接:https://www.logcg.com/archives/1957.html

About the Author

R0uter

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

Comments

  1. 规则很好用,顺便补充一下,在添加规则的时候将 –blacklist 更改为 –silent-blacklist 可以直接关闭拦截提醒,应该是新版加上的功能,希望能给新看到这篇教程的人提供便利。

  2. 一开始也非常纳闷,一个截图软件为什么要连接服务器,有没有试过抓包看一下它到底上传了什么样的数据?

  3. 问个问题,如果想使 QQ 走代理,我在 Surge Dashboard 看了下 QQ client 的各种 IP,全都设置了还是不行。
    (主要想新建个 Configuration 把 QQ REJECT 掉,但发现无效orz)

    1. QQ不走http的,虽然它的不少功能这样,但QQ本身是socket,不然怎么即时通信?
      你可以从网上找找qq的服务器地址ip,把它们都加入 hosts? 用防火墙来干这个事情更容易。

  4. Github 有 WebQQ 和 Web Wechat 解析出来的接口,可以写个脚本挂在服务器上,顺带还有过滤功能,安利一下

    1. 这个和直接删除它的道理是一样的——但听说会有校验然后自动下载一个新的回来的情况,这个校验完整性什么时候开始、什么时候下载谁也不知道 0.0

  5. 我按你的方法来了一遍。。。怎么没啥作用,不过我是小白,忽然看到你的博客的,对防火墙之类的完全不懂,完全不会编程,反正。。。截图还是能打开。。。我看活动监视器,也没看到截图.app跑流量啊……

    1. 如果你能用活动监视器能看到截图跑流量那就世界乱套了。他们怎么也不至于这么明目张胆。——不过眼不见心不烦,权当它是安全的吧:)

        1. 内容获取不到,可能就是一些普通的使用统计信息吧。但你也看到题图里疯狂攻击防火墙的行为了,所以我还是把它给ban了。而且,系统自带截图完全可以代替QQ的截图啊。

          1. 恩,话说防火墙也是需要额外安装的吧?不知道我安装的哪个软件和QQ截图冲突,反正QQ截图已经废了,但是我按你的方法,不管用。。。难不成每个人jietu.app的路径不同?复制了你的路径,自己从活动监视器找的路径,都不行~算了,我还是学习一下你的其它文章了,补充一下啥也不懂的自己~

          2. 理论上截图的路径是一样的。但具体比如用户名什么的得按照你自己的来才对。如果你是10.12,目前QQ的截图应该是不能启动的,可能是某些权限问题限制了它吧。——学习不敢当,就当个小参考吧:)

  6. 那个啥,你博客的排版还是布局好像有点问题哎,我怎么描述呢,就是移动版chrome 52,半个页面,左面那部分看不见,自带的webview也是这样

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注