dll反编译(修改引用文件、修改代码)再生成dll
问题描述
我们在日常开发中经常会遇到,想要对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的更多相关文章
- 反编译工具 使用.NET JustDecompile来反编译你的程序代码
原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...
- 使用.NET JustDecompile来反编译你的程序代码
前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序,由于因为是别人写的所以我们并没有原始码可以直接阅读,碰到这种情况我们就需要去反编译这些程序及 DLL ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- ILSpy,DLL反编译工具,学习与了解原理的好帮手
你是否一直苦于找到了好的dll却只知道怎么使用而不知道其原理. 你是否在使用一个dll的时候发现它在一些参数时报错了却没法解决. 你是否想成为一个优秀的.net开发,成为一个优秀的系统制造者. 那你需 ...
- apk反编译、smali修改、回编译笔记
最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...
- dll反编译工具总结
有好多.net程序有加密狗或者有验证,如果exe或dll没有做过特殊处理,破解.net程序其实很简单,不过你要有足够的耐心! 我只做个简单的小例子,把公司的软件破解了,不要被老大知道,吼吼~~~~ 1 ...
- .net dll反编译出现的问题,以及部分修复的方法
常用.net反编译工具 1.Reflector 9.0.2 2.JustDecompile2015.3.928.0j 3.ILSpy 4.CS资源文件批量转换工具 base.AutoScaleMode ...
- [转]dll反编译工具(ILSpy)的使用
软件地址: 链接:https://pan.baidu.com/s/1YunJ3MAuNisGtl8YYzr4hw 密码:ejx8 工具使方法 1.将压缩文件进行解压,打开exe文件. 2.打开后,选择 ...
- OAF_开发系列28_实现OAF中反编译获取class包代码JD Compiler(案例)
20150730 Created By BaoXinjian
随机推荐
- Java基础--Eclipse关联Java源码
打开Eclipse,Window->Preferences->Java 点Edit按钮后弹出: 点Source Attachment后弹出: 选择Java安装路径下的src.zip文件即可 ...
- Java:代码改进技巧
1.类名首字母大写:方法名首字母小写:常量名全大写: 2.当控制语句只有一句时,可以省略大括号{}:但是,建议任何时候都保留大括号,因为这是Java语句块的标志 3.用某个接口承接实现类时(多态),之 ...
- php常见的危险函数
代码执行的危险函数 eval() 把字符串作为php代码执行 早期php一句话木马都用这个 <?php @eval($_POST['shell']);?> assert() 检查一个断言是 ...
- ElasticSearch集成SpringBoot与常见使用方法
目录 一.导包 二.核对导入的ES版本 修改导入版本 三.写配置类 四.开始测试 索引操作 1.创建索引 2.查看索引是否存在 3.删除索引 文档操作 1.添加文档 2.查看文档是否存在 3.修改文档 ...
- Java学习笔记:03面向对象-接口_多态
1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...
- LGP5664题解
厉害. 对于每一列选的数最多占一半,我们得设计一个三维 DP.然而状态刚好够,但是转移明显炸了(而且似乎还需要多项式?) 考虑正难则反,DP 不合法的方案数.总方案数很好算. 发现不合法的方案数只有某 ...
- CF498B题解
咋黑色啊,这不是看到数据范围就去想 \(O(nT)\) 的做法吗? 然后仔细想想最靠谱的就是 DP. 设 \(dp[n][T]\) 表示听完第 \(n\) 首歌,总共听了 \(T\) 秒. 很明显有 ...
- hive 操作
show databases ;use default;show tables ;create table student(id int, name string) ROW FORMAT DELIMI ...
- python3生成10个成绩列表,求其平均分
import random alist = [random.randint(45,101) for _ in range(10)] #在[45.101)之间生成10个随机数 print(alist) ...
- Arch Linux 安装 Anbox
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 Anbox 介绍 Anbox 是一个可以在 GNU/Linux 发行版上运行 Android App 的容器,是一个开源兼容层. 其工作原理是在 ...