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

下面是修改IL文件然后重新生成DLL的步骤,适用于dll文件没有源码,但是需要修改一点点的小改动问:为啥不直接用dnspy进行修改?答:我这边需要修改.net2.0上编译的一个库,用dnspy反编译后修改了代码,,运行反倒有问题,因此怀疑通过dnspy修改库最后的编译环境和原有库的编译环境不一致,考虑到dnspy自身需要.net4.0以上环境才能运行,所以这里采用修改IL文件的方法…

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

下面是修改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的虚拟机安装后查找
    在这里插入图片描述

  2. 微软的工具ilasm.exe:这个是把IL文件重新生成DLL的功能;
    在这里插入图片描述

  3. 利用dnspy 反编译看看dll的原代码是什么.net版本,也可以利用它进行源码分析,定位到要修改的位置
    在这里插入图片描述

  4. 根据原dll的版本选择相应的ildasm.exe 和 ilasm.exe 工具,
    ildasm的使用
    在这里插入图片描述
    ilasm.exe的使用
    先浏览到IL文件路径下,在cmd里输入下面命令

    ilasm[或者为ilasm.exe的绝对路径] test.il /dll /resource:test.res /output:test.dll
    

    在这里插入图片描述

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

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

(0)
上一篇 2022年4月12日 下午1:20
下一篇 2022年4月12日 下午1:20


相关推荐

  • html dl dt dd标签元素语法结构与使用

    html dl dt dd标签元素语法结构与使用

    2021年9月21日
    58
  • c++入门教程–-13数组

    c++入门教程–-13数组

    2021年3月12日
    140
  • C的Invoke与BeginInvoke区别

    C的Invoke与BeginInvoke区别分析 浅谈 C 中 Control 的 Invoke 与 BeginInvoke 在主副线程中的执行顺序和区别 SamWang 今天无意中看到有关 Invoke 和 BeginInvoke 的一些资料 不太清楚它们之间的区别 所以花了点时间研究了下 据 msdn 中介绍 它们最大的区别就是 BeginInvoke 属于异步执行的 Control Invoke 方法 Delegate 在拥有此控件的基

    2026年3月19日
    2
  • order by,sort by,distribute by,cluster by的区别是什么?

    order by,sort by,distribute by,cluster by的区别是什么?前言本文隶属于专栏 1000 个问题搞定大数据技术体系 该专栏为笔者原创 引用请注明来源 不足和错误之处请在评论区帮忙指出 谢谢 本专栏目录结构和参考文献请见 1000 个问题搞定大数据技术体系正文 1 orderby 会对所给的全部数据进行全局排序 不管来多少数据 都只启动一个 reducer 来处理 2 sortby 是局部排序 sortby 会根据数据量的大小启动一到多个 reducer 来干活 并且 它会在进入 reduce 之前为每个 reducer 都产生一个排序文件 3 d

    2026年3月18日
    3
  • 软件工程期末考试题库(超全)[通俗易懂]

    软件工程期末考试题库(超全)[通俗易懂]软件工程期末考试题库选择题具有风险分析的软件生命周期模型是(  C   )。A.瀑布模型      B.喷泉模型  C.螺旋模型        D.增量模型软件工程的基本要素包括方法、工具和(A)。A. 过程        B. 软件系统   C. 硬件环境         D. 人员软件的复杂性是( A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A. 固有的         B. 人为的   C. 可消除的         D. 不可降低的在结

    2022年5月5日
    57
  • Java8 基本类型数组转换为List[通俗易懂]

    Java8 基本类型数组转换为List[通俗易懂]Java8种基本类型(byte/short/int/long/float/double/char/boolean)的数组(byte[]/short[]/int[]/long[]/float[]/double[]/char[]/boolean[])不能直接通过Arrays.asList方法转换为List,因为List的元素必须是包装类。在Java8之前,想要实现这种转换只能通过循环,Java8提供…

    2022年8月23日
    22

发表回复

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

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