1.挺过60秒才是真男人
打开jar运行后可以发现有一个可以移动的块,只要没碰到绿帽子就不会爆炸。碰到后就会爆炸程序停止计时。
而flag必须是要在60秒到70秒之间才能爆出来,超过70秒之后会重新循环。
解法一.
用解压软件打开jar包,找到里面的explode.class并删除就不会影响程序的计时。
静等到60秒就会爆flag到60秒就会爆flag
解法二。
用jar包反汇编工具代开文件查看源代码即可查看flag
解法三。
手工玩出来(手动滑稽)
2.i am an image
这是一张jpg图片,下载后没有后缀名。如何发现是jpg格式的?
用16进制编辑器打开。可以看到jfif(jpg图片头部规定的要有值)
然后发现16进制下的jpg图前三个16进制数不对,应该改为ff d8 ff。
保存后发现发现还是没有flag,那就应该要想到图片的高度可能被改变。jpg图片的高度宽度为ff c0 后三位的内容,各占两位。
修改高度后出flag。
3.woow!this is what ???
在import for next.txt文件内是通过base64加密后的一句话,主要是要知道410*410(下面图像的高度和宽度)
flag.zip是伪加密,用伪加密解密工具ZipCenOp.jar来做 伪加密解密在终端运行命令 java -jar ZipCenOp.zip r flag.zip
打开文件后是无数个像素的三原色信息,像素种类只有(0,0,0)代表黑色,(255,255,255)代表白色,这就想到了这是张二维码的像素信息。
那就通过脚本来还原这张二维码图片
#coding:gb2312
import Image
f=open(“flag.txt”)
img=Image.new(‘1’,(410,410))
d=img.load()
img_arry=[]
##stuple=set()
i=0
for line in f:
line=line.strip().split(“,”)
stuple =[]
stuple.append(int(line[0][1:]))
stuple.append(int(line[1][1:]))
stuple.append(int(line[2][1:-1]))
img_arry.append(tuple(stuple))
for x in range(410):
for y in range(410):
img.putpixel((x, y), img_arry[i][0])
i+=1
img.save(“flag.jpg”)
还原后发现与正常二维码的黑白色块反了就用Stegsolve.jar神器来将图片xor下
4.白茫茫黑乎乎
1.txt中是是通过栅栏加密过的密文,栅栏数为8.
解密后得到的是一张图片的网络地址。通过浏览器下载得到1.jpg
hahahahaha.png图片是一张藏着2.jpg的图片,将图片放到kali下用binwalk跑一下,可以得到2.jpg的偏移量。
因为2.jpg文件过小,用binwalk -Me hahahahaha.jpg不能将图片分离。
可以使用命令dd if=carter.jpg of=carter-1.jpg skip=140147 bs=1来分出图片 skip为文件偏移量。得到2.jpg
然后用Stegsolve.jar神器将两张图片结合出flag
5.flag is in kobe’s heart.
解压后得到两个压缩包都是进过加密的。hahaha.zip的密钥是弱密钥经过7位纯数字加密,用zip爆破工具来秒出密钥。
解压后的内容是第二个压缩包的密钥。
一张图片考到的知识点是ntfs流
用nfts流工具打开后发现有张flag.jpg