目录

前言

一、源码怎么导出?

二、资源文件处理

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 反编译过程相关推荐

  1. ILSpy可以反编译c语言,ILSpy反编译工具的使用

    本文导读:ILSpy反编译工具的使用.不过,ILspy需要在电脑上安装.NET Framework 4.0.ILspy可以将一个dll文件转换为C#或VB语言.ILspy对于单个文件可以保存为.cs文 ...

  2. ILSpy反编译工具的使用

    ILSpy反编译工具的使用 本文导读:ILSpy反编译工具的使用.不过,ILspy需要在电脑上安装.NET Framework 4.0.ILspy可以将一个dll文件转换为C#或VB语言.ILspy对 ...

  3. ILSpy反编译工具的介绍

    用途 ILspy是一个开源的.net反编译软件,使用十分方便. 开发原因 之所以开发ILspy是因为Red Gate宣布免费版的.NET Reflector(同样是反编译软件)将会在2011年2月停止 ...

  4. [C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程

    截图 下载地址 Reflector.NET反编译工具 v8.5绿色版+注册机 下载地址:http://pan.baidu.com/s/1mgN1Cpi 密码:mx19 简介 .NET Reflecto ...

  5. ILSpy反编译C#web程序

    ILSpy反编译web程序的前提是找一套非常接近需要反编译web程序的项目工程,这样做是为了反编译更快速些,如果没有接近的项目工程的话也可以是框架相似的,或者最坏的就是你什么都没有,只有发布完以后的程 ...

  6. ILSpy反编译工具

    ILSpy反编译工具的下载地址: http://wiki.sharpdevelop.net/ilspy.ashx ILSpy反编译工具的使用教程: http://wenku.baidu.com/vie ...

  7. 记录一次python3.7反编译过程

    记录一次python3.7反编译过程 1.将exe文件转换成pyc文件 2.修复pyc文件 3.如何得到magic number 4.添加magic number 5.反编译pyc文件 找到了一个py ...

  8. 使用Reflector.FileDisassembler反编译DLL

    转自http://www.cnblogs.com/wuliangbo Reflector for .NET 下载地址:http://www.aisto.com/roeder/dotnet/ Refle ...

  9. 将exe4j打包的java exe程序反编译过程

    开始,我用了http://blog.csdn.net/lanximu/article/details/16879545的方法,但十六进制文件看着有乱码,试着截了几次进行压缩,但都不对,不管是用ultr ...

  10. 新生替代Reflector的反编译软件ILSpy

    做个记号 http://wiki.sharpdevelop.net/ilspy.ashx Reflector 7以后收费了,中文支持还不好 转载于:https://www.cnblogs.com/ja ...

最新文章

  1. js弹性运动滑动的菜单
  2. 将十六进制的字符串转化为UIImage
  3. centos7 django mysql_CentOS7操作系统下快速安装MySQL5.7
  4. 第三次学JAVA再学不好就吃翔(part63)--String和int的相互转换
  5. Python 之父再度发声:我们能为中国的“996”程序员做什么?
  6. Redis哈希表总结
  7. HP DL360 G6 升级BIOS
  8. mysql execute stmt_mysql_stmt_execute()
  9. 服务器被ddos攻击?分析如何防止DDOS攻击?
  10. 如何关注速卖通的一举一动
  11. Ubuntu12.04 安装Skype
  12. php手机上日程管理软件,手机日程管理软件哪款好用?5款日程管理软件推荐
  13. 3D打印:FDM打印使用CURA4.13.1版本配置
  14. 关于STM32G系列MCU芯片烧录挂掉解决方法
  15. 超完整的Chrome浏览器客户端调试大全
  16. 2022联想创新科技大会--科技赋能教育数字化转型
  17. HIT CSAPP LAB4
  18. Django 框架全面讲解
  19. 2022-2027年中国大枣及深加工行业发展监测及投资战略研究报告
  20. 21哈工程计算机考研经验贴

热门文章

  1. cad插件_CAD插件燕秀工具箱2.81
  2. 数学史思维导图_思维导图话科学史:图说数学
  3. 视频监控行业常用的几种分辨率(CIF/QCIF/DCIF/D1/HALF D1)对比解释
  4. 华为交换机命令 端口速率_华为交换机看端口速率
  5. matlab晶闸管整流电路,三相桥式全控整流电路 MATLAB/SIMULINK电力电子电路仿真
  6. 数据结构课程设计:运动会分数统计
  7. 初学“深入浅出MFC”之(一)
  8. 2020年百度之星程序设计大赛-初赛一(Drink、GPA、Dec)
  9. 虚拟机装xp 架设服务器,VMware安装虚拟机系统ghost xp sp3步骤图解
  10. VirtualBox安装及使用说明和虚拟机安装XP系统图文教程