İkili bir dosya aldım ve şifresini kırmam gerekiyor (ödev). Ayrıca verilen bir fonksiyon vardı (ikili dosyanın bir parçası olan bir fonksiyon). Bu işlev, giriş dizgisinin karaktere göre doğru şifre karakteriyle karşılaştırıldığını ve karakter yanlış olduğunda anında yanlış döndürdüğünü gösterdi (bunu yapmanın güvenli bir yolu değil sanırım çünkü sızıntı zamanı ve doğru şifre uzunluğu hakkında bir fikir edindik) örnek). Ama hocamız sonucu biraz daha zorlaştırmak için sonucu (Doğru / Yanlış) döndüren rastgele bir zamanlayıcı ekledi ...
Neyse, tersine mühendislikle başarılı bir şekilde yaptım ve doğru şifreyi aldım. Şimdi komut satırında onunla oynuyorum:
/usr/bin/time -v ./program_name enter_password
Bu komutla, sistem zamanı, takaslar, çalıştırma zamanı gibi birçok bilgi alıyorum. Ama benim için en ilginç olanı "Gönüllü bağlam anahtarları" dır. " Alırım!
Ne kadar yanlış karakter girersem o kadar “Gönüllü içerik anahtarları” alıyorum.
Sadece bu komutu girerek, karakterleri girerek ve "Gönüllü içerik anahtarları" nı izleyerek şifreyi kırmam neredeyse iki saatimi aldı. BİR karakter doğru olduğunda, "Gönüllü içerik anahtarları" bir azalır.
Sorum, tam olarak "Gönüllü bağlam anahtarları" nedir ve neden şifreyi kırmama yardım ettiler?