所以我想從文件中加載一組彙編指令,並執行這些指令。內聯ASM跳轉到新內存
OR
我想從一個文件(non-EXE)再次裝入已編譯的機器代碼
我的想法:
到目前爲止,我已經瞭解了足夠聯彙編到輕鬆處理c/C++變量。
asm volatile (
"mov %1, %%ecx;" // yes unnecessary, I know
"add %2, %%ecx;" // I know they're already loaded in a register
"mov %%ecx ,%0 ;"// just demonstrating what I've learned
:"=r"(address)
:"r"(address),"r"(offset)
:"%ecx"
);
我已經開始學習操作碼了,並且已經獲得了一些x86手冊。我(有點)瞭解硬件在基本層面的工作原理。
我知道我可以用fstream將C++加載到內存中,我想知道是否有辦法從該空間執行內存,或者如果它在內存的非可執行部分或其他東西。
原因:
目前,有幾個原因,我想這樣做。我希望爲我的程序創建一個基本的加密,這是一個運行程序的簡單密鑰。雖然我可以輕鬆加密和解密實際的代碼,但我希望程序在每次運行時都不加密,並且永遠不會存儲在硬盤上。我知道有幾個問題,但我非常有興趣這樣做。
最後的問題:
我可以在ASM執行從內存空間的機器代碼的程序從C++?
是asm必需的嗎?
是否有其他方式來更有效地完成這個任務,如果是這樣,那些是什麼方法呢?
我也讀了一些DLL注入爲我做鼠標共享程序(兩臺計算機彼此相鄰,都具有顯示器,但是你只有一個鼠標/鍵盤。我想知道在那裏我可以在主題找到一些好的資源?谷歌一直樂於助人,但我感興趣的是也許有些IRC頻道或類似的東西。不管怎麼說,感謝您的閱讀!
真的有一個問題太多的問題。 – 2011-06-15 15:27:57