首页
社区
课程
招聘
[求助][求助]请问xposed模块怎么得到context
发表于: 2016-9-28 20:27 22880

[求助][求助]请问xposed模块怎么得到context

2016-9-28 20:27
22880
我想在hook方法里写个dialog,可是得不到context,请问怎么才能得到context呢

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

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 215
活跃值: (417)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1.有全局context处理的hook那个get方法
2.方法所在类继承context可以用MethodHookParam实例的thisObject
2016-9-30 13:43
0
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
AndroidAppHelper.currentApplication().getApplicationContext()
2016-9-30 14:56
1
雪    币: 1387
活跃值: (5614)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
4
网上说这种也可以。
try  {
        Class<?>  ContextClass  =  findClass("android.content.ContextWrapper",  loadPackageParam.classLoader);
        findAndHookMethod(ContextClass,  "getApplicationContext",  new  XC_MethodHook()  {
                @Override
                protected  void  afterHookedMethod(MethodHookParam  param)  throws  Throwable  {
                        super.afterHookedMethod(param);
                        if  (applicationContext  !=  null)
                                return;
                        applicationContext  =  (Context)  param.getResult();
                        XposedBridge.log("CSDN_LQR-->得到上下文");
                }
        });
}  catch  (Throwable  t)  {
        XposedBridge.log("CSDN_LQR-->获取上下文出错");
        XposedBridge.log(t);
}
2018-1-6 10:01
1
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
supperlitt 网上说这种也可以。 try { Class ContextClass = findClass("android.content.ContextWrapper", loa ...
用xposed,手机速度会明显变慢么?
2018-2-10 20:57
0
雪    币: 10791
活跃值: (4763)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

我是这么获取的,Hook 应用的主 Activity 的 onResume 方法:

launcherUI = (Activity)param.thisObject;
Context context = launcherUI.getApplicationContext();
2018-2-10 21:16
0
雪    币: 574
活跃值: (459)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
3楼方法好使
2019-5-23 16:09
1
雪    币: 2726
活跃值: (1110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
Context mContext = (Context) AndroidAppHelper.currentApplication();
2022-5-5 22:28
0
雪    币: 2066
活跃值: (3946)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
昨天我也遇到这个问题,由于xposed 调用时机问题,上面的全部没有用.我这边直接在activity创建后拿到对象进而获取Context.
XposedHelpers.findAndHookMethod("android.app.Instrumentation", loadPackageParam.classLoader,"prePerformCreate", Activity.class,new XC_MethodHook() {
           @Override
           public int compareTo(XCallback o) {
               return 0;
           }

           @Override
           protected void afterHookedMethod(MethodHookParam param) throws Throwable {
               super.afterHookedMethod(param);
               MainActivityContext = (Context) param.args[0];

           }
2022-11-26 10:44
0
雪    币: 3344
活跃值: (2014)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
10

也可以不用hook,反射构造一个新的Context对象:
ContextImpl appContext = ContextImpl.createAppContext(mActivityThread, this);

Ref: fdaK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6i4K9h3&6V1P5g2y4Z5j5g2)9J5c8W2S2H3j5i4c8U0K9q4)9J5c8X3u0D9L8$3u0Q4x3V1k6U0k6e0t1%4z5e0R3K6z5r3q4V1x3X3p5I4y4o6V1J5j5X3c8U0y4h3p5I4k6U0M7&6z5h3k6V1j5U0f1K6z5e0V1K6y4o6m8S2x3K6k6T1i4K6u0r3L8r3!0S2k6r3g2J5i4K6u0r3M7%4u0U0i4K6u0r3L8h3q4A6L8W2)9J5c8X3A6S2N6X3q4Q4x3V1k6U0L8$3#2Q4x3V1k6%4K9h3&6V1i4K6u0r3P5s2m8G2M7$3g2V1i4K6u0r3k6h3&6@1M7Y4W2Q4x3V1k6#2N6r3W2D9i4K6u0r3h3s2m8S2N6r3y4Z5g2i4c8A6L8s2y4Q4x3X3g2B7j5i4k6S2i4K6t1K6e0o6t1#2

最后于 2022-11-28 12:20 被WindStormy编辑 ,原因:
2022-11-28 12:17
0
雪    币: 868
活跃值: (980)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
随便拿到当前activity的一个view的变量   view.getContext() 应该也行吧
2022-12-1 09:50
0
游客
登录 | 注册 方可回帖
返回