我太难了。

  我真的是为你们着想,你们学姐说misc太简单了,可就是这么简单我相信你们也不会做。。。我还得给你们讲解。。。

加油吧!!!

  工具:010editor    这个我想给你放下载链接来着,后来仔细想想,不行。。。自己去装好这个软件。

  在这里我用一道类似的题来给你们讲,首先会下载到一个png的图片。

   就像这种的,然后你用010editor打开这个图片你会看到这个图片的二进制数据。

  这里我简单讲一下圈住的数据代表什么,第一个箭头指向的,是文件的文件头,这个是固定的,所有的png格式的文件头都是89 50 4E 47 0D 0A 1A 0A 

  第二个箭头指向的,前四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13,数据块包含了png图片的宽高等信息,该段格式是固定的。之后的四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示,该段格式也是固定的。

  重点来了!!!

  第一个箭头,四个字节00 00 01 F4(即为十进制的500),代表该图片的宽,该段数据是由图片的实际宽决定的。

  第二个箭头,四个字节00 00 01 A4(即为十进制的420),代表该图片的高,该段数据是由图片的实际高度决定的。

  所以这道题你只需要,将图片的宽或者高稍微改大一点点,就可以看到隐藏的flag了。!!

  思路说完了,至于你们怎么修改,怎么保存。就是你们的事了!已经很清楚了。。。

  晒一下所讲的这道题修改完的图片。

  

  其实这种题是可以进行crc爆破能爆破出真实的高和宽的,但是这题还用不到,就不教你们了。希望你们可以有一天来学习crc爆破,到时候回头看这道题,你会觉得,真简单!

png crc讲解的更多相关文章

  1. EventBus总线讲解

    在我们公司经常用到总线,具体的总线是什么让我理解我也不清楚,但是在这几个月下来,我已经知道总线如何使用,现在加上示例讲解总线如何使用. 1. 首先我们的新建一个类,这个类其实是用于总线传递的模型 us ...

  2. 循环冗余校验(CRC)算法入门引导

    目录 写给嵌入式程序员的循环冗余校验CRC算法入门引导 前言 从奇偶校验说起 累加和校验 初识 CRC 算法 CRC算法的编程实现 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌 ...

  3. CRC 模式及实现

    CRC : Cyclic redundancy Check 循环冗余校验 概述参见wiki百科:http://en.wikipedia.org/wiki/Cyclic_redundancy_check ...

  4. 【转】循环冗余校验(CRC)算法入门引导

    原文地址:循环冗余校验(CRC)算法入门引导 参考地址:https://en.wikipedia.org/wiki/Computation_of_cyclic_redundancy_checks#Re ...

  5. TCP入门与实例讲解

    内容简介 TCP是TCP/IP协议栈的核心组成之一,对开发者来说,学习.掌握TCP非常重要. 本文主要内容包括:什么是TCP,为什么要学习TCP,TCP协议格式,通过实例讲解TCP的生命周期(建立连接 ...

  6. 写给嵌入式程序员的循环冗余校验(CRC)算法入门引导

    写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数 ...

  7. 循环冗余校验(CRC)算法入门

    http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要 ...

  8. Modbus​协议​深入​讲解_NI

    from:https://www.ni.com/zh-cn/innovations/white-papers/14/the-modbus-protocol-in-depth.html 已​更新 Mar ...

  9. C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻

    这是道哥的第014篇原创 目录 一.前言 二.变量与指针的本质 1. 内存地址 2. 32位与64位系统 3. 变量 4. 指针变量 5. 操作指针变量 5.1 指针变量自身的值 5.2 获取指针变量 ...

随机推荐

  1. 细说ThreadLocal(一)

    前言 java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.如下图所示: 其中堆是占虚拟机中内存最大的,堆被所有线程所共享,其最主要的便是存放实例对象.也因为堆内存是共 ...

  2. [loj519]数学上来先打表

    建立操作树,即1和3操作时i-1向i连边,2操作中k向i连边,然后dfs一遍 那么当我们走到一个节点,就执行该操作(修改也是操作),退出后取消该操作即可 于是相当于要维护一个东西,支持:1.加边:2. ...

  3. [bzoj4553]序列

    记第i个位置有三个属性:1.ai表示原来的值:2.bi表示变成最大的值:3.ci表示变成最小的值.那么对于如果i在j的前面,那么必然有:$ai\le cj$且$bi\le aj$,那么令f[i]表示以 ...

  4. [loj539]旅游路线

    考虑枚举加油的位置,当确定某次在第$i$个位置加油后,且下一次到$j$加油,那么$i$到$j$必然会选择不超过$c_{i}$条边且最长的路径,记作$d_{i,j}$ 如果能求出$d_{i,j}$,再设 ...

  5. 十一. Go并发编程--singleflight

    一.前言 1.1 为什么需要Singleflight? 很多程序员可能还是第一次听说,本人第一次听说这个的时候以为翻译过来就是程序设计中被称为的是 "单例模式". google之后 ...

  6. Go语言核心36讲(Go语言实战与应用十七)--学习笔记

    39 | bytes包与字节串操作(下) 在上一篇文章中,我们分享了bytes.Buffer中已读计数的大致功用,并围绕着这个问题做了解析,下面我们来进行相关的知识扩展. 知识扩展 问题 1:byte ...

  7. 统计学习1:朴素贝叶斯模型(Numpy实现)

    模型 生成模型介绍 我们定义样本空间为\(\mathcal{X} \subseteq \mathbb{R}^n\),输出空间为\(\mathcal{Y} = \{c_1, c_2, ..., c_K\ ...

  8. AGC050B Three Coins

    做的时候有思考到是否能转化成移动点问题,但是没有清晰的把他解释出来. NOIP的时候也一样,T3也有考虑到是否能转为差分,但是也没有清晰的写出来. 自己做题的时候应尽量保证草稿纸和思绪的清晰,而不是在 ...

  9. python的包与模块

    win +R d

  10. Python time&datetime模块

    1.time&datetime模块 time&datetime是时间模块,常用以处理时间相关问题 time.time() #返回当前时间的时间戳timestamp time.sleep ...