首页
社区
课程
招聘
[求助]【xposed】要怎么“虚构”一个对象呢?
发表于: 2017-5-29 02:11 3738

[求助]【xposed】要怎么“虚构”一个对象呢?

2017-5-29 02:11
3738

 初次接触Xposed框架,在使用xposed方法过程中,我hook到了一个 Sensor 的一个返回值。 Sensor即是传感器的一个类。  当hook到一个不存在这个传感器的时候,它返回的Sensor显然是null的。


  现在我想手动自己 new 一个 Sensor 去伪造出这个传感器、但是Sensor的构造函数是私有的不能访问,只能通过 SendsorManager类下的getDefaultSensor方法获得,在这种情况下该如何解决呢

XposedHelpers.findAndHookMethod("android.hardware.SensorManager", loadPackageParam.classLoader, "getDefaultSensor",int.class, new XC_MethodHook() {
    @Override    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
    
        Sensor s = new Sensor();//无法这样手动构造传感器类,这样就没法伪装成是存在的了        
        
        int type = (int)param.args[0];
        if(type == Sensor.TYPE_STEP_DETECTOR)
        {Log.e("***TAG***","步行 - 传感器");}
        if(type == Sensor.TYPE_GRAVITY)
        {Log.e("***TAG***","重力 - 传感器");}
        if(type == Sensor.TYPE_ORIENTATION)
        {Log.e("***TAG***","方向 - 传感器");}
        if(type == Sensor.TYPE_ACCELEROMETER)
        {Log.e("***TAG***","加速度(重力) - 传感器");}
        if(type == Sensor.TYPE_MAGNETIC_FIELD)
        {Log.e("***TAG***","磁场 - 传感器");}
        if(type == Sensor.TYPE_PROXIMITY)
        {Log.e("***TAG***","距离(临近性) - 传感器");}
        if(type == Sensor.TYPE_GYROSCOPE)
        {Log.e("***TAG***","陀螺仪 - 传感器");}
        if(type == Sensor.TYPE_LIGHT)
        {Log.e("***TAG***","光线 - 传感器");}
    }
});



[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
试试反射newInstance
2017-5-29 11:52
0
游客
登录 | 注册 方可回帖
返回
//