安卓题jadx打开
找到主函数进去,主要逻辑
第一个加密函数rc4把username作为keybase64_table作为加密后数据
进行逆向解密即可
int main() {
char key[] = "genshinimpact";
int Data[] = { 125, 239, 101, 151, 77, 163, 163, 110, 58, 230,
186, 206, 84, 84, 189, 193, 30, 63, 104, 178,
130, 211, 164, 94, 75, 16, 32, 33, 193, 160,
120, 47, 30, 127, 157, 66, 163, 181, 177,47,
0, 236, 106, 107, 144, 231, 250,16, 36, 34, 91,
9, 188, 81, 5, 241, 235, 3, 54, 150, 40,
119, 202, 150 };
int keylen = strlen(key);
int s[256] = { 0 };
int k[256] = { 0 };
int j = 0;
for (int i = 0; i < 256; i++) {
s[i] = i;
k[i] = key[i % keylen];
}
for (int i2 = 0; i2 < 256; i2++) {
j = (s[i2] + j + k[i2]) & 255;
int temp = s[i2];
s[i2] = s[j];
s[j] = temp;
}
int j2 = 0;
int i3 = 0;
for (int i4 = 0; i4 < 64; i4++) {
i3 = (i3 + 1) & 255;
j2 = (s[i3] + j2) & 255;
int temp2 = s[i3];
s[i3] = s[j2];
s[j2] = temp2;
int rnd = s[(s[i3] + s[j2]) & 255];
printf("%c", rnd ^ Data[i4]);
}
return 0;
}
解密结果:BADCFEHGJILKNMPORQTSVUXWZYbadcfehgjilknmporqtsvuxwzy1032547698/+
在进行一次魔改base64解密即可