.dll反编译(反编译什么意思)

需求:有些Dll文件我们找不到源码,只有编译后的dll,但是我们想要改某个字段或者连接字符串,并不需要动太多业务逻辑的情况下,我们可以这样干。1.打开微软提供的反编译工具ildasm.exe这个工具是windows自带的反编译工具。路径:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v10.0A\bin\NETFX4.6.2Tools可以根据需要,选择对应工具版本。一般随便选一个版本都是可以的了。比如,我选择的是4.6…

大家好,又见面了,我是你们的朋友全栈君。

需求:有些Dll文件我们找不到源码,只有编译后的dll,但是我们想要改某个字段或者连接字符串,并不需要动太多业务逻辑的情况下,我们可以这样干。

1.打开微软提供的反编译工具ildasm.exe

   这个工具是windows自带的反编译工具。

路径:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools

.dll反编译(反编译什么意思) 

 

 可以根据需要,选择对应工具版本。一般随便选一个版本都是可以的了。

比如,我选择的是4.6.2版本的工具 

.dll反编译(反编译什么意思)

 

2.把需要反编译的dll,放在桌面的一个新建文件夹中。

3.使用ildasm.exe打开该dll。

  例如,我打开的是一个YG2的dll。然后选中YG2的dll

.dll反编译(反编译什么意思)

 

 点击File->dump,弹出如下界面 ,点击OK

.dll反编译(反编译什么意思)

 

 选择文件夹,填写文件名,文件名要跟原来的dll同名。

.dll反编译(反编译什么意思)

 

 点击保存。就会生成.il和res两个资源文件

.dll反编译(反编译什么意思)

 

 4.使用记事本打开.il,使用查找功能,定位到要修改的内容处。

5.修改完成后,点保存。

6.最后一步,把刚刚修改.il文件,重新生成新的dll。

  这个也需要使用软件提供的一个工具 ilasm.exe 

路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319

.dll反编译(反编译什么意思)

 

 7.在桌面打开已经修改好内容的.il 文件所在的文件夹

.dll反编译(反编译什么意思)

 

 8.选中上面路径

.dll反编译(反编译什么意思)

 

9.输入CMD,回车。

.dll反编译(反编译什么意思)

 

 10.这样可以快速使用cmd命令进入该文件夹
.dll反编译(反编译什么意思)

 

 11.输入以下命令:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilam.exe /dll/resourece=YG2.res YG2.il

   后面的YG2.res YG2.il是保存文件的时候,起的文件名。

.dll反编译(反编译什么意思)

 

 12.回车,如果显示不是内部命令,这个是少了权限。需要使用管理员的命令运行CMD,然后再重新使用 命令cd 路径 进入该文件夹。

.dll反编译(反编译什么意思) 

 13.例如,要windows左下角,输入cmd,选中cmd,右键,使用管理员命令打开

.dll反编译(反编译什么意思)

 

14.使用,我的文件夹在C盘,使用cd使用C盘根目录

.dll反编译(反编译什么意思) 

 15.使用最笨的方法,进入该文件夹
.dll反编译(反编译什么意思) 

 16.再输入以下命令,发现在还是不行,突然发现命令写错了。太粗心了。

.dll反编译(反编译什么意思)

 17.回车之后,一般都生成新的dll在该文件夹下了。但是如果显示这样的,Could not open YG2.il

.dll反编译(反编译什么意思)

 那就非常遗憾,生成失败了。如果能跟到这里,你们知道干开发是需要非常细心的,你看,我就犯了最低级的错误,目录下面其实是YG1.il,写成了YG2.il。资源英文还写错了。可见这英文水平…

 .dll反编译(反编译什么意思)

 18.接下面修正后,再次回车。显示成功了,对吧。

.dll反编译(反编译什么意思)

19.目录下面生成新的dll了。如果还不放心是否修改了内容。可以再使用反编译软件,查找是否有新修改的内容了。

.dll反编译(反编译什么意思) 

 20.搞了好多乌龙,这个就是一边操作,一边记录写的文章。原汁原味的找问题过程。如有其他问题,请各位C友留言。

 文章参考:https://blog.csdn.net/lyflcear/article/details/8102057

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128615.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信本地数据库解密

    微信本地数据库解密微信本地数据库解密(安卓)微信的本地数据库EnMicroMsg.db存储在/data/data/com.tencent.mm/MicroMsg/(一长串)/中uin存储在/data/data/com.tencent.mm/shared_prefs/com.tencent.mm_preferences.xml(或auth_hold_prefs.xml)中,IMEI存储在/data/data/…

    2022年6月1日
    32
  • Snapde一个全新的CSV超大文件编辑软件

    Snapde一个全新的CSV超大文件编辑软件今天介绍如果数据量超过104万行Excel无法打开了,用什么软件可以打开呢?Snapde,一个专门为编辑超大型数据量CSV文件而设计的单机版电子表格软件;它在C++语言开发的Snapman多人协作电子

    2022年7月1日
    23
  • java dom4j 查找_Java使用dom4j查询xml元素

    java dom4j 查找_Java使用dom4j查询xml元素1.Java使用dom4j查询xml元素:1.1book.xml文件如下:a1疯狂Java讲义(附光盘)李刚编著74.20java.jpg总结了几百个Java学员学习过程中的典型错误.]]>a2轻量级JavaEE企业应用实战李刚编著59.20ee.jpg本书主要介绍以Spring+Hibernate为基础的JavaEE应用.2.使用dom4j查询xml元素:创建一个TestPath类…

    2022年7月14日
    13
  • 怎么画等距线_十字线画法

    怎么画等距线_十字线画法 等距线的画法本文作者徐庆荣(武汉大学) 等距线画法可分为栅格(光栅)方式和矢量方式二种。栅格方式一般采用“距离变换”等算子实现,算法简练,但在不同方向上的等距线可能不严格等距。矢量方式是按几何关系通过坐标计算获得等距线位置,算法复杂,但精度高。本文介绍的是矢量方式的等距线画法。1.      概述简言之,等距线是指与已知线条(折线或曲线)等距的线条。等距线的应用甚广,例如

    2022年9月2日
    3
  • Spring集成MyBaties中sqlSessionFactory的创建[通俗易懂]

    Spring集成MyBaties中sqlSessionFactory的创建[通俗易懂]Spring的核心思想就是IOC(InversionOfControl),中文意思就是控制反转,将创建对象的任务交由工厂来处理,同时还可以管理类与类之间的关系,从而提出了依赖注入的概念。先来了解对象的分类:1.简单对象:可以通过new的方式创建的对象,例如UserServiceImle、User类等2.复杂对象:不能通过new的方式创建的对象,例如sqlSessionFact…

    2022年5月18日
    36
  • Python游戏编程(Pygame)

    Python游戏编程(Pygame)安装PygamepipinstallpygameC:\Users>pipinstallpygameCollectingpygameDownloadinghttps://files.pythonhosted.org/packages/3e/f5/feabd88a2856ec86166a897b62…

    2022年6月21日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号