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.txt

Deoarece 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_*}%

```