android - 使用 Xposed 在另一个应用程序中 Hook 私有(private)方法

标签 android xposed-framework xposed

是否可以使用 xposed 在另一个应用程序中挂接私有(private)方法?

我写了这个模块

public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
    if (!lpparam.packageName.equals("com.esealed.dalily"))
        return;


    findAndHookMethod("com.esealed.dalily.i.c",lpparam.classLoader ,"a","com.esealed.dalily.model.VersionInfo", new XC_MethodHook() {
        @Override
        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
            Log.d("XPOSED_MOD","Inside  a method ");
            param.setResult(null);


        }


    }); 

它不会抛出任何错误说找不到该类,但是当调用该方法时它不会向日志中写入任何内容。所以我假设发生这种情况是因为该方法是私有(private)的,但我不确定。

最佳答案

根据 xposed 桥源 ( https://github.com/rovo89/XposedBridge/blob/art/app/src/main/java/de/robv/android/xposed/XposedHelpers.java ),findAndHookMethod 调用 getDeclaredMethod 并将其结果设置为可访问。这意味着该函数应该适用于任何方法,无论是否公开。

你能hook同一个类的public方法吗?

关于android - 使用 Xposed 在另一个应用程序中 Hook 私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37259755/

相关文章:

java - 调整 'Google maps V2' 以占据屏幕的一半而不是整个屏幕

android - 停止识别 Google Now 滑动手势

java - 如何 Hook 静态整数返回值

java - 检查手机屏幕是否亮起的方法

android - Xposed 和 onCheckedChanged 代码 - 编译错误

android - 我的Android应用程序如何扫描自己的内存映射以查找已知的不良关键字,例如“Xposed”或“Frida”?

android - 如何在 Activity/服务之间共享资源

android - 更新图像的位置

java - 预验证类中的类引用解析为意外实现