Rumah >pembangunan bahagian belakang >Golang >Bagaimana Saya Boleh Melaksanakan Binari Terus dari Memori di Linux?
Melaksanakan Perduaan daripada Memori
Dalam bidang kejuruteraan perisian, kita sering menghadapi senario di mana melaksanakan perduaan terus daripada memori boleh memberi manfaat. Mari kita mendalami cara untuk mencapai kejayaan ini.
Prasyarat:
Pertimbangkan situasi di mana binari disimpan dalam pembolehubah, yang agak biasa semasa penyusunan. Kami mempunyai pelbagai bait seperti ini:
[]byte{'s','o','m','e',' ','b','y','t','e','s'}
Matlamat kami adalah untuk melaksanakan perduaan ini dalam program kami, memintas keperluan untuk menulisnya kembali ke cakera atau menggunakan arahan luaran seperti exec atau fork.
Penyelesaian:
Menggunakan Linux sebagai contoh, kami boleh memanipulasi kawasan memori ke kelebihan. Dengan panggilan sistem mprotect(), kita boleh mengubah suai perlindungan kawasan memori. Secara khusus, kita boleh menukarnya daripada rantau data kepada rantau kod. Ini membolehkan kami melaksanakan kod terus daripada memori.
Setelah kawasan memori dilindungi semula, kami boleh melompat ke dalamnya dan melaksanakan binari.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Melaksanakan Binari Terus dari Memori di Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!