2.4 学而思培优
环境准备
com.xes.jazhanghui.activity == 7.54.1
抓包

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

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

跟着代码分析发现真实的加密方法如下:
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 CBC
, Key
为 ZGZrXMl0BE2P1Avi
, Iv
为 boopOq3kRIxsZ6rm
,那么我们找个工具解密一下看一下:

发现解密成功!
最后更新于
这有帮助吗?