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

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

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


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 1515
活跃值: (5972)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
栈回溯 。从stacktrace里面可以打印出整个调用流程。
2019-2-12 09:52
0
雪    币: 1387
活跃值: (5614)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
3
IamHuskar 栈回溯 。从stacktrace里面可以打印出整个调用流程。
这个,只能通过抛出异常拿到么?还是说有其他方式可以拿到。
2019-2-12 10:12
0
雪    币: 3117
活跃值: (2182)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
4
试试 param.thisObject.getClass().toString(),不过有时候可能会有空指针异常。
2019-2-12 14:41
0
雪    币: 1387
活跃值: (5614)
能力值: ( 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
活跃值: (239)
能力值: ( 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
换种方式,先拿包名
d72K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3K9h3y4Z5N6h3&6I4K9i4g2Q4x3V1k6H3i4K6u0r3z5o6f1%4y4e0p5%4x3#2)9J5k6h3S2@1L8h3H3`.
2019-2-23 00:13
0
雪    币: 64
活跃值: (124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你在执行handleLoadPackage 这个方法的时候你定义一个变量保存当前的包名不就行了
2019-2-23 13:48
0
雪    币: 1387
活跃值: (5614)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
9
呵呵来了 你在执行handleLoadPackage 这个方法的时候你定义一个变量保存当前的包名不就行了
其实目的主要是,进行逆向推到,app,拿到非自身是的包,判定hook情况。
2019-2-27 09:21
0
游客
登录 | 注册 方可回帖
返回