更新,新版的qq截图的名称改了,改为 QQ jietu plugin.app ,目录不变。
下文中的命令已经做了对应的修改。
我们都知道 QQ 这个东西和 360 一个样,尽不干好事。出了 Mac 版也没想着把功能做好,倒是流氓先耍起来了。这次更新后,你就会发现 QQ 的截图功能独立出来了(其实很早就独立了,我指的是其他方面),网络连接不和 QQ 本体走同样的道路了。
为什么这么说呢?我用 Surge ,所以总能看到 QQ 悄悄起了什么链接,比如那个至今还在的 http://monitor.uu.qq.com/analytics/rqdsync
这个统计为了能 phone home 可真是孜孜不倦,一天下来几千条不在话下,不知道如果我不屏蔽它,一天下来能传走多少东西。
更新后的 QQ , Jietu.app 独立了网络请求,如果你有心,你会发现 QQ 的网络代理现在使用系统代理:
然而, Jietu.app 虽然在 QQ 的安装目录里,却独立地使用 tcp 来连接服务器。证据见题图,在打开 QQ 的一瞬间,十万条请求轰击 Little Snitch,就在我截图后几秒,防火墙后台就崩溃了,然后 Jietu.app 完成了数据的传输。而这个东西又不走系统代理配置,所以我们就没有办法用代理规则来干掉它了。
你可以在题图中看到,在大量请求的时候,CPU 占用几乎高达 100%。
那么假如我的电脑在没有联网的状态下,也没有防火墙,那么这个截图还真就要占用我CPU不停发起链接直到电脑没电?!
不要问我没网了为什么还能打开QQ,其实很多时候不是还要打开而是打开忘记了关或者懒得关——当然,这里我更注重的还是它传了什么以及为什么会传。
总之,这次的发现坚定了我要干掉这个截图的信念。
其实办法有很多,比如用 hosts 干掉它的请求域名——但这种方式不保险,明天腾讯推送个新地址你就没辙了。——况且疯狂的重试防火墙都会崩溃。
如果你用的不是 Little Snitch,而是 handoff,那似乎你可以从权限上干掉 Jietu.app 的启动。
Santa
这里,我使用的是 Google 新出的一款非官方的 macOS 平台白名单软件,它目的在于从服务器同步白名单列表来阻止有害的软件在你的设备上运行,内核级别,安全放心。
当然了,目前 santa 还是测试版,但这并不影响我们下载使用它的黑名单功能。
到这个页面下载并安装 santa,santa是没有图形配置界面的,默认情况下是监控模式,也不会有什么作用——直到:
使用以下命令来测试 santa 运行正常生效:
1 2 3 |
sudo santactl rule --blacklist --path /usr/bin/yes --message "NO" yes |
第一条命令是用来添加黑名单的,需要用到管理员权限,第二条命令是用来测试的,在终端输入 yes 并回车,你如果看到这样的提示就说明 santa 已经在后台跑起来了:
1 2 3 4 5 6 7 8 9 |
Santa NO Path: /usr/bin/yes Identifier: ff98fa0c0a1095fedcbe4d388a9760e71399a5c3c017a847ffa545663b57929a Parent: zsh (50712) zsh: operation not permitted: yes |
当然,还有图形的提示:
现在,我们来获取 QQ 截图应用的路径,这个不难,从防火墙记录里分分钟找到:
1 |
/Applications/QQ.app/Contents/Library/LoginItems/QQ\ jietu\ plugin.app |
现在我们来照猫画虎给 santa 添加一条新的黑名单:
1 |
sudo santactl rule --blacklist --path /Applications/QQ.app/Contents/Library/LoginItems/QQ\ jietu\ plugin.app --message "Fu_k QQ" |
如果成功,你会看到:
1 |
Added rule for SHA-256: b4d042ad62e4ea68badaddcc57fc898dcd3b49aac88a98d61435f2fc4726eea0. |
好了,这样这个该死的截图就再也不会启动了,然后……
然后你在进程中结束截图,你就可以看到无限次的启动提示。哦对了,上边的图是我自己测试时候手动启动的。双击会看到“应用程序打不开”的提示。
那每次的提示太烦了,可以勾选 Ignore 按钮上边的“一整天不提示”选项,这样,你每天打开QQ,也只有第一次会弹出这个提示框框。
那么,能不能永久关闭呢?我的答案是,每天提醒你一次,避免你忘了你在和什么样的恶魔做交易。
其他的办法
觉得上述实在麻烦?好吧,直接找到这个截图软件删了或者改名也行,但 macOS 有个完整性检查的东西,似乎一检查自动就补回来了……这个具体我也不清楚哈。
结束
最后,我们来看看系统日志:
看到这些,我长出了一口气——成功了。
本文由 落格博客 原创撰写:落格博客 » 用 Santa 阻止 Mac QQ 的 Jietu.app 启动
转载请保留出处和原文链接:https://www.logcg.com/archives/1957.html
规则很好用,顺便补充一下,在添加规则的时候将 –blacklist 更改为 –silent-blacklist 可以直接关闭拦截提醒,应该是新版加上的功能,希望能给新看到这篇教程的人提供便利。
苹果为什么不管管?
一开始也非常纳闷,一个截图软件为什么要连接服务器,有没有试过抓包看一下它到底上传了什么样的数据?
没,我比较懒,懒得一探究竟。最近网上好像是有人抓过的,你找找哈。
问个问题,如果想使 QQ 走代理,我在 Surge Dashboard 看了下 QQ client 的各种 IP,全都设置了还是不行。
(主要想新建个 Configuration 把 QQ REJECT 掉,但发现无效orz)
QQ不走http的,虽然它的不少功能这样,但QQ本身是socket,不然怎么即时通信?
你可以从网上找找qq的服务器地址ip,把它们都加入 hosts? 用防火墙来干这个事情更容易。
Github 有 WebQQ 和 Web Wechat 解析出来的接口,可以写个脚本挂在服务器上,顺带还有过滤功能,安利一下
其实还有一个方法很简单,只要在jietuMac.app前面加上一个下划线就可以。重启qq多次也没有见到复活。
这个和直接删除它的道理是一样的——但听说会有校验然后自动下载一个新的回来的情况,这个校验完整性什么时候开始、什么时候下载谁也不知道 0.0
= =所以问题来了,干掉了这个用什么截图呢。。。
系统自带截图也可以截图到内存,功能和以前的qq截图一样的。或者可以截图到桌面,然后用预览里的工具对图片进行标记:)
Mac自带截图那么优秀。
直接把jietu screenshot platform逗删掉了
据说这样的话有个校验app完整性的功能,会把你删除的再下载回来。
关了重开,没了
我也不清楚这个校验机制,不过我现在用santa也很方便哈哈。总之,干掉了就好。
因为确实是了解了很多~~~话说~大神你除了博客,有微信公众号之类的么?
话说~大神你除了博客,有微信公众号之类的么?
页面右下角有我的 twitter ,你可以关注之,天天扯淡。其他均无。
我按你的方法来了一遍。。。怎么没啥作用,不过我是小白,忽然看到你的博客的,对防火墙之类的完全不懂,完全不会编程,反正。。。截图还是能打开。。。我看活动监视器,也没看到截图.app跑流量啊……
如果你能用活动监视器能看到截图跑流量那就世界乱套了。他们怎么也不至于这么明目张胆。——不过眼不见心不烦,权当它是安全的吧:)
。。。大神说得对……不过弱弱的问下,截图都会走什么数据啊~
内容获取不到,可能就是一些普通的使用统计信息吧。但你也看到题图里疯狂攻击防火墙的行为了,所以我还是把它给ban了。而且,系统自带截图完全可以代替QQ的截图啊。
恩,话说防火墙也是需要额外安装的吧?不知道我安装的哪个软件和QQ截图冲突,反正QQ截图已经废了,但是我按你的方法,不管用。。。难不成每个人jietu.app的路径不同?复制了你的路径,自己从活动监视器找的路径,都不行~算了,我还是学习一下你的其它文章了,补充一下啥也不懂的自己~
理论上截图的路径是一样的。但具体比如用户名什么的得按照你自己的来才对。如果你是10.12,目前QQ的截图应该是不能启动的,可能是某些权限问题限制了它吧。——学习不敢当,就当个小参考吧:)
Surge 那神奇的定价。。。
嘿嘿我买的早……
弄了个Surge for Mac 2.0 玩玩的时候发现即使初始配置文件里只有
[Rule]
FINAL,DIRECT
教育网(比如 http://acm.hdu.edu.cn)还是连不上,取消 set as system proxy 就可以,感觉跟系统设置代理有关,想问下是怎么回事?
取消配置里的dns信息试试看
没事了,今天刚好看到一个 crack 版想着试试,后来发现是不完美 crack,禁止验证导致许多网也连不上了orz
那个啥,你博客的排版还是布局好像有点问题哎,我怎么描述呢,就是移动版chrome 52,半个页面,左面那部分看不见,自带的webview也是这样
确实,已经修复了。