2012-09-27 17 views
0

我怎樣才能把一個COM文件存根,像這樣編碼 string x =「Hi」; Console.WriteLine(x);如何用C#編輯exe存根?

,並從另一C#程序修改(例如,改變x的值)

+0

我將無法回答這個問題,但我很好奇,什麼是「exe存根」? (只是想學習) – David

+0

你想重新編譯exe文件,或者只是在內存中修改x的值? –

回答

2

您可以使用CodeDom來編譯動態上飛的代碼串。

1

如果該文件是signed或具有strong name,則無法在無權訪問私鑰的情況下對其進行修改。否則,篡改將很明顯。

假設參數不存儲在可執行文件之外,例如在註冊表或app.config文件中,這是非常困難的。一種方法是查看IL並使用System.Reflection.Emit名稱空間或CodeDom中的類寫出新的EXE。