[NSSCTF 2nd]MyBase

发布时间 2023-09-27 09:37:39作者: F145H

思路:IDA打开,发现有符号表,还贴心的备注了Base64加密。仔细一看也确实是这样。拿base64表直接丢到赛博厨子,太棒了,没有结果。
怀疑是不是趁我睡着了改了我的Base64表,直接下断点动调,不调不要紧,一调吓一跳,Base64表在每次循环的时候都会变,但是加密用的表一定是相同的,那就记录每一次的表,写道记事本里记着。

b64table=["+86420ywusqomkigecaYWUSQOMKIGECABDFHJLNPRTVXZbdfhjlnprtvxz13579/","YsVO0tvT2o4puZ38j1dwf7MArGPNeQLDRHUK+SChbFanmklWEcgixXJIq6y5B/9z",\
          "xDfpNE4LYH5Tk+MRtrlv1oFbQm0gP37eqIajh2syUnZcSV8iBK6O/XWuzdCwA9GJ","YvHeOZECmTyg0Mw2i7PIGKblsfF59rzUk6p3hVdW1qaQ+xRANnXLj48BcJDotS/u",]
for i in b64table:
    print(i)

丢给厨子再试试,还是没有,那就老实分析函数吧。发现在加密函数中他偷偷把我的字符顺序换了,那就好办了。既然输出有规律,函数都不用仔细分析(菜且懒比),换一下顺序看看哪些能正常输出,最后得到了规律就成功解密了,再把flag拼一起就出来辣!
这个也叫脚本?或许不算hhh

plain="NSS"+"CTF"+"{We"+"lc0"+"me_"+"T0_"+"Re_"+"Wor"+"ld}"
print(plain)