Skip to main content

Apa itu Relokasi Mandiri?

Relokasi diri adalah properti yang dimiliki oleh sejumlah kecil program komputer.Program -program ini dapat mengubah lokasi mereka dalam memori saat mengeksekusi.Sebagian besar program memiliki sedikit atau tidak ada kendali atas pemrograman dasar mereka sendiri;Sebaliknya itu ditangani oleh program orde yang lebih tinggi.Sistem ini dapat mengubah lokasi mereka dengan memindahkan pemrograman mereka atau dengan membuat salinan diri mereka sendiri.Ketika salinan dibuat, lokasi eksekusi biasanya berubah pada program baru dan kode lama dibiarkan tidak aktif.

Dalam kebanyakan kasus, program komputer yang dilaksanakan terletak di dua area secara bersamaan.Terletak di penyimpanan fisik komputer, seperti hard drive atau unit penyimpanan lainnya, dan di memori yang mudah menguap.Program ini dipindahkan ke memori yang mudah menguap saat dieksekusi untuk mempercepat waktu akses dan membuatnya bekerja lebih cepat.Posisinya di kedua lokasi ini umumnya ditentukan oleh sistem operasi komputer.

Lokasi program ini disebut alamat.Alamat -alamat ini digunakan oleh sistem dan program lain untuk dengan cepat menemukan program saat dibutuhkan.Jika suatu program dipecah dalam penyimpanan, itu akan beroperasi lebih lambat daripada jika semuanya bersama -sama;Oleh karena itu, sebagian besar sistem mencoba menyimpan program yang lebih besar melalui alamat berurutan.Sekali lagi, pilihan untuk melakukan ini biasanya jatuh pada sistem operasi dan program tidak memiliki kontrol langsung atasnya.

Ketika suatu program menggunakan refelokasi sendiri, ia memiliki kontrol yang secara signifikan lebih besar atas proses ini daripada program tipikal.Ini memiliki kemampuan untuk mengontrol alamat yang dieksekusi.Saat digunakan, program dapat memindahkan total pemrogramannya dari lokasi yang berada di lokasi lain dalam memori komputer yang sama.Beberapa program hanya dapat mengubah salah satu dari dua alamat, sementara yang lain dapat mengubah keduanya.

Dengan sendirinya, refelokasi diri adalah proses yang tidak biasa, tetapi tidak bermasalah.Bahaya sebenarnya datang ketika relokasi diri digunakan bersama dengan niat jahat.Adalah mungkin bagi suatu program untuk melakukan sejumlah besar hal yang tidak terduga ketika memiliki kendali atas dirinya sendiri.Ini dapat membuat banyak salinan fisik atau volatile untuk menyumbat memori komputer.Ini dapat menyebabkan restart dan mungkin merupakan pendahulu dari serangan boot.

Selain itu, program ini dapat membuat cadangan dirinya sendiri untuk mencegah penghapusannya.Jika suatu program dengan refelokasi sendiri untuk mengeksekusi dan kemudian menyalin sendiri, program asli masih akan ada bahkan ketika itu tidak digunakan.Jika programnya berbahaya dan sistem mencoba untuk menghapusnya, program aktif dapat dengan mudah mengaktifkan kembali kode asli sebelum dihapus.