我会一题一题的做,因为也是新手所以我会尽可能的写的清楚明白
后面所需要的工具我会慢慢发出来,也可以私信我
1、Hello, CTF
题目描述:菜鸡发现Flag似乎并不一定是明文比较的
附件丢到IDA查看发现
然后提示你不一定是明文比较看着像十六进制,然后去转换,用这个代码就可以
a = '437261636b4d654a757374466f7246756e' #里面的16进制替换就好
for i in range(len(a)//2):
print(chr(int(a[i*2:i*2+2],16)),end='')
这就是flag了,也可在线转换 附上链接
https://www.bejson.com/convert/ox2str/
CrackMeJustForFun
5、insanity
菜鸡觉得前面的题目太难了,来个简单的缓一下
下载附件后一般都查壳看一下,但是既然题目说简答,那我就懒得查壳直接IDA打开看了
打开后是这样的,就先一个一个盲猜看看呗,然后 shift+f12查看字符串发现了flag
9447{This_is_a_flag}
因为我也挺忙的,有时候做完懒得写wp,就随缘更新
7、python-trade
菜鸡和菜猫进行了一场Py交易
下载附件后发现是pyc文件,我直接打卡是这样的
花里胡哨的,既然是PYC文件就去逆向为py文件,有两种方法
https://tool.lu/pyc/在线逆向
还有就是直接在linux里面
uncompyle6 1.pyc > 1.py使用这个命令转换如果没有这个命令就 pip install uncompyle下载就好了
然后查看顺便运行一下
查看这段代码你至少要看的懂encode函数中的操作 不然后面你就很难进行下去
然后只要稍微修改一下代码,反过来执行
import base64
def decode(message):
s = ''
imessage = base64.b64decode(message)
for i in imessage:
x = ord(i) - 16
x = x ^ 32
s += chr(x)
return s
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
flag = decode(correct)
print(flag)
这样就得到flag啦
nctf{d3c0mpil1n9_PyC}