Katmanlı Soyma
Çok katmanlı bir obfuscator. Kaynak boru hattı şöyle:
``python`
def encode(pw):
a = pw[::-1] # 1) ters cevir
b = bytes(x ^ 0x2C for x in a.encode()) # 2) 0x2C ile XOR
return base64.b64encode(b).decode() # 3) Base64
Üretilen çıktı:
URgaTnNeQ1RzX15JWHNFQEJNQVhNR1d1bXhgbQ==`
Katmanları sondan başa soy: Base64 çöz -> 0x2C XOR -> ters çevir.
Bu challenge ne öğretiyor?
- Base64, ikili veriyi 64 karakterlik bir alfabeyle metne çeviren kodlamadır; anahtarsız geri çözülür.
- XOR, aynı anahtarla iki kez uygulandığında veriyi geri veren bit düzeyinde bir işlemdir.
- Tersine mühendislik challenge'ları bir programın mantığını okuyup tersine çevirmeyi öğretir.