攻防世界 REVERSE 新手区/python-trade
先看题,下载附件
得到的是.py文件
打开运行,输入不对的flag会直接退出
接下来用python反编译网站反编译一下,我用的是这个python反编译网站,得到反编译后的结果
然后根据反编译得到的代码来写脚本,,,这里我拿的是c写的脚本,,,问我为啥不用python,因为我现在才刚学python,不太熟(我好菜啊。。。)
一开始没看清源代码,直接就拿这串字符去解了
这一看就不对了。。。
然后我又仔细看了下题,发现这个调用的函数是用base64加密后再返回的
然后我就拿这串字符去base64解码,我用的是这个base64解码网站,解出来的结果如下
然后替代那串字符
运行得到flag
然后你以为事情就这么结束了么,,,并没有,我拿这个flag提交了n次,一直不对,,然后我去瞅了眼别人的wp,,发现别人的flag是这样的 nctf{d3c0mpil1n9_PyC}
而我的flag是这样的 nctf{d3c0mpi1n9yC}
这少了点东西啊,,,,,然后我就去那个base64解码网站看看然后发现。。。
我拿解码出来的明文再次加密得到的密文居然是不一样的。。。
我以为是没加==的原因,又加了上了再试一遍
结果还是一样的。。。。然后我拿解码的小程序试了试,解出来的结果是这个
^SdVkT#S ]`Y!^)弨ism
之前网站解码出来的结果是这个 ^SdVkT#S ]`Y!^)ism
啊坑爹呢这是,,,然后又改成小程序解码出的字符串
然后终于出来了
最后我拿小程序解码出的结果到网站上加密