執行記憶體中的二進位檔案
開發人員通常需要執行二進位檔案作為其應用程式的一部分。然而,將二進位檔案儲存到磁碟然後呼叫“exec”或“fork”的傳統方法可能效率低下。本文探討了一種直接從記憶體執行二進位檔案的方法,無需寫入磁碟。
背景
在提供的程式碼片段中,二進位資料儲存在名為「myExec」的變數。目標是執行此二進位檔案而不將其寫回檔案系統。
C 和 Linux 中的解決方案
在 C 中, mprotect() 系統呼叫可讓您修改記憶體區域的保護。這意味著您可以將資料區域轉換為程式碼區域。轉換完成後,您可以透過跳到記憶體區域來執行它。
以下是如何完成此操作的範例:
以上是如何在 Linux 上用 C 直接從記憶體執行二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!