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

  • 相关阅读:
    day4递归原理及实现
    day4装饰器
    day4迭代器&生成器&正则表达式
    open()函数文件操作
    Python中的内置函数
    function(函数)中的动态参数
    copy深浅拷贝
    collections模块
    set集合
    字典dict常用方法
  • 原文地址:https://www.cnblogs.com/Jkinbor/p/16594494.html
Copyright © 2020-2023  润新知