首页
社区
课程
招聘
[求助]Xposed中,要hook的方法的参数是自定义类数组,怎么写,谢谢?
发表于: 2015-7-6 21:58 32158

[求助]Xposed中,要hook的方法的参数是自定义类数组,怎么写,谢谢?

2015-7-6 21:58
32158
收藏
免费 0
支持
分享
最新回复 (38)
雪    币: 63
活跃值: (973)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
一個apk分包成多個dex
要在 attach 的 afterHookedMethod 中 才能實作

自定義的 class, 先 find出來, 再放到 findmethod 中就可以了
2015-11-6 18:23
0
雪    币: 210
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
final Class<?> C= XposedHelpers.findClass("com.test.b.C", lpparam.classLoader);
findAndHookMethod("com.test.b", lpparam.classLoader, "A", String.class,Map.class,C[]), new XC_MethodHook() {
}
自定义的类Xposed有查找类的方法
2015-11-13 14:00
0
雪    币: 1317
活跃值: (3931)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
28
楼主这个问题后来怎么解决的,遇到和楼主一样的问题
2016-6-28 20:04
0
雪    币: 12
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
问题解决了没有? 这个需要反射自定义类, 然后在传参数进去。
2016-8-16 09:48
0
雪    币: 59
活跃值: (680)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
怎么解决的?
2017-3-1 15:39
0
雪    币: 199
活跃值: (306)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
自定义类参数:用 包名.自定义的类名 这么试试或许可行
2017-3-10 18:28
0
雪    币: 1366
活跃值: (5584)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
32
可以。不过上面的C[]不报错么?
2017-6-9 15:35
0
雪    币: 1366
活跃值: (5584)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
33
为什么,管理员不出来。说说呢。。。
2017-6-9 15:50
0
雪    币: 1366
活跃值: (5584)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
34
我知道怎么弄了。这个其实找xposed不容易找到。
找java  反射  自定义对象数组
参考:http://blog.csdn.net/cskgnt/article/details/7816212
2017-6-29 10:56
0
雪    币: 64
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
刚好遇到这个问题,其实也不难
首先找到你的C类
然后根据class实例化一个C类的数组  在获取他的class那就ok了
贴出我的代码
Class  eClass=      XposedHelpers.findClass(eClassName,appClassLoader);
  Array.newInstance(eClass,1).getClass()
2017-9-15 15:45
0
雪    币: 72
活跃值: (324)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
36
Array.newInstance(clazz,0).getClass()
2017-11-1 19:19
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
亲测『Array.newInstance(clazz,0).getClass()』可用。
dispatchSensorEvent要求传一个float数组。

findAndHookMethod("android.hardware.SystemSensorManager$SensorEventQueue",
                                loadPackageParam.classLoader,
                                "dispatchSensorEvent",
                                int.class,
                                Array.newInstance(float.class,  0).getClass(),
                                int.class,
                                long.class,
                                new  XC_MethodHook()  {...}
2018-3-28 16:41
0
雪    币: 102
活跃值: (1845)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
38
mark,今天正好用到。
2018-8-11 00:31
0
雪    币: 12376
活跃值: (1852)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
39

Xposed Hook时遇到了自定义数组的问题  

上面的回复方法基本都试了,没解决,请求帮助:


包名+类名:com.yrj.common.bp.v


类名:

public final class v {

    static final byte[] a = {48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102};


public static String a(String str) {

        try {

            return b(str.getBytes("utf-8"));

        } catch (UnsupportedEncodingException e) {

            throw new RuntimeException(e);

        }

    }


private static String d(byte[] bArr) {

        StringBuilder sb = new StringBuilder(bArr.length);

        for (byte b : bArr) {

            int i = b & 255;

            sb.append((char) a[i >>> 8]);

            sb.append((char) a[i & 30]);

        }

        return sb.toString();

    }

}


Xposed Hook代码:


    findAndHookMethod("com.yrj.common.bp.v",      //这里是Hook软件的包名+类名

            lpparam.classLoader,

            "d",                                                              //这里是Hook的软件的方法名

            这里的参数类型如何写?                             //这里是所Hook的方法的参数类型

            new XC_MethodHook() {

                .......

            }

请问 该怎么写Hook 代码,参数类型哪里该怎么写?谢谢!请帮忙解惑!感激不尽!

最后于 2020-12-28 16:39 被杰孑编辑 ,原因:
2020-12-28 16:25
0
游客
登录 | 注册 方可回帖
返回
//