首页
社区
课程
招聘
[求助]xposed hook函数中 如何得到当前触发时刻所在包名
发表于: 2019-2-12 09:39 5626

[求助]xposed hook函数中 如何得到当前触发时刻所在包名

2019-2-12 09:39
5626
RT
new XC_MethodHook() {
    @Override
    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
       // 这里如何拿到当前时刻,触发该方法所在类,或者包名。。。
       super.beforeHookedMethod(param);
   }


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 1392
活跃值: (5177)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
栈回溯 。从stacktrace里面可以打印出整个调用流程。
2019-2-12 09:52
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
3
IamHuskar 栈回溯 。从stacktrace里面可以打印出整个调用流程。
这个,只能通过抛出异常拿到么?还是说有其他方式可以拿到。
2019-2-12 10:12
0
雪    币: 3014
活跃值: (1717)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
4
试试 param.thisObject.getClass().toString(),不过有时候可能会有空指针异常。
2019-2-12 14:41
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
5
JovenHe 试试 param.thisObject.getClass().toString(),不过有时候可能会有空指针异常。
这个是当前函数所在的类呀,
package com.a.b
{
     class c{
            public static void test(){
                      d dd = new d();
                      dd.do();
                      // hook了do方法,怎么拿到是在com.a.b或者这个c这个class种类调用。 栈应该可以拿到。
            }
      }
}
2019-2-12 15:21
0
雪    币: 300
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
                                                               Throwable ex = new Throwable();
                                                               StackTraceElement[] stackElements = ex.getStackTrace();
                                                               if (stackElements != null) {
                                                                       for (int i = 0; i < stackElements.length; i++) {                                                                                
                                                                               if (stackElements[i].getClassName().contains("com.xxxx")) {
                                                                                       List<FakeSubscriptionInfo> list = new ArrayList<FakeSubscriptionInfo>();
                                                                                       list.add(new FakeSubscriptionInfo());
                                                                                       param.setResult(list);
                                                                                       break;
                                                                               }
                                                                       }
                                                               } 
2019-2-13 09:10
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
换种方式,先拿包名
https://www.cnblogs.com/ichunqiu/p/8575173.html
2019-2-23 00:13
0
雪    币: 64
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你在执行handleLoadPackage 这个方法的时候你定义一个变量保存当前的包名不就行了
2019-2-23 13:48
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
9
呵呵来了 你在执行handleLoadPackage 这个方法的时候你定义一个变量保存当前的包名不就行了
其实目的主要是,进行逆向推到,app,拿到非自身是的包,判定hook情况。
2019-2-27 09:21
0
游客
登录 | 注册 方可回帖
返回
//