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

如何快速便捷的查看 android 系统类的类、方法参数?

  •  
  •   jiangwei2222 · 2021-05-15 10:35:11 +08:00 · 8422 次点击
    这是一个创建于 1288 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在写 xposed 插件,在大部分手机上都没问题,但是在小米手机上死活找不到相关方法。猜测是小米对 android 源码魔改太多,方法入参或者返回变了,导致 hook 不生效。因此想看看小米系统底层的函数定义。以前都是直接看 android 源码,但是对于小米这种编译好的系统怎么看他的 android 系统类定义呢?

    比如这个函数
    https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/input/InputManagerService.java#218

    我有什么办法看看在小米 rom 上面的定义呢?
    7 条回复    2021-05-21 17:06:12 +08:00
    fairytale110
        1
    fairytale110  
       2021-05-15 11:16:04 +08:00
    下 MIUI  ROM 反编译
    www.miui.com/download.html
    ochatokori
        2
    ochatokori  
       2021-05-15 12:49:23 +08:00 via Android
    反编译 /system/framework/services.jar ,这里面都是没有混淆的
    foil2
        3
    foil2  
       2021-05-15 13:54:12 +08:00
    既然 root 了,那就推荐 objection (基于 Frida )
    SmallZheng
        4
    SmallZheng  
       2021-05-15 16:26:24 +08:00 via Android
    反射打印出来
    ikas
        5
    ikas  
       2021-05-15 17:45:21 +08:00
    反编译 service.jar, framework.jar
    jiangwei2222
        6
    jiangwei2222  
    OP
       2021-05-15 18:10:47 +08:00 via Android
    @fairytale110
    @ochatokori
    @SmallZheng
    @ikas 这些我都知道,我是想问,有没有什么工具能够图形化的直接看到所有系统类的参数😂理论上来说,基于反射是可以把所有类列出来的,而且写 xposed 插件的时候这个非常需要,我感觉应该会有人做过
    micstart
        7
    micstart  
       2021-05-21 17:06:12 +08:00
    随便写个 Android App,调用 Class.forName(className)加载想要的类,然后安装在小米手机上调试,查看返回的 Class 对象有哪些方法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1936 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.