Hook adalah fungsionalitas yang disediakan oleh perangkat lunak bagi pengguna perangkat lunak tersebut untuk memiliki kode mereka sendiri yang dipanggil dalam keadaan tertentu. Kode itu dapat menambah atau mengganti kode saat ini.
Di masa lalu ketika komputer benar-benar pribadi dan virus kurang lazim (saya berbicara tahun 80-an), itu sesederhana menambal perangkat lunak sistem operasi itu sendiri untuk memanggil kode Anda. Saya ingat menulis ekstensi ke bahasa BASIC Applesoft di Apple II yang hanya mengaitkan kode saya ke juru bahasa BASIC dengan menyuntikkan panggilan ke kode saya sebelum salah satu baris diproses.
Beberapa komputer memiliki kait yang telah dirancang sebelumnya, salah satu contohnya adalah aliran I / O pada Apple II. Itu menggunakan pengait seperti itu untuk menyuntikkan seluruh sub-sistem disk (ROM Apple II pada awalnya dibangun pada hari-hari di mana kaset adalah media penyimpanan utama untuk PC). Anda mengendalikan disk dengan mencetak kode ASCII 4 ( CTRL-D
) diikuti oleh perintah yang ingin Anda jalankan kemudian a CR
, dan itu dicegat oleh sub-sistem disk, yang telah mengaitkan dirinya ke dalam rutinitas print ROM Apple.
Jadi misalnya, baris:
PRINT CHR(4);"CATALOG"
PRINT CHR(4);"IN#6"
akan daftar isi disk kemudian menginisialisasi ulang mesin. Ini memungkinkan trik seperti melindungi program BASIC Anda dengan menetapkan baris pertama sebagai:
123 REM XIN#6
lalu gunakan POKE
untuk memasukkan CTRL-D
karakter di tempat X
itu. Kemudian, siapa pun yang mencoba membuat daftar sumber Anda akan mengirimkan urutan inisialisasi ulang melalui rutinitas keluaran tempat sub-sistem disk akan mendeteksinya.
Itu sering kali merupakan tipu daya yang harus kita pilih, untuk mendapatkan perilaku yang kita inginkan.
Saat ini, dengan sistem operasi yang lebih aman, ia menyediakan fasilitas untuk kait itu sendiri, karena Anda tidak lagi harus memodifikasi sistem operasi "dalam penerbangan" atau pada disk.
Mereka sudah ada sejak lama. Mainframe memilikinya (disebut pintu keluar) dan banyak perangkat lunak mainframe menggunakan fasilitas itu bahkan sekarang. Sebagai contoh, sistem kontrol kode sumber gratis yang datang dengan z / OS (disebut SCLM) memungkinkan Anda untuk sepenuhnya menggantikan subsistem keamanan dengan hanya menempatkan kode Anda sendiri di pintu keluar.