BUUCTF [羊城杯 2020]easyre 考点base64编码查壳进入idaStr先base64转换经过字符顺序交换和凯撒密码加密得到的字符串与Str2相同encode_one标准base64encode_twoa3分别对应Str的str26-380-1239-5113-25encode_three大写字母A→DB→E ... Z→C小写字母a→db→e ... z→c数字0→31→4 ... 9→2其他字符不变先解出v9#include stdio.h #include string.h __int64 decode_three(const char *str, int len, char *out, int *out_len) { if (!str || !len) return -1; for (int i 0; i len; i) { char c str[i]; if (c A c Z) { out[i] (c - A - 3 26) % 26 A; } else if (c a c z) { out[i] (c - a - 3 26) % 26 a; } else if (c 0 c 9) { out[i] (c - 0 - 3 10) % 10 0; } else { out[i] c; } } if (out_len) *out_len len; return 0; } int main() { char Str2[]EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3cT6QckkPckoRG; char Str1[100]{0}; int out_len; decode_three(Str2,strlen(Str2),Str1,out_len); printf(%s,Str1); return 0; }交换顺序得到v10R1dIVHs2NzJjYzQ3NzhhMzhlODBjYjM2Mjk4NzM0MTEzM2VhMn0base64解码得Str即flagflag{672cc4778a38e80cb362987341133ea2}