bugku pokergame

获得压缩包,解压,有四个文件,分别看一下

压缩包有密码,hint文件暂时没什么用,只是提示,然后两个图片大小王

猜测:大小王里有隐藏信息,最后获取密码,解开压缩包

将大小王分别放到010中查看

在king.jpg中看见了code.txt,kali中foremost提取

一个压缩包,但是有密码

010查看是否有伪加密,但是目录区和数据区的全局标记都是09,按照里说不是伪加密,但重新看了一遍所有文件,都没有发现有关于密码的信息,所以尝试改一下

无加密的ZIP:

压缩源文件数据区的全局方式位标记应当为00 00 且压缩源文件目录区的全局方式位标记应当为00 00

真加密的ZIP:

压缩源文件数据区的全局方式位标记应当为09 00 且压缩源文件目录区的全局方式位标记应当为09 00

伪加密的ZIP:

全局方式有一个必定不一样

都改为00,保存,查看一下果然是伪加密,txt文件是base64加密的图片源码,放到网页里就能获得图片

king.jpg的信息算是提取完了,还有一个kinglet

010中 kinglet.jpg没有找到有用信息,直接放到kali binwalk一下,看见有图片,foremost提取

另一个半块二维码

用python脚本把他们拼一起

from PIL import Image

import os

path = r'C:\Users\DELL\Desktop\test'  #图片存放地址

new_one = Image.new('RGB',(400,400)) #图片长宽,因为两个图片宽度分别为200,总和就是400

king_png = Image.open(path+'\\'+'00000073.png')

kinglet_png= Image.open(path+'\\'+'无标题.png')

new_one.paste(king_png,(0,0)) #将图片放在位置为0,0

new_one.paste(kinglet_png,(200,0))

new_one.save(path+'\\'+'new.png')

获得二维码,但是缺角,自己画

获得key,利用密码打开压缩包

发现k.jpg没有显示,放到010发现是个压缩包,改后缀

在txt文件,给了提示说A是1,????那其他的呢???难道是0,于是尝试二进制,

跑完就发现不对劲,这么大的二进制肯定得不到结果,后来看了wp才知道我思路没问题不过做法有问题

可以看到除了A以外都是有顺序的,提示的意思是不是A的话整体为0,真的需要脑洞大的

替换所有2345678910为0,A为1获得二进制,转字符

import base64

str='2345678910A2345678910A23456789102345678910AA2345678910A234567891023456789102345678910AAA2345678910A234567891023456789102345678910AA23456789102345678910AAA2345678910AAA2345678910AA234567891023456789102345678910AA2345678910A23456789102345678910A2345678910234567891023456789102345678910AA2345678910A2345678910AA2345678910AA23456789102345678910AAA2345678910AA23456789102345678910A234567891023456789102345678910A234567891023456789102345678910AAA23456789102345678910AAA2345678910234567891023456789102345678910AA23456789102345678910AAA2345678910AA23456789102345678910A234567891023456789102345678910A234567891023456789102345678910AAA2345678910A2345678910A2345678910AA23456789102345678910AAA23456789102345678910AA2345678910AA234567891023456789102345678910A23456789102345678910A2345678910234567891023456789102345678910AA2345678910A2345678910234567891023456789102345678910A234567891023456789102345678910AA2345678910A2345678910A2345678910AA234567891023456789102345678910A234567891023456789102345678910AA23456789102345678910AA2345678910A2345678910A2345678910A2345678910A2345678910AA23456789102345678910AAA2345678910AA2345678910234567891023456789102345678910A23456789102345678910AA23456789102345678910A23456789102345678910A2345678910A2345678910AA234567891023456789102345678910AA2345678910A2345678910A2345678910A23456789102345678910A23456789102345678910A2345678910A234567891023456789102345678910AAA2345678910AA2345678910AA234567891023456789102345678910AAAA2345678910A23456789102345678910A23456789102345678910A23456789102345678910A2345678910A234567891023456789102345678910A2345678910A2345678910AAA2345678910A234567891023456789102345678910AA2345678910AA234567891023456789102345678910AA23456789102345678910A2345678910A2345678910A2345678910AA2345678910234567891023456789102345678910AAA2345678910A234567891023456789102345678910A2345678910A23456789102345678910234567891023456789102345678910A2345678910A2345678910A234567891023456789102345678910A2345678910A2345678910A2345678910A2345678910AA23456789102345678910A234567891023456789102345678910AA23456789102345678910AA23456789102345678910A2345678910A2345678910AAA2345678910A2345678910A2345678910AAA23456789102345678910AAA23456789102345678910A23456789102345678910AA234567891023456789102345678910A2345678910A2345678910AA2345678910A23456789102345678910A234567891023456789102345678910AAA23456789102345678910AAA23456789102345678910A2345678910AAA23456789102345678910234567891023456789102345678910AA23456789102345678910A234567891023456789102345678910A23456789102345678910A23456789102345678910234567891023456789102345678910AA234567891023456789102345678910234567891023456789102345678910AAAA2345678910A'

flag=''

str = str.replace('2345678910','0')

str = str.replace('A','1')

for i in range(0,len(str),8):

    flag+=chr(int(str[i:i+8],2))

print(flag)

print(base64.b64decode(flag))

解压,txt文件说这是个倒着的flag,猜测图片源码反过来才能看见flag,但是010看见结尾没有jpg的头,而且图片总感觉少了很多,其他的牌都是全的,尝试改高

找高宽的简单方法,将原本图片高宽转为16进制,在010搜就可以找到

果然有,但是下面被涂掉了

在steg中看见字符,真不仔细看看不见的,保存下来,旋转,获得flag,真的要眼瞎的!!!!!!!

总结:没什么好总结的,伪加密纯属经验,其次靠细心和观察

参考:BugkuCTF-MISC题Pokergame_pokergame bugku-CSDN博客

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值