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

关于 AndroidManifest.xml 文件

  •  
  •   fengleidongxi · 2018-02-14 18:08:31 +08:00 · 10357 次点击
    这是一个创建于 2467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果 APK 中只有 AndroidManifest.xml 包含恶意代码( dex 干净),有哪些危害?

    24 条回复    2018-02-15 14:43:07 +08:00
    huclengyue
        1
    huclengyue  
       2018-02-14 18:24:58 +08:00 via Android
    manifest 能有什么恶意代码?
    DeweyReed
        2
    DeweyReed  
       2018-02-14 18:30:39 +08:00
    xml 还能运行代码?搬小板凳围观大神。
    fengleidongxi
        3
    fengleidongxi  
    OP
       2018-02-14 18:34:40 +08:00
    @huclengyue 技术讨论一下
    huclengyue
        4
    huclengyue  
       2018-02-14 18:42:40 +08:00 via Android
    @fengleidongxi 我意思是 manifest 会有什么恶意代码?比如说?
    mozutaba
        5
    mozutaba  
       2018-02-14 18:49:26 +08:00 via Android   ❤️ 5
    @huclengyue
    <--¡穷逼 vip 版本权限声明-->
    iFlicker
        6
    iFlicker  
       2018-02-14 18:49:57 +08:00 via Android
    想多了
    huclengyue
        7
    huclengyue  
       2018-02-14 18:50:21 +08:00 via Android
    @mozutaba 额。。。这个。对我造成了一万点的精神伤害
    mozutaba
        8
    mozutaba  
       2018-02-14 20:34:49 +08:00 via Android
    @huclengyue 我感叹号都打错了。
    XinLake
        9
    XinLake  
       2018-02-14 20:38:18 +08:00 via Android
    不会吧,想要在 manifest 里植入恶意代码得要找到 Android 系统漏洞才行
    lukewen2012
        10
    lukewen2012  
       2018-02-14 21:15:41 +08:00 via Android
    这个一般是表示有敏感权限吧,然后有些会把这认为是病毒。
    fengleidongxi
        11
    fengleidongxi  
    OP
       2018-02-14 21:30:00 +08:00
    @lukewen2012 当然不是说的敏感权限
    fengleidongxi
        12
    fengleidongxi  
    OP
       2018-02-14 21:35:07 +08:00
    @iFlicker 我亲眼所见,不是我想多了
    iFlicker
        13
    iFlicker  
       2018-02-14 22:07:25 +08:00
    @fengleidongxi 那你描述出来呗..目前在我的知识范围 不能理解 manifest 文件有恶意代码
    jackyzy823
        14
    jackyzy823  
       2018-02-14 22:08:58 +08:00 via Android
    (如果指的是 xml 解析漏洞之类的话,那大概什么恶都能做了
    HongJay
        15
    HongJay  
       2018-02-14 23:56:56 +08:00
    @fengleidongxi 菜鸟开发同求
    HBpencil
        16
    HBpencil  
       2018-02-15 00:01:09 +08:00 via Android
    不懂,围观
    coderkisoo
        17
    coderkisoo  
       2018-02-15 08:44:55 +08:00 via Android
    manifest 里面有个占坑的恶意 activity 之类的,意思是 dex 后期会去加载?
    bkmi
        18
    bkmi  
       2018-02-15 11:02:56 +08:00 via Android
    楼主怕不是来钓鱼的,说是讨论,却是一堆在这猜,我打赌楼主认为的恶意代码和我们认知的不一样。
    fengleidongxi
        19
    fengleidongxi  
    OP
       2018-02-15 11:33:38 +08:00
    @iFlicker 具体作用我也没搞懂,应该是定义模块之类的,只是 manifest 包含这些,会不会被沙箱之外其他程序读取?
    fengleidongxi
        20
    fengleidongxi  
    OP
       2018-02-15 11:34:11 +08:00
    @coderkisoo 应该是沙箱之外的 DEX 会不会去加载?
    fengleidongxi
        21
    fengleidongxi  
    OP
       2018-02-15 11:35:51 +08:00
    @bkmi 定义模块,沙箱之外加载、读取之类的,只是单独 manifest 并没有威胁
    fengleidongxi
        22
    fengleidongxi  
    OP
       2018-02-15 11:52:46 +08:00
    @bkmi
    @HongJay
    我的意思是非共享 UID、签名不同,manifest 能不能被利用,加载沙箱以外的 dex、共享数据之类的
    gam2046
        23
    gam2046  
       2018-02-15 13:48:22 +08:00   ❤️ 2
    app_process 是以当前用户 fork 出来的,因此权限等同于当前进程。所以不存在你说的情况。这和 linux 的权限机制是一样的。

    例如 alipay 通过网络下载回来一个 dex,然后运行,这个 dex 的权限至多与 alipay 一样,不会更多。同样这个 dex 也在 alipay 的虚拟机内,不过其可以申请作为一个独立进程运行,但这与动态加载无关,且作为独立进程运行也是与父进程一样的权限。android 本身就支持这种操作,只需要在 AndroidManifest 中指定 process 参数即可。

    同理,如果你在 adb shell 下手动使用 app_process 启动一个 dex,则该程序的权限与你 shell 权限一致(若你 shell 下是 root 权限,则启动的应用也具有 root 权限)。例如黑域,就是利用这种方式,启动一个 shell 权限的 daemon,以获得普通应用程序以外的权限。但这是需要人工干预的,应用程序并不能自己获得额外的权限。

    以上是建立在 Android 权限体系的情况,如果有存在系统级的越权漏洞,那么以上都不存在了。如果存在这样的漏洞,说什么也白搭,用户侧根本无能为力,只能坐等 Google 或者 OEM 修复。
    fengleidongxi
        24
    fengleidongxi  
    OP
       2018-02-15 14:43:07 +08:00
    @gam2046 非常感谢这位朋友。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   911 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:51 · PVG 05:51 · LAX 13:51 · JFK 16:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.