前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# dll反编译(dll反编译破解)

C# dll反编译(dll反编译破解)

作者头像
全栈程序员站长
发布2022-07-28 17:44:14
4.2K0
发布2022-07-28 17:44:14
举报
文章被收录于专栏:全栈程序员必看

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

下面是修改IL文件然后重新生成DLL 的步骤,适用于dll文件没有源码,但是需要修改一点点的小改动

问:为啥不直接用dnspy进行修改? 答:我这边需要修改.net2.0上编译的一个库,用dnspy反编译后修改了代码,运行反倒有问题,因此怀疑通过dnspy修改库最后的编译环境和原有库的编译环境不一致,考虑到dnspy自身需要.net4.0以上环境才能运行,所以这里采用修改IL文件的方法

  1. 微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带了;安装不同的.net环境会有不同的版本,win10一般自带.net4.6版本,主要注意的是win10 安装.net2.0 和.net3.0 费劲,这两个版本的可以找个win7的虚拟机安装后查找
  1. 微软的工具ilasm.exe:这个是把IL文件重新生成DLL的功能;
  1. 利用dnspy 反编译看看dll的原代码是什么.net版本,也可以利用它进行源码分析,定位到要修改的位置
  1. 根据原dll的版本选择相应的ildasm.exe 和 ilasm.exe 工具, ildasm的使用

ilasm.exe的使用 先浏览到IL文件路径下,在cmd里输入下面命令 ilasm[或者为ilasm.exe的绝对路径] test.il /dll /resource:test.res /output:test.dll

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档