附件链接: https://pan.baidu.com/s/1oTMiP2q6pp4aIsqqHk1_Fg
提取码: f6p8

little

不算难,但是难得没有套娃的题,做着很舒服

题目分析:

解压是一个img文件

winhex打开可以发现secondf.png

是flag的第二部分,这一张图也可以直接使用binwalk命令进行分离

binwalk继续查看img文件

可以看到有一个kgb文件,百度易知是压缩格式的一种

使用DiskGenius磁盘分区助手对img进行挂载即可得到FIRSTF.kgb

下载kgb解压器,解压后得到firstf.ogg

ogg是一个开源音频格式,直接听就可以得到第一部分flag

c0me_wi4h_f4t_m4n_

猜测还有第三部分,搜索一下,果然有,这一部分要感谢EDS师傅提供的提取方法

使用winhex进行提取

工具→磁盘工具→通过文件类型恢复,选中MP4格式自动提取

得到MP4

完整flag

SUSEC{c0me_wi4h_f4t_m4n_t0_7h3_3nd_0f_t4i3_sUsEc_journey}

perceptron

Simulating the human brain is currently impossible, but perceptron is trying to do that!

Hint 1: There are many same sizes IDAT chunks in perceptron, are all of them necessary?
Hint 2: There are other PNGs too. Try to recover them.

题目分析:

lsb分析没看出什么问题,但是使用zsteg自动分析可以发现zlib区块

pngcheck可以发现有很多IDAT块,不太正常。

共计18个IDAT区块
PNG文件结构分析 ---Png解析 - DoubleLi - 博客园
PNG文件结构分析 ---Png解析为了实现更高级的应用,我们必须充分挖掘PNG的潜力。PNG的文件结构根据PNG文件的定义来说,其文件头位置总是由位固定的字节来描述的:十进制数137 80 78 7

搜索网上的教程,可以发现有两种常见的关于这种情形的隐写,一种是跟zlib区域有关,另一种是IDAT区块有关,但是有些教程是错误的,写wp的人本身都没有理解,纯粹就是乱写wp,甚至有说IEND区块size为0是有问题的,莫名其妙...

IEND块必须最后出现。它标志着 PNG 数据流的结束。块的数据字段一定为空

要搞清楚这些,我觉得核心还是要搞清楚zlib跟IDAT区块的关系,因为我的英语水平有限,所以下面我只会简要阐述下我的理解,仅供参考,建议以官方文档为准

IDAT图像数据块IDAT(image data chunk):它存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。IDAT存放着图像真正的数据信息,因此,如果能够了解IDAT的结构,我们就可以很方便的生成PNG图像。
png官方文档
IDAT中zlib压缩官方文档
机翻

划一下重点

  1. 图片中zlib压缩使用固定Huffman 编码的 LZ77 压缩数据或使用自定义 Huffman 代码编码的 LZ77 压缩数据。最终块中的标记位将其标识为最后一个块,允许解码器识别压缩数据流的末尾。
  2. 终止的zlib检查值完全可以在IDAT块之间分割(zlib可以分割IDAT区块),完整的图像数据由一个单独的zlib datastream表示,它存储在一些IDAT块中;一个译码器,如果超过这个是不正确的
  3. 除了IDAT区块,iTXt、zTXt和iCCP区块都会使用zlib压缩,但是这些数据流不会拆分为块。每个iTXt、zTXt或iCCP块包含独立的 zlib 数据流。

举例使用第一个IDAT区块来分析一下

BF CE D9 46是图片的CRC32(与IDAT区块的crc算法不同)
红框选中的4个字节是描述该IDAT块内容大小的,07 F9转成十进制是2041
49 44 41 54是IDAT的数据块名,78 9C是zlib的标志位

查询下zlib的位置,记住标志位是78 9C,会发现有三个

前文已经划出重点了,一个png图片不会在IDAT中存在多个zlib,经过pngcheck也是可以判断不存在其他可能存在zlib部分的区块,所以,这3个zlib都存在于IADT中。

盲生你发现了华点!!!

这里肯定有问题了。

解法一

我们分别找到三个zlib的位置,然后用第二个或者第三个zlib替换第一个zlib

之前提过末尾四位是zlib的校验位

截图这个是第三个zlib区域,因为刚好连接着IEND块,所以分析起来方便一点,010可以很方便的为我们查看zlib末尾提供帮助,判断哪部分是IEND,哪部分是IDAT

4D 4D 2A F3就是这块zlib的校验位,也就是zlib尾。第一第二的校验位不一定是这个。

我们先删除从29h3047h的zlib部分看看效果(IDAT出现多个zlib这种只会识别第一个,所以删除第一个之后识别的就是第二个zlib部分)

得到的图片是乱码,一般这种情况可以怀疑是不是图片宽高不对。

使用FzWjScJ 师傅的脚本,自动爆破宽高,生成图片

需要注意的是,这里的宽高并非是图片本身的宽高,如果校验CRC32你会发现能显示正确flag的图片宽高是错误的,图片的核心数据部分是IDAT,这里我们只是借用了png的其他区块让图片显示而已,并没有完全修复保存着CRC32和图片宽高数据的IHDR区块。
#python3
import binascii
from Crypto.Util import number
p = open('2.png','rb').read()
# print(p[0x14:0x17]+chr(0xaf).encode()[-1:])
count = 0
for a in range(0x00,0xff):
    data = p[:0x12] + chr(0x04).encode() + chr(a).encode()[-1:] + p[0x14:0x16] + chr(0x00).encode() + chr(0xa0).encode()[-1:]
    # print(binascii.crc32(data))
    p2 = p[:0x12] + chr(0x04).encode() + chr(a).encode()[-1:] + p[0x14:0x16] + chr(0x00).encode() + chr(0xa0).encode()[-1:] + p[0x18:0x1d] + number.long_to_bytes(binascii.crc32(data)&0xffffffff) + p[0x21:]
    p1 = open('te/'+str(count)+'.png','wb')
    count += 1
    p1.write(p2)
    p1.close()

分辨率:1132x160

第三个zlib也是一样的方法。flag内容一样,但是宽高不一样,可以自己试试。

解法二

还有一种方法是解压zlib,然后用gimp原始数据打开,类似内存取证中画图进程图像的提取。

V&N 2020 公开赛-MISC内存取证
V&N招新赛公开赛,内存取证详解wp

我们提取第三个zlib,连包括的IDAT区块一起复制出来,复制到文件的IEND区块结束

第三个zlib所在的是第13个IDAT

从第13个IDAT开始,到最后一个IDAT区块(第18个)的所有数据全部复制出来

因为我们所需要的是zlib部分,所以我们要删去IDAT区块中的三个无关部分

  1. 区块大小部分
  2. IDAT标志部分
  3. CRC校验部分

eg:

  1. 3E 05 04 F2(上一个IDAT区块的CRC校验位)
  2. 00 00 07 F9(第13个IDAT区块的区块大小部分)
  3. 49 44 41 54(IDAT区块的标识)

这个是IDAT区块的CRC部分,在每个IDAT块的最末尾

末尾小写的h是十六进制的意思,68 5E才是CRC

提取出来之后删除以上所说三部分即可,本题一共要处理6个IDAT区块,千万不要有空格和回车,不然脚本会报错

789CED9D79E0AD53B9C79F9F062971885C576EE77023329C286383BA345D6548A289426EA44E5C840CA5810A275119A201A112970C653822193244492A1A14B995934437B1EF1F67EF9FF7F7EE353CF35AEFDEFBF3CFEFB7F7BBD6F37CD7B3D65EFBDDEB5D03C0E8B14D69011DE121469EDFABABF065FFD2021AEC585A408B9F03C0F2A5458C11773BFAFAA5929DCF2AD9E912B719D95DDBC8AE37079616D021B62FE8FB1B057D8778B3B1FDAF1BDBE7625DEE09F5B01D23CFA6EA2A26D4CE11A5054CD067E9D20226B0784BE4FD7B5D554C88B16669011AF402342E9FEF24635EE2DA9788B63EDAF8FFB581EBFB12ED61788581CD09DDE6B9CC7C1BA9AA9850336F37B2BB3B317D6D0F016AE6F6D2020CF85469011366B0B1929DE594EC4CB0E1B4D20242F7FFADDF00318E3717D721B8377B96507FBCBDAEF59A3333C39B27951660C43F0BFB7FB0B07F35621D5CA6B3BBD65D689E29475FAF56B4C579FA34CACC8BBCFF0964FEE2370D861CD97ADDFE4E6AF368FFEFFA065ADA68FF585F26F0DE33957D4CE80E9F41A67B1522CD4A021D9A7DFF84D1E56581F7163AF8D5FE5D7283A2AD8713D7BEC3B4B906335F88DF0AF33F4745452130BF0512831F5AB3974DA0DC006D62A602CF7B13D73EE6A6C287154A0BE818573BF858DCC1871BD88E8D30BA7B21C1FD07B8BA0D796A690100F056455B5AB35652FDEE807F28F93A3371EDE98DFF39DF47AF47A6B35E2A74B2B17D0080B90E3E42BCCBD036A60F92B285830F0B0EEBFF5D9298AFEBCB6229782E5B1CF02C00F86E268D74B9CFDE88344F09BC7780D0AF375A331CAE54B23321CF9E88346798AB90A13198B2AE820D17147F17BCC44A636C44E9682B8795F04A42DAC7FA7F9FA5ACA1D6B5A95D63566901E384F240C784F1A0BD44E7F2222A702C20A6FF83858808C735FEB79A91A4BD3FC57ACAF6ACD8B2B4002F847DF43AEA827CF94A690115F36FC8743F8EBC4FB9AFC6F06762FA8F23D2ECC0113261EC19E5A5A1CFD73628FC9D7059692167636DAA091D5DBE4FCD206C3C599B543D95F383D2029A50EA4E521F021BEF0580FBB5CAC2D1DE41A6370E1C9158EC2AC8BB3222CD6602FB132600009CA068EB02469E8FE69354C58CFD860CFBEEDF61FDB04B52177F292D4080D643B647F349AAE4ABA5056418950DB027C4F9A330FF7D99EBD708ED6BB3B8FBEF068C43AE208E780D3D52DD5EDAA8FE3575B44CCE4ED9F68E8B178CD0CF62E4318B13D7A7A40C9C7259F8D1B299613E36A145DD45D84B9097C3475AAF43FB1FA488CD144CED99F058E25AED9458BE30C7D1D7525E8EA89F29C7CF20977D0AF80C711180A8CFFA66CE81725D48675EA496B40D982BF431A102A8EDCE9AD2F110D2FEEEE730FDFDEF1D63477FBF6EFC7F49EBDA8DC2F8C578A391DD2270EB3844707A2BD508CAD1D4D4B4AF98FD669A009FEFF57AFFA5AD2B4646CB10DA3123FADFAFD7EBB53796D3D0701BF4A7A232EBCCA42D7940AD7F0E5EB1699725E557B3DCB9F269F96AFBF1A8BB0CE74363FF0672A75C5E7F8C8F00C021A5451460370038A9FFFFCA20DF640C60D1FAF0E0AC32AFCF4D97B1EE3B9D627C00E037C575831B5B6CCC0AF4878F42784F899A5811BA79F2DD0A405F9EB70C003CD07CA3D7EBF5AC3F73B5DD8B32CA7B1D006CD878DD03BD258A2B416BD695275675138BB1A3BFA3803998ED715FDBF4A1613F62EF1D201C98D6FACDB218C5B004EE884C03CDCDF5460A8BC18EBEDDB58575362180774C1BBEE6D45297C84EEA0E8E6DC9083082D831CD4D06831D872BFB2E8D74B083BC2C8F88E6F285262735FEC70C763C039166C66007A5BD1AB4ED0303EF5DAC64BBABCC03802B5AEF6DA0ECA353831D1D1B683BA6F17F179693B4073B521B66863635A4EE5BA105672FA2E9C18E663F66F89D5DDD6007930D5BAF3507F18A0D768C38FB00C0FBA9993CDA6BDB07E1F3B73C319F78FFA3D4770F255633063C2AEA14BE1178CF6DBA6C8BD0CD60355454672385D5976EA9FAEABBBEAB846F018FB75E1FC631D21E0011727AA283BFA9F5FA608E5E037EA260637F051B9B2AD848B1BBB17D2C7F43A4793B80BC4F10E43FB6F17F68D3BED73025759EFECDD57C18DE34F7FAC6FFCD0DD2627B13ECA228AB28150E76C436C01C303895EB7500B05CEBDA9B18FE6E67E49190DA53ECA781F796B51262C538DFBBB63E4F6B32CDFC53434B00E97E11583C4EE2E41E3B4B26D147628FB606803A3E17997BE0FB13F7C02509F58B61B077FB801878C0DA0AD84EF110D7AE8116B5324BFC97B095B17D96755C3CC1C40D8BB29659163E12657E20F23EABCC4433B7B65E0F6DAEA4516E2E9CB8E434736D8E015633383ECDC8B3373CB13EB7BD36374B4D6DB163AC9ABA38C671FAF7C4B58B30067231B38CEB18D6D758236C4BD44D540FCEF98BF87E38637768009F683FC4E2C4B269323473C8E0B3F8724A62623C638764FCB7913F354AF8C5F8941071FB620BCDEA05D714A7E9C3C15F68B6898A2E0B9B52FB46312CEE8FEA47A36C5CBF25CAAA59E69C0E4D1F293F1E686BD68C8B011F22A47D37C3FED31979B8BCC3D1D70C90ED69E8740FCBF658115B4932773C3E2797749E8B99526C83B30C3B5A5FD66C575A8015C4B6245E92246CBBBFD1F0D1F2B32441FE6B13D7CC8EC5AEE13329ACB76AFD61DA4AE9B24AD0D69AD3AC6244433C3148ED356A317E28F5852CD789E882262811574BDB443FC9FD4528BEA4E5A2FAF4F283F4BB82877F61919B2C21F0F17E00B816EB881B6729DCC058D86CB12F32DD394AFE34B8ADB4002F32F57E1A35AF511BEA244EB199A564A72A7231538CED8C93512A68CBEDFD6A52FDE21E425FB1234EE70AED760A625B7A2AC1F42A425F2C723E907EA44B4962A79E0D787DE6FA0C0A7F26931A5A5A48B3465ACC58BA89F47794455990BE253CA8A987A053EDB011716C18E25585227DA18E22A4548A66D95AFC0AAB2B6367C7D805AF7279C490525F9A65C3F8B6B48DF477BE44034787D41FC63732FBE9121FD608C252C30D7E4934F7D9104D8F2C81469D5BB74F455EE5E94C39269F3511592998B859B5B70EB4630BBEA560C36A899F94EC1258CF3AB7F6932A4B57DB720DE5F08E27D15FEA014D70DF476C3BA9A5BC3568C46AC6E61F3AA5A5529E1478CFED885A22B395EC7C4DC9CE8408848DD8BE48B1CBF9E047B49046E40976BB40EDA732A167A0548ACAEC35062700C0BF2AD9BA41C94E51A85FDACE9F69F2FE247DF68627368C5B5D498B277BB55EAFE8E0F3AF0E3ED8C4DA9D637BD4D87CB916B651B0516A93E6FD5AAFDBFBFA2D9333D0E1FB921960FB6D62794BFCB69955C06797593B71EDE3B0E8287B128A9F89B94A76D04CF569BDFD0B6F1D593C476C98BEE66BD9B72C1B4797A62DAB7219F86AEE6E5FAACE166034708D172A938A260F9F1E3E2CB1D29CC9364EC7C65D854873B5A2BF1728DA8AA2D9B6ACDB28938F39FB6BEE07F1FE4A62F26C43DBEB45DE6F9F4242A664CC2A6BC39A704E83A1F03D63FB9DC7B26DE5FA9B88AFF6604672C9772908E569C27D08F425AA068BFEC1DA1FC6964379A71F24E6CA8B21E107BD512C05868E95510694838CF26769DBA36C545DFDCB3FD3B06554AE83723EFBE9864ECEC0C2A8B3F67ADB01CD863DBFFF17354B46338E8CF2B8E1ADA7840F4BDB1AF66B690B13FCD1FCFC69DA1A153A1A8FD48684295E18786F5948AF2F3F3776C1296657426B8F854C7D69CD04AB91FB4A0B60103ABEBA6A14DA7470B64ABEF725FBDA82A8CB146279D6E9FFFD55E43AEB8873C5D856E90F021BD722FC878E30661DAC11B29F8B81521CB8DF79DDD9C303E3CFD2B647D9A8BA346D4DEA6C08D20D8546F90CCB3240FAC4688181A6284C1FA11B79B40F81DCA45D2DFB4AB11FDA98ADE36CDBF87F4E3115C6E43E7B9436A0692B425537E0398C63511AEA319C6D9237C425E336427516DC489F406CF96A6C5A386A5F3B657E59C0A7088B3695EF793BD97EA7295CA63FE43424741CC7754AF43778489DDA4C37B60754F2A43B83D8471FA83BD5ADC65E45D3886383ACE8054C7D8798887E827B307699FEEAD95916614B6A97EBD7CA2ED1DF4D563A1A49B253E895CA628AA7266F1F8CECD1BD05AC74D7D61E84AC8648C35D7AF286C435CC92172C6E3F1C729F3D4A1B10D87AA3527172FCC9C90F007462C0E38AD2026218C62DBB54ACA23A3BD6D95F8A530C6C9EC1C87351E4FD97126C847E70B90CA65AB5A95C5FC3F0E3B2A412C9D36AF84C22E3ABB60F99727D9AE800E5BDB04A955182B87E7215DD3046B9510A55CCF4480F43F4415A652951C119FFDFD5B0655D36653FD3F914EB4C74C3222D9F6239CC41E8BA2C6940E847C376C887854D0FDBA5DB43259CDBF8BF7D3C5F6CEF8218CF03805B41765C9D3AB93EA1D10EB2A7CF106C79B1A5B3BF1954168B4EE11CB76F637C1BF8B564B6B2BDE7C0A2A3D9C79DA31169A20339166DAAC27E579D1ACAE61DE35AEAB4649933C91FD0F6CF01199B0DC80698C1464DBD4CF8B81E91FD1DD2B2B4CA743B46B304614C011A37C08CF2D55206925D893FEF7C56E5B0C241D759293F4A3EA437347FC1D86CD8BD53A6B6C88D44BCE397B1BC91DD14EF6CBDAE72B33758745CDD1DB18BC2367026C68E617BAA96493CF82062C65E73CDF1DBF0BD09D1246BAF0065DE5C5A40C57C39F0DE69887CEBE4930CA3DD07E4FA18A57E662B051B226AE84391714E1D0D6BE12F47687F0D351D4C93B13D0F6B9BE17172E4FD190F5298B1D9256B80613478F6700C84FD0F52ECC56C0ACA13A279EEF9DFA5BA18FEAF17967125A2BF19C7B10ACAB067EC82B03C689BDEF934CA816030F8F7746A46635D521FAFE0D817CA0DDA14D81D5AEFECD01E4294FE229340DACFA5C11EAA2A94D1A8FF545B326E4F35F11100F5589418CC43F5775628C42DF44336C5BE29BF11DF4B107D4CE0712922CD8DE62A14D0EC13737D8CD0FEE0E1CBA6843C2BE793D0312A9F9A060B1DDEFEB85A12D9FE5DC31753B22BE23ACA55B65503B0B06B500E95F5DD19FFE769D852282BCBB7854D693990F986D64D6AFA2394E139181F11D60580FD391925F175F4D13E8A75FB947DA2BC6DDB6F28C463C866CE3ED2CFB733D727D0F8623E49DDA4DA92E073FC15469E129B2736B987110BEA0F740C8B65AEB797697990FD0165D086D028FBFE563E49751C51D83F652F0E2D9EC9CC475E9EA8D59673FD8BC767C58B1ACAA818EBE84C4B237F621C75DCE550CEF6FE6D3B12F30FEDA3298E4DAEB2151AC3E518BF68C18A6581274EF2A07CF1502B4DF5C725B58C5A7E43BEB97624E569650F1E93C62D3333DF6DC23214C1435BCDE56FE3A1931A0F41FCA698121FCA25E8529D8690E8AEA5DCB13A6068DA4FC337D50612F4137DC57848F09A81F09BC6FF8F4A8D11E3364FEA0FE35BD307D5BF976F0C427DF79A096390294BF2E40AA94F0D1B39B43433C99D9EB302D6500D657488F58C0DD16BAA5B4F1D08FBB7324DCF12C84A228E4DAEB23910CBB02131BD5A591026594FCFB1BA346D49D128671FD253030B9D9EF9A8FAB15A021CCFCC47D2DD351F1A3075FE4DC347D30FAEF5F8C691AAA9AFEBA31EDA287063A95C172A2741286989B190E24BD12F9B02BAAC9F8C734ED48842A94387BA3E26A749607B9BD445A7F22525641394D5A78E5159C80F1D398C635D7069B8D9CE5A6724DB42A6BB1D08FE52C7D04A989E6DCE28371B03FB5B21D2880637C5B1C955B606920252E89A2E86A90B52F63469F81CACE97C0128FFE8E694856B4F59F61A5CFD012D5F20F825EF6B93421023CC466398BA58AAF1FF4F03260E26688A11B23B03417BF94D3E49DC47D317BD15B1EA0D8D448F9226B527941CCD82321FAAA59B53964836D249607D3ECD8D0141D780DD19FA20E68BE0772CE0D4A3755CBDEB8C5BC611D6F72AA2C4A5F24966422D4B4D54A85BBC4127A53EA8681410A311E483C16711FDB9E2A925673F179B9AE283CD3FE52D7A6A6A8A3BDD3AC79ABD5EEF27C65A3E0AF111AADB0060EDD085588CB9B118A13A239725A7453BD63938756119CF9AF0AE0B0E218D16FA2C3FB39A7AB13AA7A6A6B2DF1D425DA7C2F0C92C6438FD8BA4AE5A65DE07008E6A255908CC299F185D1A6DC1AAAD06B4AD0E003F93D8346E83563C0C8C8DA613FC1100968B5DB4A84F695C539A22B6370580EF6BFA91A0D5AEB09F69EDFB246B94EF8BDE098BBE0F5CA07C075A6BD1A40BF720DEFDB982BFCD006081871E85B29F09003BC47C49EE7DBC3E0BD2DF148B797F680D47862C8E973DABF53A351D2738D8C1E44A005825767184EA4C0D238D7395EDD58278EDB702EB9716503353016269FBEDFE47529FD89BEF8196FEBFBF30EA8F62831DE8533462835988580E81A98700EDC10E808E0F7650DA2502CA60C70D023F357135E80E760024063B20BFBEBF2A12ED497DB043B92D93C1EA6BFF8FE46B22713CEE0148F7BBCC188FFA608764895CF477C284216E36B0B900004E41A69D6BE0BFCD6E896B3B24AE8906C4BAF01B719AC82C11730492830DD7D13F09A2FFE0469C589BD624245D488F8C5F3922EE9B27E4508FEC65E9E7F860B0B4939F24856390C54B9B66FB20E6437FC10B75CD0ED9C0FA6690FA81374D4E0FA74E84716A723AA70C04BF7302EFBD8FEBCB48A318239FA8EFE0163B33F270961A61C9EE8D868CDB02A6FFE8E9631E6D84E8630F4C3E4D9D12DB447DD710A5718F028FEAEBBFFDD59C7EA95F215BA7B445740E9DF497407B90531DA57AB9C44243295AF23E29299BB4FC912C0F5BF84AF9A5A6D744CD27B6F0DA7804C3C337007C89AA4BEA5016793E08696B01C07BFBFF2747AF2BD21C227BD6B9938ED2B06ECC113128763C28B26EE65AF9E2B60D42DE2DB4F449EC60F312483DC148EAC95DC7E8D78A15470BD11FF687CB4539FF1AFA915A4828FB5C51595EF6BB83C8F6F92434BCEBCBC8EFD0D37FA97DE57645B2AFA14F4323178C0E67CDE76013D61C576B3265DEABB48612181635BA179FA71E41F937F3D69AD3AC6ACC1AEB6030FD2E6EADCBD2B6351ADA3DF56BE995EA3792A176D2911625EA828250D70FA4BEB8BEB5E3AAA52B668BA349038C0E4ED995E2B50BD5AE656CB57C7868C5FAB3F2C904FDA3CB13E7D86DE5E157CBB695C6945D8A6DCB184AC06831D61D5AFAF4F6FEDFC3629972F5523AAED630CA4D3ED25CA2A10401891B6B9799128344B6F908D38303007E9EF365A8F7EBADD7CF6BBDDE55D99FAC009634243C8320F7D912EDAC0031B0F62F8B3C9F84A43D23EFEF544A7B2684D8F5C19749F523FD749E9A63E0AD4BB34D68C695A1EB53147B543D9A04B43C96BA8ED5AE197F8A9E527EB56C45B2CC8ABC7F2A3CF123C5453B82D728DB2B8E41DCB2276211FCAE4EF07B42CA2EA75C56EDAA767D12303A18BAAF32949CD594D1F6460339ED7D035DA8A03D9D8EA9074F223AFFD332080C3D219A0F4037A1F842DA7F85B25E34527FC18D77ACC4E6906E0444D5DD959D65253EACF1AE332E8AB1BE1400361FBCA8B5CD393317006E19BC48C5C4B1FCBB02C0C9A10B217D56BA72ED83EA5733B6085B3376F5A6DA2BD9D6735A8871DC1F008E24E6BB12005E8ED59B02FD65CE88B7737B5245FBB3356E78DC97F43912166DECF733661BD91A00CECD39A9BD2DD7AE4F4AA2CFBD19FA4BEC6AD3CDEC5BD703809B6C1495C1B12F005834DBEBBCF69BDEFDB9D09FC9C94125BF436BE8D724BE30FE168B659ADC2C0000C09B88E983F164F2614AE271A9B3D0CEEACEE5DE3C9FA42ABE9A4F22E696C13F8E036FFF91B98E1EEC40F047469E2C350D0844D801000E57B4A7CDD2A1370D065E8E6CDA6ADB8BF441D4C18E256317B07D5CABDC2F21A6C7C03ADDA9E3831DA9594DDB28F9A042BD2F0100B8ADF9C2E0F37A48E2DA03203B7EF8DC5C026279525A9330DBD55B4A3D90F222D3E78A37426D71A38611C140B2E76007F67B645364BAC7DB6F14689B5D1FEC381B74063B9650B0A1C2D4D494E66F573372ED40AD2DC72792E8E2A951E06A670D5D996CE20F83AC265CE2A8556787E5EC49346AEAB7D44200B363F83154A38872EFDB4F7A10D5B61635B50F4D7B5A9A38BA9836EEA3FAE1EAC1A491D48927B9BA8B94E14CAA2D4D5D48134768F9EB423D96A654EC047E7F6364D7D496954DA62DC9A013490F268D465C89BC07FA4BA5525A0AE82A4A0DE5F7AE875AEB9DA8893D70AB89632CE763FCA9D71FC6219780BBFBAD74298684A58B68867C0E3D46830619D7A769EAE2969314AC881D0DFD092DEFA66ACCA0BEA9540C8D7AF3C2405B72645C331E5AF1D5A82B87FA3E8C9B31A7C558B739B9D823CA712C317F768094A1E5EFA8C232FC55548F0F961610A354EC947CEE83B1C92D8F766C6AD747E473184D9834CEBA513A4A692A490D3160D6C552CEFEB0FCAEFF77794D5D424D1CD0B3D9157493F646C9D59F79CCB00294041EA7A1A195DD64DA7A4A97953FA92E611C4D35706D6A686A24B92A979650863B28DAFA682C53B9829B5158DE36A2813C020730F55DC0754888C9B2CAF6D4EDA46B98AFC58A9416A4F6E440AD225B13D26E34F8475A0FDAF5E7DD1E10653FD0C0EDF28232EDAEAE4640226ED77AFB94B61182DD7795D099B2C7B16915472177E43418EADE169B305717023D07B7ED336C48C86EF21CA386B664501F5AFE38CB074D7479EAA05248F70773F5E8A6852A444354358547EAF2F28F64B951A93381BEEFA73469E827683107A9EB2BA93C84723E9F20ED4252419078D787A00D0467FB08ECA16C4869B93A11ABC91B8D3822B84BD1D6D0F21F467DA0F33692EE13B381B5492CA7C89782CFE4323E253FE6A74E6030885D76B904A2CE2E26F85B3567935B1EEDD878E993680CB0B2A22DACE6750359B70CBCB71B00DCD3789D7B60F0084687460C05B642E534C7A92DB13558E870F0B79D8536055D561CE45C872B355FE47C63757C484B1D45902438023FD72914333AED57BB9C00F03441DE1C770374A2CE4836A59A5A49DE605D060F38DA0A95759E20EF5D0065BE48947C3E0A00DF49D90BE4B9B5FF770F8A262EF4C894A523E5C83E8DE6D68D767D7AB70D25FDE4EF7C8FB205B89290F6764C22A7FA3AD8C3AF525B30D3A8AD0F007EAD1D430F9462901A10DB40A2412B865DA98F018258A86DDE6F5D27A5FD69696B255DD141CE6FB10919316DFE863DA975ED618AC89CEF193A02C272A71FB0208972F021F1A3A50B005EAC61CB4072D45717EA0C91EF1B90D8248FE0F7D90A65D80253260BB8F18DE5259419C3C68C3C2CBD407BB228F6A9698B6A8F5A6F4C7FF702C0A739E5B48659AE55DD04E2B98E5B570AF5DBE46E455B2808FA5FD4CABA00617E2D00B80CE397293F445BA729DEF595F34B34F3248C4D6E79146D2D29D4F7E5C6FF6B18E87383A8F96E6F0D5AF1EB4A7D34A9A13D59D74B697F5ADA4AEACA818CE917846EF6A4F80CC62E70E1CB6D2F5A90C519D927F839329F84AF4BCB16C46FC87FC2571DF74728CBE25AF6293193C69A9A9F5A06AA1E0B04BA8233BF0CCBAC32F0E15D17197FFFAD6C4FD3CECBA8DA9C39BFF1FFF1D4CCC6ED8072D2C807A5CE52658995899A5EAA435A46AABF8C4FF631B21EE542B23F33DF6099E0E1DEF505D08DD91D0A3A3FAC60EF6B86FAA8A8EC63E4AC99E43FA3E39EC8FB283F0AD2CD29592F390D565A9CFDFD3CF27E70C9AF872E0BFB4A3145EF4D98F317F339D5BEA07DDE715B24261D5703B5D22CCBDA241AFCA9A90B81B13B6DC0CEA4CE9448D495EAF9CF4AE5B80118B38400F8E5E4DAD5B2CF21A5696A6AEA76007881B3CF2900581A00FEA2682FC583D0DFD15C68A7F330CA7F1E006C65E9DFB2EF6CDBB6F87C0AFB12B5CF01C1678A3500E0A739BF5DFEAC58F5FD1C9F4CBFC700C0072A6CCB687B5C9B5DECBF4B6AB6BE7F8DF9A9B52E9A38D4CB0600703D574344C7DB60E640DC2C00588815A4D067BC0400AEC6FAA3625D2756DF9FCA766F0280F51AAF3783C6EC4C89AFE4918ADA54DC09AC4F4C2F9EE2DC8F456AB0E34CA90F0D2AAEB309CCC18E188DBA3E4FC14657501FEC40E235D801F0C4F16D07215D9E00007B21D3B6B9359FC41CF2F75A228E2A831DA9A70ED4C152AA5F2BDB4AF6D19F0327B2831D116633FD6537FB1C131636FE3F3C93F60344DBA88D62AD3F2B96187CEF4A67376F01301E831D02067B6CAD944CD55D92831D4CDAB38E161AF848411DEC78BD890A1CBF52B0419E8DACC07AADD70BB019039FE51D66BCC24C03D16478E2C93096B63DCB9AD2A4694F532FD6E7A8D619D2EF7B2B2CCB5C64BABB635A35C594ACC31AB468FAD3D4CFB4C51E00AB89926D32E5BBE1FFCE56B6E749EDB6CB46492B2D17D596D49F974FA699DCB1F7CF40D8401FBF1921B99BBED076120B9F88B6F08F40B63338F68CF4A9D9E3E8F3A094E65CECB53518D83D0591E65489831ADA9357FD94F2A7A9CFDABEC487575CA53E869E84D550E90D283B948F2D95D51900C09F4A0B68F1164CA2581C03A386C70592BD8E2A4A995B90E9E654D25E868EDA04804B32796EB410A24DE9F872BE68324FB9D4967430F87141DF2A60EAA19F663598790CF460FDEF0EC339F4DB99C71357C60D90E418D7650479014025C6AFE9FF5D2EE50600FE86B0758E50CBC784F9595063A871A3DC6FCB4F0D5C7A0B007C976B7780C1CDFC4BA0FC3D44AAAF3D9D6A2C159B585FA3F5E30B932EA2E1E5FDBF6FD7F6D72278F47C83EC295D00F04E86DF2C98EF018B1FB395219DA91AEA7B4AF35069014EDC1DBDC21D29C9107D12111F9FD1F18FB1DFF2339F607EE8A835AE1EAA1D007896B2BD6B12D7D66DBE10D659F2472AA5BE98E544A3E1B3A6F250F575D0CF128E5AD01B640AFC35CBB32DC7562E8D439D548B523BA0F297945F8906A4CD4BB0793885A3D8B22E2F473FD5A7850F4F8CE3F77B0D9F584DDA65E16A4CF963E81B3CB51F9A9DA25D5E6BA87A2DEB9060FBF300B0BDC41F51F246ADD79F20E667216D4BD27ACA6990D8ADC51F07437D9FC9D9EF425D8AED5B0BC4FA23FADD916B3FE06F61C04CEAFC61F4A911CC32263B5B85D8012C9A39331B9B58A9CE58B6357D71755896C7B24C147D057CBD3290457DBD6389D86BFAA3DACAA5F18A03C2EE4E91F71FD7D63220517695D3B8A87E2DDB06B5FEB5FDE7D2537D61CACBB149F5D7BFE4B5EFCF4DDA063DE3C7F149D1A45916AA2DA9466B7D3590D1FCD25C7A6D9F16F152B08F3E9902007E07E999626898F1592594D74203C12E7A968B67BBE062ADCF2206429BA4FD30A5BAA39BBB058CBC8122CC98D8D15D9F634CCB9D15786F6500D83C92FE078DFFA33FD0040DF46C663E8CCFB5FA7FCF059D0D6D9A1CAA6CCF0DCDCE6E6A6A6ADD7C2A3BFF1C3F82A9ECE4194F0D2E0FBC777EE03D2EE28D85B5E9E086AE2C9AED2CD1B663C79FC7BE93EE2548185A1E90F98C718FFA1C07424BCFC814BCA1FC052753466FEEB8F703383E03B4376FC332388276456C06A3BE69DF023ECD29D896BD111DE31CBBD6AFF7E45235ED136C10761758F843805E3A038B3637CDED0574B440CB80FF8BBC7F97826D6D4ECD27617394202F7A96502D14EA8F3708BC7733D356B67D0E1D4B3B94403108C20E49D58FB64FAC7FEB633F357C78FA13D6D5A100F0E14C96B321D1F958958FF36558E1B180A7006E2D29C9A767C7EAD9BFE5FC517D516DB5D363D248F48508D9AFE1878D75B9B9BE251A3876B5E240FD5C61DAA6B6CF087F068065397E6A68C752BCCB86686FFF038D8769CDF4394D5D68CB1AF156FE0E9B3EA2DC128BEFAE082701C06E84BE704B00B80069BBCDF4BDA4C1E7681DE0ED1BB139005C4ACDC4D5AFD18FE73468D8AEC11F872EDE9F29C47527883F0043F9C296217B7C9FE768B642857E916347B38C425B2A473AB6346477FA97808CF52A46EE73831D00C2C10E2EDC1B7A6D4D399B199DECC18E0922CC6F4819BC3097A0D6C10E27DE16BB601103EE208AC7038512E545FAFC1530073B4601E3B2618FBC6EF3B2C13F8E0FAA66617D96EEBF0CEAACC6EF160994C10E8099831D2F0BA54D901CEC10C2BDF7270F767021967BC3C4B51327831D6258C7B95712D7DB5BAF51831D1A64073C00E43FC430F9952A6217AE3D6927A654C675241A227A7E9E4D9CCE1FA5519EDC87CF7B2ADCA7521729ED59D22EB979B5063E14DAA3D6D46C2D527BEB8C120FA62E4A9E9009DA73729A61E1C18EEC604C0C258D3703C0695CFF4E71FA91921DD489574D084F054F6029C2333B76C162B09941E818D5AEC03D016656FFEFB54A3A302CE46644B4E50D33D78376B8691CFBD843348C28CEEE784F286FC667FBE1DFF7107EA6A9A48F48E1BA3433534FD725AEE54EA889C15DE2D715286D6B690098A3E294D6A6DFA7E0724D627ABDBDAC7A4C6051077899967DB502E9954FD53E53FEC55AE54168782E00DCA35026D28C12E532B0ED4AFD41E6A83B2F1D06E53A8F9016A5856B4F538395164D3F145B147FC8786CA6AD31C3E048C6D8FE4C6C90E5D522FAB4C2BA5D28D7BF9A6F848FAF4BFD06B2FC3367135B1E4C5C2248F624DA02C26BC83FCF35A85CBED4296F649F5C4D9232E56B9DD596D17EA4DAFA36F6C368F0861B4F6C4C533EB8F69CFC84363CFE5FA2A47589E987A096413BAEC2583EE2ECCF054F8D1AF6857AFFD4F87FA1D427367F760F0F0FFA038545F62FF0203312BA21A447436750BA2C0390A3F077F67A3DD32535D6683E41E958DD89899517E97F218437140600D81D904F837331F7AA5FEE12278CAD763A8C2FA9568DB25A7D1E72F149A5B524A3E3459039C23B67A3618B5D7F9227D2011B4FE9F57A43B3162831C7FA4DD8DC0D16ADF327D94BD8BF08005E9B4A6BD9CF4BDA6BA6CEB3E562726EAFD7DB2AE137A84DA38D28B765D12C366E5F4ED127D121055B0EEB789644F0D97C172CDA2FCDADEFA07C6624F5D4624EAFD743CFF6D6F86EE67ED61BFC048C4FE5E2D4B93436C27BF3624B84A4BA514B5A2CE90B35BDE9749C361CF4DDFF37B63C003DD8510B8458AE662AA42C27E593CCA4643B6C6A28E99FC0ACC435EBA9EF5590AB2BEAE836D676CC266644BD43ED2B07774F82289998FFB011D7858124FB280C760C1D0519D0117CF24EF135484F19ECE845C8E9CDE5EFF57A2772EC25B01814A8016CB9A8A7F56D9D4B60F523AF6177D5C16B415B16FDE8C3B67BAC3D04ED75F2556155E71DE594FEDF4B8AAA68116B93D801F500A4A5ED94EF8358E7AFE0AF3DD8C15ED2A1A151CB56AE3FCAF925DAFE4130610182333C0682B99581765EE0E6D8BA4C034A8D7015AEB39DA035A5DB2BDE5658B651CFD830CB713200ECCAF5996BAB1E303A67135F5C3FD43652EA891FD2EFB100B00200BC59D3774E4B0DEDB08957B92D7570BF6F349EBA7B53CB53748E9601167D13006C05C8258F1A37E301DE04FDE55035B5E5181C8D535353D159D85353531B01FE81D99D00B09A67DF6315CF1AFB0AADEF12A7BEE3B900F048AFD7FB83C04612C776B618003C5ECB776A0A8F765BFABB4A295E9F87FE1E3D6DA4F77243333C9A19AD9E48979E7161E9BB44D95A75F658C13A8BAE5FEF22D6F538D5C0DA0732F96DADD76B69EB6970A1A1EDAA90D42F252FC78FB4ED11DBD7FBA03FD8D151AED63062F1994FD87B8C9127E9A77D8F40C94BF537A16AD0FB3B61EB9ED846A6F77EA9A02D67BFCF289FFB41DACC0F92BF626CF5719F6D3BE91BAAE5D700703F35E695D6D1E300B06721DFE40DBC6B43B34E156D05073B101C984D419D0E139B4A9383598036ED9BB75395EC9ECF2D97C7A85D1386EF73BA502E456E20A4DDC84C058EA785DEEC4A5BCC51834666ACD8A725299677F79C5DED78E25A98591D6E66601300F4375CD38612F792752FC91FC8B234415EF46871456E71F0C181F343755EFB0DEBF6836544DAF2165A5A7378C4CB1A87327097B8FE52C97F977835B44E12927C560C995DC8EFD8926B0789F6F1542509A7E41258B6D133348C4C30E733C2FC0FABA8F0676F051BD4E391525C0900F731F26D474C3FA7F53AFA04B734B57C8116D47118325D7E64DA1FF24EE8117656B25333AFD43042B8C11855B62C2D4011CE774113AD9B4800A8A72FEEF356677FD27BA41CEF27A6DF2471EDE0E68B31ED076AE3ABA50554CA270060AEB24D95E38F9DB955C1C6D10A365470BC07A13C9C4E6A53D233D63CBFB400079E5B5A8000ADD93D219E6C683B87E5063FAE839893CE692C7856FFEF66C67E5E24C8FB6735151326C8A0FE38967239804A5FBCAF913E4D9637B6BF87A1EDE3426F56FE1DBA72690130BA9B087FA8B40022F391E9EE20DA1DD5FAAD85AD4B0BE8D31EE0BF2094A8F2FE100DF51CEA1C9D3E0A3580E77E073F75F415E26C253BDF52B2D335FECBD0F6B35BAF576AFC3FAF9D98D8391DAA2592407B5AFDE06CF06B0269F733D632C18667961630C2DC02001F64E6FD98A28E090962FD70176F143BCA6C4EA60AEB2D36938DB23C0DC351ADD75708ED2D434C4F196CA8717666D7F89DA32FF4BE4323C0BDA5056863DD1F6EAD65C890F54B0BA898E60FD41D09F9B4A6B38F1B7B19D8DCD8C0A60B056FD64E53B2F36F896BDF0BBCF7AF04DB949BB86B096931DCA86C8FC20ECC7CD4E3303D690EAEEE9C48B784B18E238CED97E27041DEC1D2C7333584D448AE6F2DD40FB7071AFF144C559EEC51CDA5600C78DC9D317995B6C60EF0C2CCF5733D4418F21F00B0466911135C790891C67A195F116A1A00DEB484D34AF874690123C28F9DFD794F2FB64675DDB7949A3AA7099DE3D2C4B5F6C062E9CD87470DED8119EE201786D233128B81FD41CCEC876383F7DA4F63BDF7F37041E33BAF03DF9FA9D90D27BBA908F314449AE032A211E193A50554C4E2A50514624B00F867E0FD0F13ED6CCBF0FD6D469E18D3037A1DE813A3509E865AB0D0D9DFA3CEFEBAC6F1A50538F38BD202ACE972E75429A919275DE47DA505C018FF60CE109BD6BDBFAB8A6E7196A733C98087C0ED6E42D95DE0EBF92461B075A26467DCF637F84F273F973BF9B1E6470E3E2833C7BBC6474A0B60B0A0B4800CAF9364F6FA4DC1FE024090DAB17A42B7787369010D9EAE6C8FF324CA7203522B9A9DC77C91217CE7547289459B1ACF9AA74C59AD75DDA6741DB617967BE04C58C40F91E9E605DE7B4FE3FFCDE552D459CBC349EA0771B38FF5BA418CF0C7C4B5639D34B8821CA848713CB66E99FC9F30FF84F1E074469ED42108352F491D25FE45D11677F6DDAE8A1A6650F2FB8C729285F5DA650C96A77A4CA0935A6FAABD896D2D5C5C5A8027469DD3EF5BAFDF134C356114D0DA8B458BBB4A0BE808EF2C2D4011ED0D19B92CDB7C81FD512CEC8357572DC130BB0BF25ACF34F90E3583D64085860D26A1A5D91B28DAAF7536C0C399EBFFE3A2A21EDA9BC65AA3FD70B204352F2192CE045B0A2AD983A950BF48E622461EEA3A232D5E53C0E7D332D73153AB0E53D001B06813A4D28CD34ECAB5F1592D43CCCEE9E55AFE0BE2316365DC4F8DB13C527B1543DB145283F4A1993C27590929CC82D2021459B2F1FFF7B946303FAE2BBD397CB730BFEBB2210A983A91D8B0D6DFE79BFDBFEDB5FF5B10ED3CA6A065C2040C3795162084F3FBB889D7522F6B92A72955D03702007FE39F71580B5A92D474526D4A3F897D92B2BD8F2BDB2B45D1F5F6C80EEA6F46EE391B55B5678F48D13A62D993D80EE08F80ECB48C2F0BF27258D5D95FED708F8FED3A471BD98D0D46A90D1843E2E85ECC8F6BE51BC30F08F28E2AF7375F60EA240633EF056A25A1F333415EABA7C5738DEC8E1A370BF24AF69E3B4890B726BE6160D3622FB1917A0082E81F6F29A96FD4F86BE0BDF660CF8B957D8EC2D3EE09786AD8B1FE322D43DC9BBF8EB073690148347FA8D4BC89D7EB0BFA3EA5A0EF2EA239457CA7C4B5E4132326552C6BCAF5AD23DCEF7E3173FD5B896B9201DB36FB86DEA4C63D558F15D5590D9B4B73B832F2FEA732F9FEAC2DA4529A83C1839967D4FEAD3DF3477244EE66201B8CC1703D31FDE71AFF37679EBFAA954EFBA12B15F2123C23D623A46DC7308A571F8939DA0900E01A449A374984540CE7C81E0DB632B43D079186B2B6F300425ACC53F61B08F69AFC9D996F0293823772A37CE45C88EF16F6DFC50D7A2DF9663E8919D49B3A2A6F34B62F61EB427EB11B76AB9D0081F9B16CD8DF62EEF92C91FAC7EE33B33EC528B54E9CEB6C429EDF96165009351D40306E5C555A404DD4DA47BEB494E30EB13D32DDB9962294408FCE45385245859CC1A90CA97D43A4A3A7356CDA5B04E14DDDE069DEF91E5A2B61B1D202021C535A4004CD27F8663B8B57C8AB95ED9D93B8B6B1B2AF01EB36FE5F329AAA5EAE43A65B21F0DEF483A831FCE16CB544A90976696368934F95410FC5B2B4E12E6DA3CECABA8DE9A7248F03C02B23D736F214E2C4574A0B18718E50B0B16E3E49A7582DF0DE81B1C4A5BFDBEE83E18E0CB306FF01032D189EE3E063143B420DB621A67F9781068D0E47426EFAAD16DA4BA95451BEC9CBCDDCF8B654EF08324E3FE64791C1B4DAE034FA099D80DA47A34FBA29753328E4994E7EACEF01A30F43B0DF7B4675D5EEF3293391B927B3847ECC84D0DCE74613ADBD452CF663D0863B4B5ACA8B94EDE54ED8B186BA996F0DAC1C786F1DD03D2C82BBAFE35500AABF19E631751443E3E9F8281D93376013475FB9B39D2F07F926A9FF10E6AF15E9EC84DC53EC5A4E944842BDF933B8014C51EB0D589739BEB400251E2F2D60043804994EFB84B0C183965B8DEC5AD01EA4F73E8DE94BCEFE429C5BC8EF4A99EB6BBAA8184D4AEC03825D4AFD3553154FB076E4FDD4695C25B0BA17DFD3C8EEB8732C23CF9D81F7BE20159221BA892AF3B741685FCD0187EA4AF7E3C799EBCB47DEAF6513975AB1DC10B52BCB9B9656B63788E93C65BBA3C26E950E788C02BF34B0F9A3C8FB5603443B1BD9A5B0A5A16DEC1394271B6AA805EF329EE1EC6F6FB03B35E273F92426BC4DC1C6FF2AD8C0C0D9C726B59465B0A4E3D70CBB212C4E7AC0A03593F60A62FA5728F92DC92DA50508E13C1CD3F8CC4F981063E1E437419ED013964FBAAB08737A6901A0BF6E7A75657B542C96BB7499D84EF4B31BFF5B6E3A758B861144E7C66DC7BB68E87360BBD2028C780332DDC588349A03102764AE3FA2E80B43FBC7DFA5CEFE47919A37549DC0E7C6D2028C79B4B4000330A7E29C080097B4DE5B51C1B7775F3E2A7471EF95DA683E10BABA988A7A482E63F21CE8F87F4642D519
#感谢neverno师傅
import zlib
import binascii
f_in = open('1.txt', 'rb')//1.txt是上面的提取出的zlib十六进制部分
id = f_in.read()
result = zlib.decompress(binascii.unhexlify(id))
fount = open(r"55.data","wb")
fount.write(result)
fount.close()

当然还有更轻松的办法

#大神pcs师傅的脚本,更加简单,一把梭,不需要手动提取zlib,建议在已经安装了GIMP的Linux系统运行
import re,os
import zlib
c=re.sub('........IDAT','',open('perceptron.png').read(),0,re.S)
s=''.join(zlib.decompress('x\x9c'+i) for i in c.split('x\x9c')[1:])
open('flag.data','wb').write(s)
os.system('gimp ./flag.data')

默认的RGB图像类型经过调整可以看到flag,但是是重叠的

随便切换一下图像类型

图像类型RGB565、位移40,可以查看到完整的flag


写在后面:

坦白讲写完这篇文章我还是有点懵的,主要是宽高的问题,原来遇到的都是根据CRC32把错误的宽高修改为正确的宽高,但是这里如果用第一种方法,那就无法根据CRC32推断能正确显示flag的宽高了,需要爆破所有可能的宽高。

zlib使用的压缩算法原理分析可以参看这篇

【数据压缩】LZ77算法原理及实现 - Treant - 博客园
1. 引言 "【数据压缩】LZ77算法原理及实现" "【数据压缩】LZ78算法原理及实现" LZ77算法是采用字典做数据压缩的算法,由以色列的两位大神Jacob