V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ColoThor
V2EX  ›  Android

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

  •  
  •   ColoThor · 42 天前 · 3348 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想拦截百度输入法上传文件, enter image description here

    请求域名是 ipt.qchannel03.cn enter image description here

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

    enter image description here

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

    第 1 条附言  ·  40 天前
    文件上传应该是因为接入了 QuestMobile
    42 条回复    2021-10-28 12:18:27 +08:00
    czfy
        1
    czfy  
       42 天前   ❤️ 1
    我寻思换用 gboard 或者 rime 不行吗..
    题主问题等大佬回吧
    ColoThor
        2
    ColoThor  
    OP
       42 天前
    @czfy 想使用斗图。。
    2i2Re2PLMaDnghL
        3
    2i2Re2PLMaDnghL  
       42 天前
    conhost 里不要用新宋体,这个字体 1l 不分
    2i2Re2PLMaDnghL
        4
    2i2Re2PLMaDnghL  
       42 天前   ❤️ 7
    /etc/hosts 是君子协定,又不是不能直接发 DNS 请求
    abersheeran
        5
    abersheeran  
       42 天前
    本地起一个 DNS 服务器,把你网络 DNS 改成本地那个,再把这个域名解析到 127.0.0.1 就完事。
    efaun
        6
    efaun  
       42 天前
    adguard?
    miyunda
        7
    miyunda  
       42 天前
    在家肯定是自己的 DNS ,动手污染了它,比如 dnsmasq/adguardhome 什么的,再建立 vpn ,设置好 tasker ,扫不到自己的 ssid 就连 vpn
    ColoThor
        8
    ColoThor  
    OP
       42 天前
    看了楼上回复,感觉要拦截都好麻烦的样子。。
    ZeroClover
        9
    ZeroClover  
       42 天前
    要确保拦截只能使用本地 VPN 类型的软件,比如 AdGuard 或者是各种代理软件的规则引擎。

    DNS 拦截都是不可靠的,毕竟软件可以用 HTTPDNS 来解析。
    ColoThor
        10
    ColoThor  
    OP
       42 天前
    @ZeroClover 好吧
    v2yllhwa
        11
    v2yllhwa  
       42 天前 via Android
    安卓修改了 hosts 是有 root 了么?有 root 的话直接 iptables 阻断下试试?
    pckillers
        12
    pckillers  
       42 天前   ❤️ 1
    lz 你用了 windows 上代理服务器来抓 http 的话。自然就饶过手机的 hosts 了啊。 代理服务器用的是 windows 系统的 hosts 。
    mopland
        13
    mopland  
       42 天前
    问一下,上图是什么抓包工具?
    nba2k9
        14
    nba2k9  
       42 天前
    QQ 输入法不也有斗图功能?
    fonlan
        15
    fonlan  
       42 天前
    AdGuardHome 默认的规则就屏蔽了这个域名
    viphant
        16
    viphant  
       42 天前
    同意 11 楼
    suyuyu
        17
    suyuyu  
       42 天前   ❤️ 1
    为啥要用百度输入法 (
    andyskaura
        18
    andyskaura  
       42 天前
    所以这是直接把信息卖给了第三方隐私收集公司了吗 查了下这个域名属于 北京贵士信息科技有限公司
    ColoThor
        19
    ColoThor  
    OP
       42 天前
    @mopland charles
    ColoThor
        20
    ColoThor  
    OP
       42 天前
    @pckillers 这样的吗。。
    ColoThor
        21
    ColoThor  
    OP
       42 天前
    @v2yllhwa 没接触过,我了解下。。
    Wounmay9976
        22
    Wounmay9976  
       42 天前 via Android
    用 adguard ,里面可以设置 dns 拦截。
    不过明确告诉你没用的,据我多年观察目前这些国产 APP 多次请求不到解析结果会用 DoH 跟自己的 dns 服务器获取解析结果。
    dingwen07
        23
    dingwen07  
       42 天前 via iPhone
    我会直接拒绝国产输入法联网,国内安卓应该都有这个功能。iOS 不要相信系统自带的,开了 NE 软件就可以绕过。
    ColoThor
        24
    ColoThor  
    OP
       42 天前
    @Wounmay9976 实在不行就换 gboard/rime
    ColoThor
        25
    ColoThor  
    OP
       42 天前
    @dingwen07 看到的是“自带的”,这是 v2 处理的吗
    DAPTX4869
        26
    DAPTX4869  
       42 天前
    直接一点把百度的网络关了不更快?
    ColoThor
        27
    ColoThor  
    OP
       42 天前
    逆向了一下,似乎找到了关键代码

    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
        28
    ColoThor  
    OP
       42 天前
    上面代码路径为 com.sijla
    ColoThor
        29
    ColoThor  
    OP
       42 天前
    请求方式

    ![enter image description here]( https://s1.328888.xyz/2021/10/27/eIzEB.png)
    ColoThor
        30
    ColoThor  
    OP
       42 天前
    请求 url 来自 Qt.so 中的 rlard 方法,传入参数 int 1

    ![enter image description here]( https://s1.328888.xyz/2021/10/27/eIpAT.png)
    szdosar
        31
    szdosar  
       42 天前
    @Wounmay9976 这也太流氓了吧。//据我多年观察目前这些国产 APP 多次请求不到解析结果会用 DoH 跟自己的 dns 服务器获取解析结果。
    cev2
        32
    cev2  
       42 天前
    @szdosar 这有啥流氓的,是各家 APP 之前被 DNS 劫持搞怕了,上点儿用户规模的 APP 很多都选择内置 HTTPDNS 来解析域名。DNSPod 称为“移动解析”业务,114DNS 也支持。
    Anarchy
        33
    Anarchy  
       41 天前 via Android
    可以考虑不同意隐私协议,使用基础模式看看。
    Maiiiiii
        34
    Maiiiiii  
       41 天前
    vpn 可以
    zx900930
        35
    zx900930  
       41 天前
    主路由上装个 pihole, 问题解决
    SenLief
        36
    SenLief  
       41 天前 via Android
    gboard
    zhanlanhuizhang
        37
    zhanlanhuizhang  
       41 天前
    下个手机翻墙软件,自定义一下。只拦截百度的某些连接。
    getadoggie
        38
    getadoggie  
       41 天前 via iPhone
    @dingwen07 啥意思,是说 iOS 自带的不行吗
    dingwen07
        39
    dingwen07  
       41 天前
    @getadoggie #38 iOS 国行的控制联网权限在开启 Network Extension ( VPN )的情况下,被限制的 App 可能可以联网,可能是因为流量请求被算到了开启 NE 的 App 上。
    XiLingHost
        40
    XiLingHost  
       41 天前
    试试看加路由表把这个 ip 黑洞掉
    cheng6563
        41
    cheng6563  
       41 天前
    何苦呢,直接把联网权限淦了呗,或者直接不用
    getadoggie
        42
    getadoggie  
       41 天前 via iPhone
    @dingwen07 呀,我以为这个漏洞修复了,结果没有,我之前使用了好一段时间的百毒输入法…
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2948 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:42 · PVG 18:42 · LAX 02:42 · JFK 05:42
    ♥ Do have faith in what you're doing.