首页
社区
课程
招聘
[求助]Xposed hook模块编写实例问题
发表于: 2015-7-16 15:19 9245

[求助]Xposed hook模块编写实例问题

2015-7-16 15:19
9245
请教一个实例模块代码问题:
模块编写目的是对一个第三方应用的XXX函数进行勾取
findAndHookMethod(“包名+类名”, lpparam.classLoader, “XXX”, 第一个参数类型, 第二个参数类型, new XC_MethodHook(){});
第一个参数类型是该应用的自定义类型,我尝试用反射机制Class.forName("类型名")来写,结果”class not found“,这种情况应该怎么办呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 168
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
试一试XposedHelpers.findClass
2015-7-16 16:23
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看了github上源码文档找到findClass刚刚把这个问题解决掉,回来论坛也看到了你的解答,谢谢!

不过出现了新问题,报错找不到方法:
java.lang.NoSuchMethodError: XXX.i#a(byte[],int,findClass得到的类型,int)#exact

目标方法的smali代码如下:
# virtual methods
.method public final a([BILfindClass得到的类型;I)I
也就相当于是 public final int a( byte[], int, findClass得到的类型, int)

我的代码是这样的:
Class<?> PB = findClass("类型名",lpparam.classLoader);
[LEFT]findAndHookMethod("XXX.i", lpparam.classLoader, "a", byte[].class, int.class, PB, int.class, new XC_MethodHook(){...});[/LEFT]

这个报错可能是因为什么呢?
2015-7-16 17:09
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=myra;1381655]看了github上源码文档找到findClass刚刚把这个问题解决掉,回来论坛也看到了你的解答,谢谢!

不过出现了新问题,报错找不到方法:
java.lang.NoSuchMethodError: XXX.i#a(byte[],int,findClass得到的类型,int)#exact

目标方法...[/QUOTE]

追加:
又尝试了下面的代码
Class<?> i = findClass("类名",lpparam.classLoader);
Class<?> PB = findClass("类型名",lpparam.classLoader);      	
Method ia=findMethodBestMatch(i, "a", byte[].class, int.class, PB, int.class);      	
hookMethod(ia,new XC_MethodHook(){...};


依旧报错
java.lang.NoSuchMethodError: XXX.i#a(byte[],int,findClass得到的类型,int)#bestmatch
2015-7-16 19:00
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
“第一个参数类型”, ”第二个参数类型“,直接字符串就行
2015-7-23 20:04
0
雪    币: 409
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
哪位高手可以来解说一下吗?
2016-3-16 10:01
0
游客
登录 | 注册 方可回帖
返回
//