簡體   English   中英

Golang 從 memory 中的二進制數據執行子進程

[英]Golang execute child process from binary data in memory

我知道可以將可執行文件嵌入到 Golang 可執行文件中並運行它們,或者使用 Yaegi 等項目從字符串運行Golang代碼,但是作為一個孩子,是否可以運行存儲為變量的二進制文件而不將其寫入文件過程? 二進制文件已經作為變量存在於 memory 中,所以可以以某種方式執行它嗎?

如果我沒記錯的話,可執行 memory 和數據 memory 之間存在差異,那么這會阻止這樣做嗎?

我的問題的原因是我正在編寫一個開源 RAT/payload dropper 作為學習 Golang 的項目,並希望盡可能模塊化,包括無文件更新和二進制(也是無文件)有效負載.

編輯:歡迎任何解決方案,但首選跨平台解決方案。

EDIT2:根據這個SO 答案,這在 C++ 中是不可能的/非常困難的。 看起來,這樣做的主要原因是動態鏈接庫。 由於 Golang 是靜態鏈接的,這會更容易嗎?

不,沒有便攜的方法可以做到這一點。

是的,嘗試這種方式來做到這一點。 https://github.com/amenzhinsky/go-memexec

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM