我在Windows上覆制函數的機器代碼。從windows可執行文件複製機器代碼並在linux上運行
例如:
void func()
{
printf("hello");
}
在上述情況下,我想複製func()
的十六進制代碼段的數據和printf()
的十六進制代碼數據加上其他依賴關係和數據,並重新連接它在不同的充機中運行的Linux ,如果重新鏈接正確,是否可以在Linux機器上運行代碼?
如果是這樣會有一個授權問題? (是否合法?)
P.S.這個問題涉及分佈式系統問題。
可能不是。當你觸摸OS API調用時(例如輸出到屏幕上,除非C編譯器正在使用BIOS或直接硬件寫入,這是行不通的。 –
這個問題無法回答......那麼處理器架構呢?函數是特別的意思(因爲許可是個案評估)?你的目標是什麼???? – Yahia
如果是Windows,最可能的CPU是x86或x86-64 – osgx