问题描述

我们在日常开发中经常会遇到,想要对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. Python:GUI库tkinter(二)

    学习自: Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) - 洪卫 - 博客园 Tkinter简明教程 - 知乎 TkDocs_官方文档 一个Tkinter库较为全面的总结,很 ...

  2. python post请求中Content-Typ为application/x-www-form-urlencoded; charset=UTF-8 解决方案

    # -*- coding: utf-8 -*- import requests import json from urllib import parse import quotes def GtgLo ...

  3. 使用resize浏览器窗口大小改变事件容易出现的问题

    1.使用jQuery的resize时间的时候发现每次改变浏览器窗口大小事resize事件会执行两次, 解决办法 var resizeTimer=null; $(window).resize(funct ...

  4. MySQL-常用的几种修改密码方法

    在MySQL中一般常规的给用户修改密码可以用到以下几种方法: 1.使用 mysqladmin命令修改密码 1 mysqladmin -u username -p password "newP ...

  5. Jmeter--由PV估算tps和最大并发数

    需求 "假设一个系统的业务有登录.浏览帖子.发送新贴.回复帖子,访问高峰是上午10点,日访问高峰PV约5208(含登录1300.浏览2706.发帖526.回帖676).系统响应时间要求小于3 ...

  6. 通过媒体查询来实现 WPF 响应式设计

    WPF 客户端经常需要运行在各种不同大小屏幕下,为了显示友好,所以开发的时候都需要考虑响应式设计. 布局往往通过指定比例,而不直接指定准确的大小来实现响应式布局(如 Width="3*&qu ...

  7. Yaconf-配置管理扩展

    1.下载yaconf安装包git clone https://github.com/laruence/yaconf.git2.目录切换至yaconf,编译生成so 文件(找到你的phpize位置) / ...

  8. vue轻量进度条

    **### vue------ mode 好玩东西+1: 轻量级进度条: 1.引入 import NProgress from 'nprogress'; // progress bar import ...

  9. JDK ThreadLocal解析

    Java ThreadLocal解析 ThreadLocal 线程本地变量, 线程私有, 在 Thread 类中用 ThreadLocal.ThreadLocalMap threadLocals 以数 ...

  10. MariaDB开启日志审计功能

    对于MySQL.Percona.MariaDB三家都有自己的审计插件,但是MySQL的审计插件是只有企业版才有的,同时也有很多第三方的的MySQL的审计插件,而Percona和MariaDB都是GPL ...