Saya mendapat file biner dan saya harus memecahkan kata sandinya (pekerjaan rumah). Ada juga fungsi yang diberikan (fungsi yang merupakan bagian dari file biner). Fungsi itu menunjukkan bahwa string input dibandingkan dengan karakter kata sandi yang benar berdasarkan karakter dan mengembalikan false secara instan ketika suatu karakter salah (itu bukan cara aman untuk melakukannya saya kira karena ini waktu yang bocor dan kami mendapatkan gagasan tentang panjang kata sandi yang benar sebagai contoh). Tetapi guru kami telah menambahkan penghitung waktu acak yang mengembalikan hasil (Benar / Salah) untuk membuatnya sedikit lebih sulit bagi kita ...
Ngomong-ngomong, saya sudah berhasil melakukannya dengan reverse engineering dan mendapatkan kata sandi yang benar. Sekarang saya bermain dengannya di baris perintah:
/usr/bin/time -v ./program_name enter_password
Dengan perintah ini, saya mendapatkan banyak informasi seperti waktu sistem, swap, waktu eksekusi..Tapi yang paling menarik bagi saya adalah "Switch konteks sukarela" karena karakter kata sandi yang lebih tepat saya masukkan, semakin sedikit "Switch konteks sukarela" " Saya mendapat!
Semakin banyak karakter yang salah saya masukkan, semakin banyak "Konteks sukarela beralih" saya dapatkan.
Saya butuh hampir dua jam untuk memecahkan kata sandi hanya dengan memasukkan perintah itu, memasukkan karakter, dan mengamati "Switch konteks sukarela". Setiap kali SATU karakter benar, "Sukarela konteks switch" berkurang satu.
Pertanyaan saya, apa sebenarnya "Switch konteks sukarela" dan mengapa mereka membantu saya memecahkan kata sandi?