用JPEXS反编译flash.swf得到441张黑白图片和1个mp3文件

软件下载地址:https://github.com/jindrapetrik/jpexs-decompiler/releases

右键导出图片

图片很规律,张数刚好是441=21*21,按照图片顺序,黑为1白为0,拼凑出0-1序列

图像处理脚本——识别1和0:

from PIL import Image
def aaa(s):
image = Image.open("frames/"+str(i)+".png")
a,b,c,d = image.getpixel((50,50))
return a
s=''
for i in range(1,442):
if aaa(i)==0:
s+=''
else:
s+=''
print (s)

输出:

111111100110001111111100000100111001000001101110101011001011101101110100100101011101101110100101101011101100000100110001000001111111101010101111111000000001010100000000111011111011111000100110110011011101111011101101111001101111011010010001100000000011111010100000100011000000000001011100110011111111101011100110101100000101101000100010101110101011011000001101110100101101110000101110101101110110001100000101011100010010111111101101100001011

尝试一下拼一起

图片处理脚本——拼接图片:

from PIL import Image

length = 21
img = Image.new('RGB', (length*5, length*5))
#黑点为1白点为0
data = "" for x in range(length):
for y in range(length):
if data[x*length+y] == '':
for xx in range(x*5, x*5+5):
for yy in range(y*5, y*5+5):
img.putpixel([xx, yy], (0,0,0))
else:
for xx in range(x*5, x*5+5):
for yy in range(y*5, y*5+5):
img.putpixel([xx, yy], (255,255,255))
img.save('out.png')

输出:

得到前半个flag

*ctf{half_flag_&

再导出mp3文件,这个是常见套路频谱隐写,得到后半段flag

&_the_rest}

参考:https://zhuanlan.zhihu.com/p/64252028

[*CTF2019]babyflash的更多相关文章

  1. 嘶吼CTF2019总结(Web部分题目复现以及部分杂项)

    easy calc 这次的比赛自己一题都没有做出来,赛后看题解的时候很难受,其实有很多东西自己其实是可以做出来的,但是思路被限制了,可能这就是菜吧. 首先web题目就是一个easy calc,emmm ...

  2. 关于XXE

    NJUPT CTF2019: 做题的时候,抓包看了一下,响应XML格式消息,并没有严格过滤,这道题读文件, <!DOCTYPE foo [ <!ENTITY xxe SYSTEM &quo ...

随机推荐

  1. SSH 维持权限(好用)

    很多时候我们拿下机器后需要维持权限,在计划任务上加入定时反弹shell这很容易被 运维人员发现,有些场景没必要用到rootkit级别的后门,我们可以尝试使用ssh后门 1.目的 长期维持机器root权 ...

  2. 201771010135杨蓉庆《面向对象程序设计(java)》第二周学习总结

    第一部分:理论知识学习部分 3.1 标识符:由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字,可用作:类名.变量名.方法名.数组名.文件名等.有Hello.$1234.程序名.www_12 ...

  3. techiediaries网站的Laravel 6系列教程

    Laravel 6 Tutorial & New Features - Build a CRM [PART 1] Laravel 6 REST API CRUD Tutorial - Buil ...

  4. mvn无法下载fastdfs-client-java依赖解决办法

    1.下载fastdfs-client-java源码 https://github.com/happyfish100/fastdfs-client-java 2.修改pom.xml文件 添加打包插件 & ...

  5. win8.1 virtualbox 安装centos7注意事项

    win8.1是64位的,一开始在virtualbox中选择版本时,怎么也选不到64位的,这时要改BIOS设置,把CPU虚拟化改为允许. virtualbox是32位的,没必要非得是64位(64位的也不 ...

  6. UICollectionViewCell点击高亮效果(附带效果GIF)

    首先效果如下: 背景是这样的:UI上使用的是UICollectionView,所以后面会使用它的协议方法完成. 实现思路是这样的:高亮状态+点击后短时间内保持颜色变化 实现的代码参考如下: // Ce ...

  7. PAT T1019 Separate the Animals

    暴力搜索加剪枝,二进制保存状态,set去重~ #include<bits/stdc++.h> using namespace std; ; string s[maxn]; struct n ...

  8. Flex 学习笔记

    Flex布局是什么 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为Flex布局 .box{ displ ...

  9. Linu计划任务/crontab命令

    周期性任务计划 相关程序包: cronie:主程序包,提供了crond守护进程及相关辅助工具 cronie-anacron:cronie的补充程序:用于监控cronie任务执行状况:如cronie中的 ...

  10. 深浅copy浅析

    Python代码在开始执行的时候,代码会被系统从硬盘调入内存,等候CPU执行,至于怎么个调入逻辑,还不清楚. 在高级语言中,变量是对内存及其地址的抽象.也就是说变量就是内存地址. 那么我们先来介绍两种 ...