Winform工程,反编译后,虽然能用,但不太好用。

因为form并没有像原生的那样。

所以,需要几个步聚:

1。 用ResGen工具,把二进制资源文件还原为xml格式:

ResGen fromXX.resource fromxx.resx

然后引入工程中。

可以,现在资源文件,还是散放在那里,没有与form在一块。

2。把fromXX的代码,一分为二,分成fromxx.cs和fromxx.Designer.cs

这个简单,只需要把formxx.cs做一个复制,然后把复制的这个改成fromxx.Designer.cs

然后,有点难度的就来的。

1) 修改vsproj文件,

    < Compile Include= "FormXX.cs ">
      < SubType> Form</ SubType>
    </ Compile>
    < Compile Include= "FormXX.Designer.cs ">
      < DependentUpon >FormXX.cs </DependentUpon >
    </ Compile>
    < EmbeddedResource Include= "SU.resx ">
      < DependentUpon >FormXX.cs </DependentUpon >
    </ EmbeddedResource>

2) 两个文件的类前面都加上partial关键字
3) designer.cs中,只留下定义和InitializeComponent
4) 其它的在from中。

3. 编译过。
4。这里,我们还是不能使用窗体编辑器,还需要过几关:
1) designer.cs把头部的所有的import都要去除,一个诀窍是一个一个去除,去除一个namespace,则所有的引用,都需要用全名称方式,如:
Lable 要换成 System.Windows.Forms.Label

2) 编译过,还是不行。窗体编辑器会告诉你一个奇怪的错误:指向这里。
  this.BackgroundImage = ((System.Drawing.Image)(manager.GetObject("$this.BackgroundImage")));

然后,的倒。怎么也看不出这里有什么错啊?
然后,我把manager这个变量,全部换成resources
如:
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SU));

然后,竟然通过了!!!

至此,窗体编辑器可以对窗体进行所见即所得编辑了。

Winform工程反编译后的工作的更多相关文章

  1. Winform 工程反编译后窗体如何显示

    Winform反编译后,如果想要让它象正常的工程一样,可以在窗体编辑器中,编辑,需要做一些工作. 1.  转换.resources 为 .resx 利用resgen工具.这个工具是vs自带的. 在启动 ...

  2. winform代码反编译后图片等资源文件恢复解决方案

    用Reflector工具反编译的winform代码,图片等资源文件不能很好的反编译成功. 这里有一个笨的解决方案.首先我们要了解图片资源当初加入到工程的几种方式,及他们所在的位置. 一般winform ...

  3. JD-GUI反编译后代码逻辑分析

    一,用jd-gui.exe等工具查看源代码.如何你不会,可以参看此文章: http://blog.csdn.net/hp_2008/article/details/8207879 可以到以下连接下载可 ...

  4. 实现android apk反编译后代码混淆

    通常情况下我们需要对我们开发的android代码进行混淆,以免代码在反编译时暴露敏感信息及相关技术代码: 反编译测试工具:onekey-decompile-apk-1.0.1. 在高级版本的adt创建 ...

  5. 转 C#反编译后的一些错误改正

    Xenocode反编译及代码整理记录1.Xenocode中设置输出数字为十进制 2.输出后中文文本为\uXXXX,可采用编码工具转成中文 3.new ()改成null; 4.反编译后代码中嵌套数组ne ...

  6. 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译

    反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...

  7. WPF 反编译后错误处理

    1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo) 2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里 3.点击 ...

  8. C#中修改Dll文件 (反编译后重新编译)

    Dll文件生成后,如没有源代码,又要修改其中内容 可以用微软自带的ildasm和ilasm程序 先用ildasm将dll文件反编译成il文件 ildasm Test.dll /out=Test.il  ...

  9. Java中String的intern方法,javap&cfr.jar反编译,javap反编译后二进制指令代码详解,Java8常量池的位置

    一个例子 public class TestString{ public static void main(String[] args){ String a = "a"; Stri ...

随机推荐

  1. 热修复干货| AndFix热补丁动态修复框架使用教程

    本篇文章会与大家一起学习使用阿里的AndFix热修复框架,可以说AndFix是国内热修复技术的开山始祖,尽管现在阿里已经放弃了对这个项目的维护,但是后来很多的热修复技术都借鉴了这一框架的实现思路. 1 ...

  2. 数据恢复方法--linux ubuntu--ddrescue

    live cd:可以让Linux系统从光盘启动,用户可以方便的先对系统进行一次体验,觉得好用,再进行硬盘安装.ubuntu live cd版:就是可以直接光盘启动的ubuntu系统.Mr. Hou先让 ...

  3. conda创建、删除、重命名环境

    链接:https://www.jianshu.com/p/7265011ba3f2 创建新环境 conda create -n rcnn python=3.6 删除环境 conda remove -n ...

  4. mysql查看索引的大小

    1 ,show table status from your_database_name  这个不准: 2,这个比较详细 select database_name, table_name, index ...

  5. Django基础之django分页

    一.Django的内置分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views ...

  6. Linux基本命令讲解

    前言 不多BB,直接上图 Linux命令行的组成结构 [root@oldwang ~]# [root@oldwang ~]# [root@oldwang ~]# [root@oldwang ~]# [ ...

  7. C++标识符的作用域与可见性

    一.标识符的作用域与可见性 作用域讨论的是标识符的有效范围,可见性讨论的是标识符是否可以被引用. 二.作用域 作用域是一个标识符在程序正文中有效的区域.C++中标识符的作用域有函数原型作用域.局部作用 ...

  8. 开始Jupyter Notebooks

    开始Jupyter Notebooks 安装Anaconda 因为不能有空格,所以没有选C:\Program Files 认识Jupyter Notebooks 修改 jupyter notebook ...

  9. WxWidgets与其他工具包的比较(15种方案)

    一些一般注意事项: wxWidgets不仅适用于C ++,而且具有python,perl,php,java,lua,lisp,erlang,eiffel,C#(.NET),BASIC,ruby甚至ja ...

  10. Luogu5290 [十二省联考2019] 春节十二响 【贪心】【堆】

    题目分析: 对于一个根,假设我们对每个子树分别求出了一种答案,那么怎么合并答案是最小的呢? 首先考虑这些答案里面最大的那个数字,它肯定要融合其它组里面的最大数字.以此类推 所以最好的合并方式是,每个子 ...