zoukankan      html  css  js  c++  java
  • 利用 ildasm 修改被编译后DLL文件

    在开发中遇到这样一个场景,需要修改一个dll文件(.NET程序集)中某些地方的类型名称,但没有源代码,只能修改IL代码。

    操作步骤如下:

    1. 运行ildasm

    ildasm是由微软提供的.NET程序反编译工具,位于“C:Program FilesMicrosoft SDKsWindowsv7.0Ain”。

    2. 用ildasm打开要修改的程序集,如下图:

    3. 通过ildasm保存为IL文件

    选择菜单File>Dump,选择UTF-8编码,如下图:

    4. 用文本编辑器打开第3步中得到的.il文件,如下图:

    5. 修改.il文件中的代码并保存

    6. 用ilasm(MSIL汇编程序)将.il文件编译为.dll文件

    ilasm位于相应的.NET Framework目录中,比如:C:WindowsMicrosoft.NETFrameworkv2.0.50727ilasm.exe

    新建批处理bat:

    
    
    C:WindowsMicrosoft.NETFrameworkv2.0.50727ilasm.exe 编译.il /output=输出.dll /dll
     

    好久以前遇到过一个项目,其中调用一个封装好了的dll,混淆加密加壳还打乱命名了,反编译了出来也是看起来头大,直接IL修改重新生成dll解决了问题。

       最近又需要改一个这样的dll,记录下来步骤

       首先把dll单独复制出来,查看dll运行库

       

    然后导出.il文件

    .............................................................

    .............................................................

    以下熟悉IL的可以对这个il文件作随意的修改

    ............................................................

    修改完毕,保存

    打开到

    C:WINDOWSMicrosoft.NETFramework

    确定了文件夹

    C:WINDOWSMicrosoft.NETFrameworkv2.0.50727

    win+r   cmd运行

    生成刚刚修改完的IL,如果有.res资源文件   也需要一同输入

    ilasm 源文件.il 源文件.res /output=目标文件.dll /dll
  • 相关阅读:
    xilinx下载器,JTAG-HS3和Platform Cable USB II 速度对比
    LATTICE下载器HW-USBN-2B使用说明
    altera下载器高速版本 PL-USB2-BLASTER 使用说明
    FPGA流程设计
    关于fpga的后仿真重要性
    使用MyBatis分页插件PageHelper遇到的问题
    java 面试题总结01
    netty Demo
    netty 概念篇
    pom.xml 简述
  • 原文地址:https://www.cnblogs.com/refuge/p/9338089.html
Copyright © 2011-2022 走看看