某yin黑盒得到as,cp,mas参数

    最近想破解某yin加密算法,无奈so层加固太厉害,本人能力有限,无法破解so层。于是想到一种折中方案,使用xposed调用抖音native层方法,得到as,cp,mas算法。先使用jadx反编译全局搜索"mas"。某yin黑盒得到as,cp,mas参数_第1张图片

点击第一个

某yin黑盒得到as,cp,mas参数_第2张图片

可以b=UserInfo.getUserInfo(i,decode,(String[]) list.toArray(new String[list.size()]), str),其中i为当前时间戳/1000, decode为url,第三个参数为设备信息,str为device_id。调用getUserInfo生成44位的字符串,as为前半部分,cp为后半部分。j.a(a.a(as)),其中a.a为native方法在libcms.so中实现,其中j.a方法的代码为

 public static String a(byte[] bArr) {
        if (bArr == null) {
            return null;
        }
        char[] toCharArray = "0123456789abcdef".toCharArray();
        char[] cArr = new char[(bArr.length * 2)];
        for (int i = 0; i < bArr.length; i++) {
            int i2 = bArr[i] & PrivateKeyType.INVALID;
            cArr[i * 2] = toCharArray[i2 >>> 4];
            cArr[(i * 2) + 1] = toCharArray[i2 & 15];
        }
        return new String(cArr);
    }

由于技术有限,因此不反编译,使用Xposed方式。使用xposed调用getUserInfo方法和native层的a.a方法得到as,cp,mas参数。在使用http服务对外提供接口,访问改接口得到as,cp,mas参数。最终实现效果如下。

某yin黑盒得到as,cp,mas参数_第3张图片

 

访问这个url得到数据如下

某yin黑盒得到as,cp,mas参数_第4张图片

现已提供api接口:http://94.199.101.27:7000

 

 

你可能感兴趣的:(android逆向,xposed)