android 第三方应用可以不使用系统 hosts 吗,想拦截百度输入法上传文件

2021-10-27 09:58:42 +08:00
 ColoThor

想拦截百度输入法上传文件,

请求域名是 ipt.qchannel03.cn

上图是改手机 hosts 之后的请求,不知道为什么还是请求成功,下图是 ping ,windows 命令行 l 和 1 显示的好像没啥区别。。

有大佬知道吗,要怎么拦截这个域名

7410 次点击
所在节点    Android
42 条回复
ColoThor
2021-10-27 14:11:32 +08:00
@v2yllhwa 没接触过,我了解下。。
Wounmay9976
2021-10-27 14:17:58 +08:00
用 adguard ,里面可以设置 dns 拦截。
不过明确告诉你没用的,据我多年观察目前这些国产 APP 多次请求不到解析结果会用 DoH 跟自己的 dns 服务器获取解析结果。
dingwen07
2021-10-27 14:20:52 +08:00
我会直接拒绝国产输入法联网,国内安卓应该都有这个功能。iOS 不要相信系统自带的,开了 NE 软件就可以绕过。
ColoThor
2021-10-27 14:22:03 +08:00
@Wounmay9976 实在不行就换 gboard/rime
ColoThor
2021-10-27 14:23:51 +08:00
@dingwen07 看到的是“自带的”,这是 v2 处理的吗
DAPTX4869
2021-10-27 14:46:43 +08:00
直接一点把百度的网络关了不更快?
ColoThor
2021-10-27 15:24:20 +08:00
逆向了一下,似乎找到了关键代码

public static File a(Context context) {
File[] listFiles;
File file = new File(b.d(context));
if (file.exists() && !file.isFile() && (listFiles = file.listFiles()) != null) {
String str = b.b(context) + b.b(context);
try {
l.a(str, listFiles);
File file2 = new File(str);
File file3 = new File(str + ".gz");
boolean z = true;
f.a(str);
boolean z2 = true;
file2.delete();
if (!z2 || !file3.exists()) {
z = false;
}
if (z) {
com.sijla.g.a.c.a(str);
return file3;
}
} catch (Throwable th) {
com.sijla.g.a.c.a(str);
throw th;
}
com.sijla.g.a.c.a(str);
}
return null;
}

代码解析:
b.d(context) -> /data/data/com.baidu.input/files/.qmt/Qt2/
String str = b.b(context) + b.b(context); -> /data/data/com.baidu.input/files/.qmt/ardarchive/com.baidu.input_xxx.zip
l.a(str, listFiles) -> 生成 com.baidu.input_xxx.zip 文件
f.a(str) -> 生成 com.baidu.input_xxx.zip.gz 文件
com.sijla.g.a.c.a(str) -> 删除 com.baidu.input_xxx.zip 文件
ColoThor
2021-10-27 15:27:14 +08:00
上面代码路径为 com.sijla
ColoThor
2021-10-27 16:06:52 +08:00
请求方式

![enter image description here]( https://s1.328888.xyz/2021/10/27/eIzEB.png)
ColoThor
2021-10-27 16:16:59 +08:00
请求 url 来自 Qt.so 中的 rlard 方法,传入参数 int 1

![enter image description here]( https://s1.328888.xyz/2021/10/27/eIpAT.png)
szdosar
2021-10-27 16:21:28 +08:00
@Wounmay9976 这也太流氓了吧。//据我多年观察目前这些国产 APP 多次请求不到解析结果会用 DoH 跟自己的 dns 服务器获取解析结果。
cev2
2021-10-27 17:10:16 +08:00
@szdosar 这有啥流氓的,是各家 APP 之前被 DNS 劫持搞怕了,上点儿用户规模的 APP 很多都选择内置 HTTPDNS 来解析域名。DNSPod 称为“移动解析”业务,114DNS 也支持。
Anarchy
2021-10-27 18:57:09 +08:00
可以考虑不同意隐私协议,使用基础模式看看。
Maiiiiii
2021-10-27 19:28:35 +08:00
vpn 可以
zx900930
2021-10-27 21:31:49 +08:00
主路由上装个 pihole, 问题解决
SenLief
2021-10-27 21:38:01 +08:00
gboard
zhanlanhuizhang
2021-10-27 21:38:36 +08:00
下个手机翻墙软件,自定义一下。只拦截百度的某些连接。
getadoggie
2021-10-28 01:03:39 +08:00
@dingwen07 啥意思,是说 iOS 自带的不行吗
dingwen07
2021-10-28 01:40:22 +08:00
@getadoggie #38 iOS 国行的控制联网权限在开启 Network Extension ( VPN )的情况下,被限制的 App 可能可以联网,可能是因为流量请求被算到了开启 NE 的 App 上。
XiLingHost
2021-10-28 08:40:24 +08:00
试试看加路由表把这个 ip 黑洞掉

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/810857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX