大家开发过程中难免需要用一些第三方的插件,而很多插件提供商出于各种目的一般会将插件部分代码编译为动态链接库DLL。
有时候,我们需要对库中的一些内容进行简单的修改,例如我们项目中采用的一个DLL把处理文件的路径写死在DLL里,但是此路径与我们工程项目路径规划冲突,因此产生了修改此路径的需求。
具体方法比较简单,工具也都很好获得,步骤如下。

一、准备工具

1.ILSpy:

一款免费的反编译软件。笔者用过多款反编译软件,从准确性到简便性来看ILSpy都是首选。

2.ildasm.exe:

windows系统自带程序。将DLL转换成IL语言文件。
具体路径是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ildasm.exe

3.ilasm.exe:

windows系统自带程序。将IL语言文件生成DLL。
具体路径是C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe

二、操作步骤

1.使用ILSpy打开DLL

在DLL中找到自己要修改的部分,如果找起来比较麻烦,可以在ILSpy中将DLL保存成源代码,然后在源代码中搜索关键字符进行定位。

2.使用ildasm.exe生成IL并修改

打开对应的DLL
然后如下图操作,选择Dump,点击OK选择路径保存。

保存后会生成如下两个文件

打开.il文件进行修改。

3.使用ilams.exe生成DLL

在Dos窗口中输入如下命令,即可生成新的DLL
c:\windows\microsoft.net\framework\v2.0.50727\ilasm.exe /dll/resource=1.res 1.il

三、注意

相信大家都注意到了上文路径中的加粗部分,这里代表的是版本号。
这里要着重说一下的是使用ilams.exe生成DLL的时候要选对版本,否则生成的版本不同可能会导致一些异常(在某些情况下)
那么怎么看原来DLL的版本号呢?
在上述第2步中,在ildasm软件中点击MANIFEST查看mscorlib的ver,即是原DLL版本号。
大家可以根据这个版本号在系统中寻找一个最接近的ilasm.exe来进行生成DLL操作。

[Unity-28] 反编译并修改DLL文件相关推荐

  1. 反编译C#的dll文件并修改,再重新生成dll

    1.把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于"C:\Program Files\Microsoft SDKs\Windows\v6.0A\ ...

  2. 游走Android系列之APK文件的反编译、修改和重新编译打包

    Android apk反编译.重新编译和签名 将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.dex文件中得到.class,再将.class处理 ...

  3. java jar反编译后保存_java根据jar包反编译后修改再打包回jar的做法

    1. 得到一个待要修改的jar包 2. 我的环境是windows,然后解压这个jar包,得到一堆class文件,这时候就找到你需要的那个class文件 3. 我首先是使用jd-gui工具看一下这个cl ...

  4. android修改dll文件,Android中dll文件的修改

    Android中dll文件的修改,最近下载了一款非常不错的益智类游戏,一打开,顶部还有广告,最讨厌游戏中还带广告的,点又点不掉,又怕误点,真的看了都烦...作为程序员,就有种想要把它干掉的想法,作为玩 ...

  5. Jar包反编译后修改源码再编译

    Jar包反编译后修改源码再编译 文章目录 Jar包反编译后修改源码再编译 1. 场景 2. 详细步骤 2.1 查看源码 2.2 生成源文件 2.3 构建项目 2.4 编译成jar包 3. 参考链接 1 ...

  6. 2020年 IOS 逆向 反编译 注入修改游戏或APP的调用参数新手系列教程——使用theos tweak 注入hook修改游戏执行代码上传动态头像

    2020年 IOS 逆向 反编译 注入修改游戏或APP的调用参数新手系列教程--使用theos tweak 注入hook修改游戏执行代码上传动态头像 开篇 需求&最终效果 环境要求与即将使用的 ...

  7. APK反编译后修改成功打包

    需求:apk需要改变一个常量,但是源码丢失 工具下载地址:http://download.csdn.net/download/intenttao/9953168 1.使用apktool反编译apk c ...

  8. Android反编译apk修改版本号重新打包签名详细教程(超详细)

    文章目录 一.反编译工具介绍 1:apktool 获取资源文件 2:dex2jar(源码文件获取) 3:jd-gui 查看APK中classes.dex转化成出的jar文件,即源码文件 二.apkto ...

  9. APK_android捕鱼达人修改方法(反编译、修改、打包)

    感谢ssgemail在 http://www.iteye.com/topic/1112018中提供的方法 涉及内容 apk反编译 代码修改 打包 重启签名 需要的工具 jdk:必须的 baksmali ...

最新文章

  1. 基于移动机器人的拣货系统研究进展
  2. 毒霸duba劫持首页的解决方案(实测有效)
  3. python调用接口requests_【python接口自动化】- 使用requests库发送http请求
  4. 7 centos 修改磁盘uuid_Centos7修改分区空间
  5. boost::hana::less用法的测试程序
  6. OpenCV、OpenCL、OpenGL、OpenPCL
  7. 第一套数字电子计算机,计算机试题第一套
  8. CentOS8 安装图形界面后,怎么转换为命令行界面
  9. 链表常见算法题总结(Java)
  10. python无限弹窗1.0
  11. svnadmin服务安装
  12. Java-根据经纬度计算距离
  13. Centos7 搭建 Socks 服务
  14. 个人关于PAT的认识心得和体会
  15. 使用docker搭建个人博客
  16. 核心对象激发状态的意义
  17. HTML5实现动态视频背景
  18. 互联网数据中心(Internet Data Center,IDC)
  19. oracle 导出身份证号_oracle 根据身份证号计算出生日期
  20. 直播报名 | Apache Kylin Meetup

热门文章

  1. 2021-Java面试题(03-29已更新)
  2. linux下编译zip,C++中ZipArchive压缩与解压的编译安装与使用
  3. VC++基于MFC的程序框架剖析(前言)
  4. Mac OS 需要更新才能使用这个启动磁盘的两种解决方法
  5. RSA密钥的生成与配置
  6. python123测试3平方根格式化_Python3常用系统函数帅哥定制版
  7. 将py文件打包为exe文件
  8. docker安装python依赖包
  9. tewa-500e 虚拟服务器,关于成都电信送的光纤猫设置 TEWA-500E
  10. 安装Office2010提示无法将数值写入注册表