# CRC
In this task we were given 26 encrypted zip files. It is easy to notice though, that they havevery small size - they uncompress to 5 byte files. That means we should be able to brute forcethe actual contents, and check their validity using crc, since ZIPs contain CRC32 of their uncompressed contents:```[adam@adam-Y510P ~/CTF/backdoor/zipcrc]λ unzip -lv 0.zipArchive:  0.zip Length   Method    Size  Cmpr    Date    Time   CRC-32   Name--------  ------  ------- ---- ---------- ----- --------  ----       5  Stored        5   0% 2015-11-26 19:49 a36bb2ae  0.txt--------          -------  ---                            -------       5                5   0%                            1 file```We listed all CRCs in `list`, and wrote a brute forcer - `check.cpp`. It looped over all printable5-character strings and calculated its CRC, after which it checked whether it fits any zip.
Unfortunately there were many collisions, so we wrote a quick visualizer showing possibilitesfor each zip (`parse.py`). Output:```[ p,id] [ func] [h&3o4] [func(] [) { e] [.ERM*] [H'9!R] [!LZW(] ["; fo] [ngxh4][t|g{] [r($i ] [PL]l4]                         [ESV$!] [^y#Hz]         [Qp+Rx]                                        [cho "]         [lag: ]                                                        ['3!6]          [p.;;4]                 
[!ol:4] [$i < ] [/}g!0] [8IJE<] [echo ] [.EOE8] [)VPL7] [ (($i][= 0; ] [8&|=4] [32; $] [Hu;@l] [y,4n4] [B6bA|] [E%}Hs] [<gt%}] [lBQW<] [TUQ9p] [bPZL8] [T:gAx]         [^y>@h] [Yj!Ig] [qJIHu]                        [i++) ]         [chr(0] [d{m!?]                                [udw(4]         ['.)$]  [x41 +]          
[ ^ 0x] [-}u!1] [ 0x19] [)); e] [.ERM*] [,RS>p] [ao:tz] [2JHW<] [*4DeR][PbQ5(] [12) %] [<$0-]  [5fg!q] [B6In]  [@!~:4] [} fun] [Bv9Rl][q