12下一页
返回列表 发新帖

使用Xp框架去除软件权限检测

[复制链接]

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-12 10:37:55 来自手机  | 显示全部楼层 | 阅读模式
本帖最后由 3355260463 于 2021-4-12 10:45 编辑

想必大家在使用一些软件时候肯定遇到过一些软件,这些软件必须要**权限,否则无法打开
需要一点点Java基础,懂得什么是java反射机制

众所周知,权限的检测方法是int checkSelfPermission(String permission)
,位于android.content.ContextWrapper
如果权限被允许则返回0,拒绝则返回-1;
我们所要hook的是返回值,永远返回0,对吧

步骤/思路:
1.先找到ContextWrapper类
代码:
Class<?> clazz=Class.forName("android.content.ContextWrapper");
或者直接ContextWrapper.class获取这个Class对象
2.第二步
反射找到方法
XposedHelpers.findAndHookMethod(clazz,
                                            "checkSelfPermission", String.class, hook);
String.class是对应上面的checkSelfPermisson的形参.hook等下讲
3.第三步
Hook返回值
final XC_MethodHook hook=new XC_MethodHook(){
            public void beforeHookedMethod(XC_MethodHook.MethodHookParam param) {
                param.setResult(GRANTED);
            }
        };
这个就是那个hook,完整代码我会贴到一楼

4.把他继承自ContentProvider写入onCreate方法在Apk中注册
即可逆向在Apk中注入

本项目源码在https://github.com/caicaidarenya/HookDmeo
回复

使用道具 举报

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-12 10:39:19 来自手机  | 显示全部楼层
完整代码:
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.util.Log;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;

public final class AntiCheckPermission extends ContentProvider {
    /* public */static final int DENIED=-1;
    /* public */static final int GRANTED=0;
    private static final String TAG="AntiPermission";
    private final void hookCheckPermission() {
        final XC_MethodHook hook=new XC_MethodHook(){
            public void beforeHookedMethod(XC_MethodHook.MethodHookParam param) {
                param.setResult(GRANTED);
            }
        };
        try {
            Class<?> clazz=Class.forName("android.content.ContextWrapper");
            XposedHelpers.findAndHookMethod(clazz,
                                            "checkSelfPermission", String.class, hook);
            XposedHelpers.findAndHookMethod(clazz,
                                            "checkPermission", String.class, int.class, int.class, hook);
        } catch (ClassNotFoundException e) {
            throw new NoClassDefFoundError(e.getMessage());
        }
        if (getContext().getApplicationInfo().targetSdkVersion < 23) {
            try {
                XposedHelpers.findAndHookMethod(Class.forName("androidx.core.content.PermissionChecker"),
                                                "checkSelfPermission", Context.class, String.class, hook);
                XposedHelpers.findAndHookMethod(Class.forName("androidx.core.content.PermissionChecker"),
                                                "checkPermission", Context.class, String.class, int.class, int.class, hook);
            } catch (ClassNotFoundException e) {
                Log.e(TAG, "androidx.core.content.PermissionChecker Not Found");
            }
        }
    }
   
    @Override
    public boolean onCreate() {
        hookCheckPermission();
        return false;
    }

    @Override
    public Cursor query(Uri uri, String[] p2, String p3, String[] p4, String p5) {
        return null;
    }

    @Override
    public String getType(Uri uri) {
        return null;
    }

    @Override
    public Uri insert(Uri uri, ContentValues p2) {
        return null;
    }

    @Override
    public int delete(Uri uri, String p2, String[] p3) {
        return 0;
    }

    @Override
    public int update(Uri uri, ContentValues p2, String p3, String[] p4) {
        return 0;
    }
   
}
回复

使用道具 举报

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-12 10:45:38 来自手机  | 显示全部楼层
下载链接https://wwi.lanzous.com/iGzMwnyis7a
回复

使用道具 举报

0

主题

193

帖子

400

积分

初中生

Rank: 3Rank: 3

金币
176
好评
0
贡献
0
发表于 2021-4-12 11:01:46 来自手机  | 显示全部楼层
学习学习又学习
回复

使用道具 举报

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-12 11:16:23 来自手机  | 显示全部楼层
不会看不懂吧?
回复

使用道具 举报

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-12 11:18:05 来自手机  | 显示全部楼层
liqiaov5 发表于 2021-4-12 11:01
学习学习又学习

不难吧铁汁
回复

使用道具 举报

0

主题

2961

帖子

5383

积分

硕士生

Rank: 6Rank: 6

金币
1381
好评
0
贡献
0
发表于 2021-4-12 12:45:31 | 显示全部楼层
好东西值得收藏!
回复

使用道具 举报

0

主题

2537

帖子

5195

积分

硕士生

Rank: 6Rank: 6

金币
1874
好评
0
贡献
0
发表于 2021-4-13 00:38:39 | 显示全部楼层
感谢分享
回复

使用道具 举报

7

主题

1527

帖子

5410

积分

硕士生

Rank: 6Rank: 6

金币
1744
好评
0
贡献
0
发表于 2021-4-13 07:29:15 来自手机  | 显示全部楼层
不懂代码没看懂怎么使用
回复

使用道具 举报

0

主题

312

帖子

2136

积分

大学生

Rank: 5Rank: 5

金币
240
好评
0
贡献
0
发表于 2021-4-13 15:30:45 来自手机  | 显示全部楼层
看不懂用法,有成品更好。。
回复

使用道具 举报

124

主题

7487

帖子

1万

积分

博士生

重生大魔王

Rank: 7Rank: 7Rank: 7

金币
5657
好评
3
贡献
0
发表于 2021-4-13 15:36:43 来自手机  | 显示全部楼层
感谢分享
回复

使用道具 举报

40

主题

264

帖子

876

积分

高中生

Rank: 4

金币
274
好评
2
贡献
0
发表于 2021-4-14 00:53:32 来自手机  | 显示全部楼层
不错不错,值得学习
回复

使用道具 举报

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-14 09:59:20 来自手机  | 显示全部楼层
爱在布拉格 发表于 2021-4-13 15:30
看不懂用法,有成品更好。。

注入到apk中
回复

使用道具 举报

5

主题

117

帖子

332

积分

初中生

Rank: 3Rank: 3

金币
127
好评
0
贡献
0
发表于 2021-4-14 09:59:36 来自手机  | 显示全部楼层
嘿咻嘿咻 发表于 2021-4-13 07:29
不懂代码没看懂怎么使用

加入apk的classes2.dex
回复

使用道具 举报

7

主题

1527

帖子

5410

积分

硕士生

Rank: 6Rank: 6

金币
1744
好评
0
贡献
0
发表于 2021-4-26 13:32:04 来自手机  | 显示全部楼层
菜菜大人. 发表于 2021-4-14 09:59
加入apk的classes2.dex

大佬能做成XP模块针对某些app进行Hook吗?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表