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
    

    在这里插入图片描述

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • springboot引用自定义属性

    springboot引用自定义属性

  • 位运算符的用法右移_位运算左移右移实例

    位运算符的用法右移_位运算左移右移实例前言:位运算符是用来对二进制位进行操作的c语言中有6种位运算符:&按位与|按位或^按位异或~取反<<左移>>右移本篇文章我们只讲左移和右移运算符,其他的会陆续在其他篇讲述左移:右移:总结:code:#include<iostream>intmain(){ autoi=11; //2进…

  • 常用的分布式事务解决方案有哪些_分布式事务redis解决方案

    常用的分布式事务解决方案有哪些_分布式事务redis解决方案首页 博客 专栏·视频 下载 论坛 问答 代码 直播 能力认证 高校会员中心收藏动态消息创作中心常用的分布式事务解决方案凌澜星空2018-03-1114:44:5575315收藏466分类专栏:架构高性能网站微服务项目实战文章标签:微服务分布式架构事务一致性版权众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的…

    2022年10月26日
  • 画平行线的步骤口诀_长轴的简化画法

    画平行线的步骤口诀_长轴的简化画法平行线的判定方法是初中数学必须要掌握的知识,但有些同学不太熟悉平行线的判定方法,总会出现丢分的现象,我们一起来看一下常用的平行线的判定方法。(1)平行线的定义法在同一平面内,不相交的两条直线叫做平行线。直线a与b平行,则a∥b(2)平行线的传递性如果两条直线都与第三条直线平行,那么这两条直线也互相平行。也就是说:如果b∥a,c∥a,那么b∥c例题:如图,直线a∥b,b∥c,c∥d,那么a∥d吗?…

  • python中的set(),zip()以及map()函数

    python中的set(),zip()以及map()函数set、zip和map函数均为python的内置函数。(1)set()用法:set(interable)用来创建一个无序不重复元素的集合。可以对其进行集合的一系列操作,例如求差集、并集和补集,利

  • 缺陷报告的案例_设计缺陷案例

    缺陷报告的案例_设计缺陷案例

发表回复

您的电子邮箱地址不会被公开。

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