2.4 学而思培优

环境准备

com.xes.jazhanghui.activity == 7.54.1

抓包

image-20230221171423743

逆向分析

先用 jadx 逆向后直接搜索源码

image-20230221171502085

只有三个地方,直接看到 put 的地方,那就是加密数据了,可以定位到加密函数了

image-20230221171556510

跟着代码分析发现真实的加密方法如下:

        public final String getAesStr(String str) {
            String str2;
            Intrinsics.checkNotNullParameter(str, "str");
            try {
                if (TextUtils.isEmpty(str)) {
                    str2 = "";
                } else {
                    byte[] bytes = str.getBytes(Charsets.UTF_8);
                    Intrinsics.checkNotNullExpressionValue(bytes, "(this as java.lang.String).getBytes(charset)");
                    str2 = Base64.encodeToString(AES.bytesEncryptWithRawPassWord(bytes, XesSafeSystemUtils.p, "AES/CBC/PKCS5Padding", XesSafeSystemUtils.iv), 2);
                }
                Intrinsics.checkNotNullExpressionValue(str2, "if (!TextUtils.isEmpty(s…                } else \"\"");
                return str2;
            } catch (Exception e) {
                e.printStackTrace();
                return "";
            }
        }

所以加密方式是 AES CBCKeyZGZrXMl0BE2P1AviIvboopOq3kRIxsZ6rm,那么我们找个工具解密一下看一下:

image-20230221172429319

发现解密成功!

最后更新于

这有帮助吗?