使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译
為了保證示例的完整性,請先準備好一個 c#寫的 exe 程序,或者可以使用我提供的 exe 程序也可以(很簡單,為了測試這里僅生成了一個帶按鈕的 winform,單擊按鈕提示彈窗)
Test WinForm.exe
這里通過 ildasm 反編譯 exe 程序得到 il 文件,然后對 il 文件進行修改,用于修改彈窗中的內容
ilasm 所在目錄
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe
ildasm 所在目錄
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\ildasm
以上根據具體情況在自己的目錄中查找即可
以下是具體的操作步驟
一、反編譯 exe 為 il 文件
雙擊打開 ildasm –> 點擊文件 –> 打開剛剛下載或自己的 exe 程序 –> 點擊文件 –> 轉儲選擇 UTF8 –>選擇位置保存 il 文件,同時可能會生成一些資源(res)文件,具體如圖
接下來就是對 il 文件進行修改,這里以示例提供的 exe 為例,點擊按鈕時彈出的內容為 message ,這里想要讓這個 message 改為 message123
修改后,對 il 文件重新編譯為 exe 文件,命令為:
ilasm test.il /output:test.exe如果需要資源文件,則
ilasm test.il /resource:test.res /output:test.exe如果要編譯為 dll 文件,則
ilasm test.il /dll /output:test.dll然后再執行 test.exe 并點擊按鈕,發現彈出的內容已修改為 message123
總結
以上是生活随笔為你收集整理的使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cenos 下的一些常用命令及技巧收集篇
- 下一篇: 旧版 npm 安装 node_modul