问题描述

我们在日常开发中经常会遇到,想要对dll文件做修改的操作,但苦于没有源代码,只能想想其他办法

解决问题

办法就是通过几个工具来反编译、正向编译、修改属性

反编译、正编译

参考https://wenku.baidu.com/view/5cf650cfe309581b6bd97f19227916888486b986.html

开始反编译:

找到工具ildasm.exe

位置:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe

双击ildasm.exe

将你需要反编译的dll拉到这个ildasm界面-》file-》Dump-》勾选全部-》选择指定文件夹-》导出核心文件il文件、res文件

一般你只需修改il文件即可,比如你要修改dll中引用的dll版本,就很好修改了,直接替换即可,如果你要修改的内容多,就要学习下il语法了

开始正编译

找到工具ilasm.exe

位置:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe

打开命令窗口执行:

ilasm.exe /dll/resource=res文件路径 il文件路径

之后dll就会生成到res il所在文件夹

修改dll属性

有时候你会发现就算你都修改了dll也生成回来,但还是不能用,可能就是你的dll属性在反编译时候被清空了,需要通过工具重新指定回来

参考:https://blog.csdn.net/segen_jaa/article/details/108421964

下载工具:rcedit.exe

##修改文件说明

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-version-string FileDescription "我的文件"

##修改文件版本

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-file-version "2.0.0.0"

##修改产品名称

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-version-string ProductName "我的产品"

##修改产品版本

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-product-version "2.0.0.0"

##修改版权

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-version-string LegalCopyright "我的版权"

##修改商标

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-version-string LegalTrademarks "我的商标"

##修改名称

"G:\gitroot\rcedit\Default\rcedit.exe" "G:\worktemp\20200905\test.dll" --set-version-string OriginalFilename "原始名称"

至此反编译操作完成

祝你顺利!!!!!

dll反编译(修改引用文件、修改代码)再生成dll的更多相关文章

  1. 反编译工具 使用.NET JustDecompile来反编译你的程序代码

    原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...

  2. 使用.NET JustDecompile来反编译你的程序代码

    前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序,由于因为是别人写的所以我们并没有原始码可以直接阅读,碰到这种情况我们就需要去反编译这些程序及 DLL ...

  3. Android Studio 动态调试 apk 反编译出的 smali 代码

    在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...

  4. ILSpy,DLL反编译工具,学习与了解原理的好帮手

    你是否一直苦于找到了好的dll却只知道怎么使用而不知道其原理. 你是否在使用一个dll的时候发现它在一些参数时报错了却没法解决. 你是否想成为一个优秀的.net开发,成为一个优秀的系统制造者. 那你需 ...

  5. apk反编译、smali修改、回编译笔记

    最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...

  6. dll反编译工具总结

    有好多.net程序有加密狗或者有验证,如果exe或dll没有做过特殊处理,破解.net程序其实很简单,不过你要有足够的耐心! 我只做个简单的小例子,把公司的软件破解了,不要被老大知道,吼吼~~~~ 1 ...

  7. .net dll反编译出现的问题,以及部分修复的方法

    常用.net反编译工具 1.Reflector 9.0.2 2.JustDecompile2015.3.928.0j 3.ILSpy 4.CS资源文件批量转换工具 base.AutoScaleMode ...

  8. [转]dll反编译工具(ILSpy)的使用

    软件地址: 链接:https://pan.baidu.com/s/1YunJ3MAuNisGtl8YYzr4hw 密码:ejx8 工具使方法 1.将压缩文件进行解压,打开exe文件. 2.打开后,选择 ...

  9. OAF_开发系列28_实现OAF中反编译获取class包代码JD Compiler(案例)

    20150730 Created By BaoXinjian

随机推荐

  1. Qt:QTextStream

    0.说明 QTextStream提供了读写文本文件的接口. QTextStream可以操作QIODevice,  QByteArray 和 QString,调用QTextStream的流操作可以方便的 ...

  2. 发现Spring事务的一个实锤bug,官方还拒不承认?你来评评理...

    你好呀,我是歪歪. 事情是这样的,上周我正在全神贯注的摸鱼,然后有个小伙伴给我发来微信消息,提出了自己关于事务的一个疑问,并配上两段代码: 先说结论:我认为这是 Spring 事务的一个 bug.但是 ...

  3. 树莓派4B安装 百度飞桨paddlelite 做视频检测 (一、环境安装)

    前言: 当前准备重新在树莓派4B8G 上面搭载训练模型进行识别检测,训练采用了百度飞桨的PaddleX再也不用为训练部署环境各种报错发愁了,推荐大家使用. 关于在树莓派4B上面paddlelite的文 ...

  4. react的”Hello World !“

    本文主要简述react的开始使用 1.引入js文件 <!-- 1.核心文件 --> <script crossorigin src="https://unpkg.com/r ...

  5. application.properties文件常用配置

    项目一直在用properties文件写配置,因为配置不是自己来写所以也从来没有研究过各个配置的含义,所以对很多配置也是一知半解,只是知道可以这样用,但是不知道为什么能这样用.自己抽空找了一下资料做个记 ...

  6. js格式化树形数据(扁平化数据)

    需求: 1.把如下数据按照parent_id等于id的规则建立父子关系 2.同一层级的数组按照order升序 [ { "id": 1, "name": &quo ...

  7. Java编程学习笔记(基础篇)

    一.Java中的数据类型 1.基本数据类型:四类 八种 byte(1) boolean(1) short(2) char(2) int(4) float(4) long(8) double(8) 2. ...

  8. 02 基础 卸载JDK 安装JDK Java程序运行机制

    基础 JDK:Java Development Kit(Java开发者工具 包含JRE和JVM) JRE:Java Runtime Environment(java运行时环境,包含JVM) JVM:J ...

  9. HCIE数据挖掘笔记-005数据挖掘专业名词

    数据对象和属性类别: 数据一般有噪声,数量庞大,且来自不同的数据源 数据集由数据对象组成,一个数据对象代表一个实体 数据对象:样本.实例.数据点.对象 数据对象以数据元组的形式存放在数据库中,数据库的 ...

  10. ybt1184:明明的随机数

    [题目描述] 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数 ...