PicoCTF 2019: whats-the-difference (Puncte 200)
- mai puțin de 1 minute de citit
- 3 exemple de cod
Disponibil și în English
Poți observa diferența? kitters cattos. Sunt disponibile și la /problems/whats-the-difference… pe serverul shell
Pentru a rezolva ușor această provocare, am folosit xxd și cut ca să generez un hexdump ASCII al imaginilor:
➜ Downloads xxd kitters.jpg | cut -d ' ' -f 11 > kittens_text.txt➜ Downloads xxd cattos.jpg | cut -d ' ' -f 11 > cattos_text.txtDeoarece am vrut un diff caracter cu caracter, am scris următorul script Python:
<pre class="wp-block-prismatic-blocks">```pythondef main(): new = open("cattos_text.txt") old = open("kittens_text.txt") old_file = old.readlines() new_file = new.readlines() print("Loaded lines", len(old_file), len(new_file)) for line in zip(old_file, new_file): for number, old_char in enumerate(line[0]): if old_char != line[1][number]: print(line[1][number], end="")main()Și în final rulez scriptul:
➜ Downloads python diff.pyLoaded lines 212919 212919picoCTF{th3yr3_a5_d1ff3r3nt_4s_bu773r_4nd_j311y_*}%```