参考文章:re学习笔记(20)i春秋-re-Nonstandard_Forgo7ten的博客-CSDN博客
知识拓展:Base64加密:
https://www.cnblogs.com/linguanh/p/11205256.html
IDA界面认识:
IDA汇编列表界面中的伪指令align:
IDA的常见问题及解决方法_function frame is wrong_王大碗Dw的博客-CSDN博客
解题(主要是对伪代码进行分析):
进入函数sub_401480并且进行分析
后进入函数sub_401070 ,发现是Base32加密
之后再进入sub_401000,看看Base32的密钥是什么
注:感觉这里反编译的20行有问题,应该是v1++
总结:1.算法导出置换表(本题)
2.猜测导出置换表(羊城杯csgo)
也就是一个base32加密,字符集是 zYxWvUtSrQpOnMlKjIhGfEdCbA765321
加密后的密文是 nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===
二.分析完毕,写脚本
脚本积累:
import base64 str1='' string1='' string2='' print(base64.b64decode(str1.translate(str.maketrans(string1,string2))))
最终flag为flag{f1ag_1s_enc0de_bA3e32!}