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的盛行就很少使用这两个工具,如今再次使用却已生疏,为避免忘记故而写此文记录。

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