Jarvis OJ - class10 -Writeup
Jarvis OJ - class10 -Writeup
题目:

Jarivs OJ的一道misc,记录这道题的Writeup主要是想记录解题的脚本
分析:

文件下载后是纯数据,binwalk发现为两段zlib压缩后的数据,其中第2段为default compression,这是信息1;strings查看字符串,发现IHDR, RGB, IDAT等和图像相关的字符,这是信息2;
步骤:
分理出class10中的压缩数据
binwalk -e class10
查看分离后的数据

由信息1,F4289.zlib为default compression的zlib数据,对其进行解压缩(当然binwalk厉害得很,binwalk -e分离后的F4289已经是解压缩过得数据了)

如上,解压后为29 × 29位的01字符串,再结合信息2,设想生成一张29*29的方形图片,像素点与字符串对应,始0和1对应的像素点分别为不同黑白两种颜色,代码如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__Auther__ = 'M4x' from PIL import Image SIZE = 29
img = Image.new("RGB", (SIZE, SIZE))
with open("./F4289") as f:
str = f.read()
# print str i = 0
for y in xrange(SIZE):
for x in xrange(SIZE):
if str[i] == '':
img.putpixel([x, y], (0, 0, 0))
else:
img.putpixel([x, y], (255, 255, 255))
i = i + 1
# img.show()
img.save("img.png")生成了一个二维码,扫码即可拿到flag

Jarvis OJ - class10 -Writeup的更多相关文章
- Jarvis OJ - DD-Hello -Writeup
Jarvis OJ - DD-Hello -Writeup 转载请注明出处http://www.cnblogs.com/WangAoBo/p/7239216.html 题目: 分析: 第一次做这道题时 ...
- jarvis OJ部分writeup
[XMAN]level 0 [XMAN]level 1 —— 简单shellcode利用 [XMAN]level 2 [XMAN]level 3 —— ret2libc尝试 [XMAN]level2& ...
- Jarvis OJ - [XMAN]level1 - Writeup
Jarvis OJ - [XMAN]level1 - Writeup M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7594173.html 题目: 分 ...
- Jarvis OJ - 栈系列部分pwn - Writeup
最近做了Jarvis OJ的一部分pwn题,收获颇丰,现在这里简单记录一下exp,分析过程和思路以后再补上 Tell Me Something 此题与level0类似,请参考level0的writeu ...
- Jarvis OJ - 软件密码破解-1 -Writeup
Jarvis OJ - 软件密码破解-1 -Writeup 转载请标明出处http://www.cnblogs.com/WangAoBo/p/7243801.html 记录这道题主要是想记录一下动态调 ...
- Jarvis OJ - 爬楼梯 -Writeup
Jarvis OJ - 爬楼梯 -Writeup 本来是想逆一下算法的,后来在学长的指导下发现可以直接修改关键函数,这个题做完有种四两拨千斤的感觉,记录在这里 转载请标明出处:http://www.c ...
- Jarvis OJ - Baby's Crack - Writeup
Jarvis OJ - Baby's Crack - Writeup M4x原创,欢迎转载,转载请表明出处 这是我第一次用爆破的方法做reverse,值得记录一下 题目: 文件下载 分析: 下载后解压 ...
- Jarvis OJ部分逆向
Jarvis OJ部分逆向题解 很久没有写博客了,前天上Jarvis OJ刷了几道逆向,保持了一下感觉.都是简单题目,写个writeup记录一下. easycrackme int __cdecl ma ...
- jarvis OJ WEB题目writeup
0x00前言 发现一个很好的ctf平台,题目感觉很有趣,学习了一波并记录一下 https://www.jarvisoj.com 0x01 Port51 题目要求是用51端口去访问该网页,注意下,要用具 ...
随机推荐
- Linux CURL的安装和使用
--获得安装包,从网上直接下载或者其他途径,这里直接wget# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz--解压到当前目录# tar - ...
- Tomcat指定特定的java
Tomcat指定特定的java 制作人:全心全意 安装好Tomcat后,进入bin目录,找到setclasspath.bat或setclasspath.sh文件,在文件前加入以下内容 Windows: ...
- 04_TypeScript类
1.类的定义 //ts定义类和ES6相似,不同的是属性需要修饰符并定义数据类型 class Person{ public name:string; constructor(n:string){ thi ...
- 理财收益的计算 计算浮点数的n次方 1466
题目描述 老傻非常喜欢购买理财产品,而且这款理财产品被推销人员吹得特别高,对于贪财的老傻来说正中下怀,于是在心里盘算着买了它,自己就是亿万富豪,现需要你编写一个程序,帮老傻计算其收益,老傻的投入是R( ...
- 【pattern】设计模式(2) - 模版方法模式
前言 一晃一年又过了,还是一样的渣. 一晃2周又过去了,还是没有坚持写博客. 本来前2天说填一下SQL注入攻击的坑,结果看下去发现还是ojdbc.jar中的代码,看不懂啊.这坑暂时填不动,强迫在元旦最 ...
- Bell数
事实上,\[e^{(e^t-1)x}=\sum_{k=0}^{\infty}\frac{B_k(x)}{k!}.\]\[B_n(x)=x\sum_{k=1}^{n}\binom{n-1}{k-1}B_ ...
- “/Reports”应用程序中的服务器错误。
“/Reports”应用程序中的服务器错误. ----------------------------------------------------------------------------- ...
- 根据指定id取出数组中指定对象
// 需求:根据Id取出数组中指定的对象 let arr = [ { id: 1, rotationAngle: 330, target: '目标1' }, { id: 2, rotationAngl ...
- jQuery---scrollTop和scrollLeft的方法
scrollTop和scrollLeft的方法 <script src="jquery-1.12.4.js"></script> <script> ...
- 2019-08-23 纪中NOIP模拟A组
T1 [JZOJ2908] 矩阵乘法 题目描述 给你一个 N*N 的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第 K 小数. 数据范围 对于 $20\%$ 的数据,$N \leq 100$,$Q ...