【文章转载于安全客https://www.anquanke.com/post/id/237793
    题如其名,真的是签到题,出题的时候调试符号都没去。扔进PEID可以看出是upx壳,脱壳后用ida f5就能看到基本上和源码完全一致的伪代码。
    image.png
    直接由函数名知道是base64编码,进入base64_encode函数并查看alphabet_map,可以发现base64换表了,用python写个脚本就得到flag了
    image.png
    image.png

    1. import base64
    2. my_base64table = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/"
    3. std_base64table ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    4. s = "tvjdvez7D0vSyZbnzv90mf9nuKnurL8YBZiXiseHFq=="
    5. s = s.translate(str.maketrans(my_base64table,std_base64table))
    6. print(base64.b64decode(s))
    7. # MRCTF{wElc0Me_t0_MRCTF_2o21!!!}