ilasm和ildasm

這兩天使用了一次ilasm.exe和ildasm.exe,原因是公司官網所在服務器出現漏洞,服務器被種植了木馬程序,公司運維以爲是網站出了問題,讓我幫助分析原因,一番操作後,讓我驚奇萬分。公司官網非自研而是專門的建站公司製作,當運維給我備份文件時,我發現2018年開發的網站使用的技術是運行.net framework2.0環境下,一下子給我搞懵了,彷彿突然回到了久遠的2008年。我把自動備份的網站部署到測試服務器上,還能運行,就是無法通過oledb的方式訪問Access數據庫,作爲一隻程序猿,捉蟲的興趣就湧上來了,沒有源代碼怎麼辦?唯一的辦法就是修改程序集文件了。找來了ilasm.exe和ildasm.exe這倆搭檔,一頓猛操作後,成功修改了程序集,部署調試沒有問題,感覺很好。不過,由於建站公司寫的代碼太垃圾,也失去了解決問題的興趣,結果並沒有解決.net framework2.0的網站在windows server 2019+iis10.0部署環境裏,通過oledb方式訪問Access數據庫的問題。這篇文章主要記錄ilasm.exe和ildasm.exe工具的使用方法。

1.ildasm.exe
作用:將xxx.dll文件轉爲中間語言文件,然後就可以修改中間語言文件中的內容。
步驟:
    a)此程序位於C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\目錄下,注意.net 4.0版本所在目錄不同
    b)找到ildasm.exe程序,雙擊運行,此時彈出操作窗口界面
    c)打開程序集文件xxx.dll,菜單欄:文件 -> 打開,選中需要反編譯的程序集文件
    d)菜單欄:文件 -> 轉儲 ->確定
    e)此時就可以編輯xxx.il文件了

2.ilasm.exe
作用:把ildasm轉成的中間語言文件打包成xxx.dll程序集文件。
命令:ilasm xxx.il xxx.res /output=xxx.dll /dll

其實這兩個工具早年就用過,那時候winform盛行,市面上流行基於winform開發的第三方組件,授權費用又比較高,怎麼辦?就只能自己動手了。後來隨着web和手機app的盛行就很少使用這兩個工具,如今再次使用卻已生疏,爲避免忘記故而寫此文記錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章