思路: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)
标签:加密,Base64,2nd,print,b64table,MyBase,NSSCTF From: https://www.cnblogs.com/F145H/p/17731929.html