Karışık Kısıtlar
Decompile edilen bir doğrulayıcı, parola üzerinde tek tek karakter kısıtlamaları uyguluyor. Ancak kısıtlamalar KAYNAKTA KARIŞIK SIRADA yazılmış (byte değerine göre sıralanmış). Her satır s[konum] == deger şeklinde:
````
assert s[0] == 0x41
assert s[3] == 0x41
assert s[1] == 0x4c
assert s[2] == 0x54
assert s[4] == 0x59
assert s[12] == 0x5f
assert s[9] == 0x61
assert s[7] == 0x69
assert s[11] == 0x69
assert s[13] == 0x6b
assert s[10] == 0x6c
assert s[19] == 0x6c
assert s[15] == 0x6e
assert s[14] == 0x6f
assert s[18] == 0x6f
assert s[8] == 0x72
assert s[17] == 0x72
assert s[6] == 0x73
assert s[16] == 0x74
assert s[5] == 0x7b
assert s[20] == 0x7d
Kısıtlamaları KONUM’a göre yeniden sırala ve stringi kur.
Bu challenge ne öğretiyor?
- Disassembly, makine kodunu okunabilir komutlara çevirir.
- ASCII, karakterleri sayısal kodlarla eşleyen temel karakter kümesidir.
- Permütasyon, aynı harfleri farklı sırayla dizerek gizler.
- Tersine mühendislik challenge'ları bir programın mantığını okuyup tersine çevirmeyi öğretir.