.NET Reflector + ILSpy 反编译过程
目录
前言
一、源码怎么导出?
二、资源文件处理
1.使用Resgen做文件转换
2.使用ILSPy导出的资源文件
三、引用的处理
1. 外部引用
2.框架引用
四、错误处理
五、遍历问题
六、app.config
七、创建窗体Designer文件
1.创建designer文件
2.删除代码
3.控件加上命名控件
4.报错处理:
System.ComponentModel.ComponentResourceManager manager未声明或从未赋值。
总结
前言
最近开始一个窗体项目的反编译任务。使用了.NET Reflector 10 和ILSPy 两个软件进行反编译。而后合并两个软件的导出的源码。
下面整理两个软件的源码导出 以及导出后代码问题的处理。
一、源码怎么导出?
Reflector
项目右键,Export Source Code(导出源码)
导出的源码结构如下,导出的项目按命名空间一层建一个文件夹
ILSpy:
对比两个软件导出的源码,我这里使用的是.NET Reflector 导出的源码。
选择源码目录下的.csproj文件,使用VS 2019 打开 。接下来针对源码问题进行处理。
二、资源文件处理
Reflector :资源文件是.resources(二进制)的格式。
1.使用Resgen做文件转换
可以使用微软的Resgen.exe(通用资源转换实用工具)将.resources(二进制)文件转成.resx文件(XML)
具体方法见:
Resgen.exe(资源文件生成器) - .NET Framework | Microsoft Docs
资源文件在最外层,转成.resx文件后,需要移动到对应的窗体目录下。
2.使用ILSPy导出的资源文件
ILSPy: 代码保存后,无需转换资源文件。直接将文件移动到对应目录下。
处理完后,使用记事本的方式打开.csproj文件,将EmbeddedResource节点下的.resources内嵌资源删除。
或者打开项目,把这些资源文件从项目中移除,然后将.res文件分别包括到项目中。
三、引用的处理
1. 外部引用
Reflector导出的源码,引用是失效的。 需要重新引用
2.框架引用
System. 这种引用失效,可能是框架版本太低,不支持。修改下就好了。
我这边的项目是net 2.0 。修改成net 4.0 就可以了
四、错误处理
“global::System.Runtime.Versioning.TargetFrameworkAttribute”特性重复
把报错这一句删除
五、遍历问题
错误信息1:无法在此范围中声明名为“item”的局部变量或参数,因为该名称在封闭局部范围中用于定义局部变量或参数
将item这个别名修改成其他的就可以了
错误信息2:“IEnumerator”: using 语句中使用的类型必须可隐式转换为“System.IDisposable”
一个类中可能会有多个遍历。从ILSPy导出的源码中找到对应的类,直接拷贝过来替换报错的类就OK了。
六、app.config
Reflector导出的源码 ,app.config是空的。
ILSpy 里有完整的配置信息。
因此这里也是从ILSPy导出的源码拷贝过来替换
七、创建窗体Designer文件
1.创建designer文件
在项目目录下,复制一个.cs 窗体文件 ,名字修改为 窗体名.Designer.cs
2.删除代码
打开项目,将Deigner文件包含在项目中。 保留控件声明 还有 Dispose、 InitializeComponent() 方法。删除 : Form 窗体继承 、窗体加载事件、控件事件 以及其他业务处理方法。删除using 、
将类的修饰符修改为partial
在.cs文件里 和上面做相反的操作,在public 之后加上partial
3.控件加上命名控件
将 鼠标移动到 报错的地方,点击显示可能的修补程序。就可以看到该控件在哪个命名空间之下。
修改后为
4.报错处理:
System.ComponentModel.ComponentResourceManagermanager未声明或从未赋值。
查看窗体设计器时,System.ComponentModel.ComponentResourceManagermanager未声明或从未赋值。
处理方法:将 类名manager 修改为 resources
总结
1.反编译后的源码调整 可以参照有源码的窗体项目进行对比,然后进行修改。
2.目前项目可以调试起来正常登录,代码和源代码还是会有一些出入的,但在没源码的情况下,只能根据这个项目来了 ,后续有其他问题再继续记录~
.NET Reflector + ILSpy 反编译过程相关推荐
- ILSpy可以反编译c语言,ILSpy反编译工具的使用
本文导读:ILSpy反编译工具的使用.不过,ILspy需要在电脑上安装.NET Framework 4.0.ILspy可以将一个dll文件转换为C#或VB语言.ILspy对于单个文件可以保存为.cs文 ...
- ILSpy反编译工具的使用
ILSpy反编译工具的使用 本文导读:ILSpy反编译工具的使用.不过,ILspy需要在电脑上安装.NET Framework 4.0.ILspy可以将一个dll文件转换为C#或VB语言.ILspy对 ...
- ILSpy反编译工具的介绍
用途 ILspy是一个开源的.net反编译软件,使用十分方便. 开发原因 之所以开发ILspy是因为Red Gate宣布免费版的.NET Reflector(同样是反编译软件)将会在2011年2月停止 ...
- [C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程
截图 下载地址 Reflector.NET反编译工具 v8.5绿色版+注册机 下载地址:http://pan.baidu.com/s/1mgN1Cpi 密码:mx19 简介 .NET Reflecto ...
- ILSpy反编译C#web程序
ILSpy反编译web程序的前提是找一套非常接近需要反编译web程序的项目工程,这样做是为了反编译更快速些,如果没有接近的项目工程的话也可以是框架相似的,或者最坏的就是你什么都没有,只有发布完以后的程 ...
- ILSpy反编译工具
ILSpy反编译工具的下载地址: http://wiki.sharpdevelop.net/ilspy.ashx ILSpy反编译工具的使用教程: http://wenku.baidu.com/vie ...
- 记录一次python3.7反编译过程
记录一次python3.7反编译过程 1.将exe文件转换成pyc文件 2.修复pyc文件 3.如何得到magic number 4.添加magic number 5.反编译pyc文件 找到了一个py ...
- 使用Reflector.FileDisassembler反编译DLL
转自http://www.cnblogs.com/wuliangbo Reflector for .NET 下载地址:http://www.aisto.com/roeder/dotnet/ Refle ...
- 将exe4j打包的java exe程序反编译过程
开始,我用了http://blog.csdn.net/lanximu/article/details/16879545的方法,但十六进制文件看着有乱码,试着截了几次进行压缩,但都不对,不管是用ultr ...
- 新生替代Reflector的反编译软件ILSpy
做个记号 http://wiki.sharpdevelop.net/ilspy.ashx Reflector 7以后收费了,中文支持还不好 转载于:https://www.cnblogs.com/ja ...
最新文章
- js弹性运动滑动的菜单
- 将十六进制的字符串转化为UIImage
- centos7 django mysql_CentOS7操作系统下快速安装MySQL5.7
- 第三次学JAVA再学不好就吃翔(part63)--String和int的相互转换
- Python 之父再度发声:我们能为中国的“996”程序员做什么?
- Redis哈希表总结
- HP DL360 G6 升级BIOS
- mysql execute stmt_mysql_stmt_execute()
- 服务器被ddos攻击?分析如何防止DDOS攻击?
- 如何关注速卖通的一举一动
- Ubuntu12.04 安装Skype
- php手机上日程管理软件,手机日程管理软件哪款好用?5款日程管理软件推荐
- 3D打印:FDM打印使用CURA4.13.1版本配置
- 关于STM32G系列MCU芯片烧录挂掉解决方法
- 超完整的Chrome浏览器客户端调试大全
- 2022联想创新科技大会--科技赋能教育数字化转型
- HIT CSAPP LAB4
- Django 框架全面讲解
- 2022-2027年中国大枣及深加工行业发展监测及投资战略研究报告
- 21哈工程计算机考研经验贴
热门文章
- cad插件_CAD插件燕秀工具箱2.81
- 数学史思维导图_思维导图话科学史:图说数学
- 视频监控行业常用的几种分辨率(CIF/QCIF/DCIF/D1/HALF D1)对比解释
- 华为交换机命令 端口速率_华为交换机看端口速率
- matlab晶闸管整流电路,三相桥式全控整流电路 MATLAB/SIMULINK电力电子电路仿真
- 数据结构课程设计:运动会分数统计
- 初学“深入浅出MFC”之(一)
- 2020年百度之星程序设计大赛-初赛一(Drink、GPA、Dec)
- 虚拟机装xp 架设服务器,VMware安装虚拟机系统ghost xp sp3步骤图解
- VirtualBox安装及使用说明和虚拟机安装XP系统图文教程