前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

用Reflector和FileDisassembler配合反编译.net Windows程序 _C#_编程_学习吧 - 传递知识 承载文明 学习吧首页 | 最新知识 手机请访问:http://m.xuexibar.cn | 设为首页 | 加入收藏 | 网站地图 生活 食品 礼仪 育儿 办公 电脑 软件 网络 学习 英语 考试 知识 脑力 记忆 阅读 论文 励志 理财 口才 创业 站长 编程 网络 设计 编程首页AjaxASPAsp.netC#C语言DelphiJ2EEJavaJSPPerl 用Reflector和FileDisassembler配合反编译.net Windows程序 网上购物最高返利11% 查询 您当前所在位置:首页 >> 编程 >> C# >> 正文 用Reflector和FileDisassembler配合反编译.net Windows程序 2012-3-23 16:34:27 | 分类:C# | 阅读:397 导读:用ileisassembler反编译indowspplication出现了问题,resx资源文件和cs文件不匹配,项目编译根本通不过,把resx文件修改放入cs文件夹后,虽然运行没有问题,但是不能直接在窗体设计里面可视地修改控… 改变一生的幸运28网赚 京东购物最高返利100元 文字链广告,仅2元/周 口才训练 装修知识 育儿 如何挑选出好吃的西瓜? 用FileDisassembler反编译Windows Application出现了问题,resx资源文件和cs文件不匹配,项目编译根本通不过,把resx文件修改放入cs文件夹后,虽然运行没有问题,但是不能直接在窗体设计里面"可视地"修改控件,一来麻烦,二来不直观,那么就应该修改下源代码,使其符合VS2008的源文件布局.下面总结一下修改的步骤:1.由于FileDisassembler会给每个命名空间生成一个目录,保存这个空间的源代码,而对于资源resx文件就是直接加在项目目录下,所有要把它放回源码目录下.例如对于项目文件夹里面的TryAssemb.Form1.resx,首先改为Form1.resx然后移动到TryAssemb目录里面.2.然后对窗体打开"视图设计器",发现会出现下面的错误: 修改方法就是对所有System.Windows.Forms.命名空间里面的控件需要全命名空间的 声明,例如里面上图的base.AutoScaleMode = AutoScaleMode.Font;就要改成base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;而TextBox textBox1; 也要改成private System.Windows.Forms.TextBox textBox1;这样VS2008就能识别到这个控件是要绘制在Form上面的. PS.开始是的时候还以为要像VS一样把Form1拆开成Form1.cs和Form1.Designer.cs.每次是都辛辛苦苦拆开,最后才发现原来根本不需要,^_^. 相信大多数.Net程序员都有使用Reflactor的经历。无论出于什么目的,当用Reflactor反编译托管程序后,还想对其代码加以修改,那么本文所列举的可能是一份有用的参考。 用Reflactor的FileGenerator插件反编译代码后可以得到包括项目文件的源代码,但代码中存在各种问题,一般无法一次编译通过,以下将详谈这些问题:枚举问题 为了代码可读,可能需要花点时间查阅metadata把int值修改回枚举值,尤其是想利用窗体设计器的,VS2008可能还不理解int值。属性问题 比如一个叫Names的属性被反编译后,可能还原为的set_Names(names),get_Names()方法,逐个替换可能很慢,可采用正则表达式整体替换。对于set_Xxx(xxx)方法,可替换set_{[a-z]*}(为1 = (对于get_Xxx()方法,可替换get_{[a-z]*}()为1然后,再修复个别被误换的方法。委托和回调函数问题 一般会被还原为add_Xxx(MethodsName)方法,需要改为 += MethodsName资源问题 需要使用.Net Framework SDK 下的 resgen.exe 工具,反编译嵌入资源文件*.resources为*.resx文件,语法为:ResGen.exe *.resources *.resx,然后将*.resx包含入项目,就会自动和同名的窗体文件*.cs关联,如果没有关联可采用先排除再添加大法,一一搞定。命名空间问题 如果需要切换到IDE的窗体设计器,而不出错,则还需要在*.cs中添加比如System.Windows.Forms的命名空间前缀。窗体设计器识别问题 需要把以下代码ComponentResourceManager manager = new ComponentResourceManager(typeof(ClassName));替换为System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClassName));窗体设计器才能正常识别。 (学 习 吧:www.xuexibar.cn) 此文章为学 习 吧整理或来自网络,内容仅供访问者参考,版权归原作者所有,转载请注明出处! 在家怎样开展性教育? 爱上牛奶的六大理由 百万富翁的思维秘密 让盛夏的性爱激情爆满 关键字阅读:问题 文件 编译 源代码 文件夹 ·两个Xml转换为DataSet方法(C#) ·ASP.NET 多文件上传 · C#操作ini文件 ·C#处理文本文件 ·C#动态生成html页面 开心一刻 美国各地搞笑法律条例看的时候千万别吃东西,否则喷到电脑上!手机鲜为人知的秘密 上演手机“恶作剧”狂人在肯德基点餐……真让人无语歪猜正着 学习吧推荐阅读 ·“学生富翁”网站:答题2个月净赚1500美元·春暖花开时该如何防过敏·天气燥热宝宝如何降火·2008中国知识产权风云榜在京揭晓·维生素C片内置可防治女性阴道炎·一位母亲的动漫创业历程 C#相关文章 C#一个象棋游戏程序浮点数转换为整数 c#获取数据库中所有表名称的方法 强制退出WinForm程序之Application.Exit和Environment.Eixt C# socket 多线程多管道可断点传送大文件(附单线程单管道传送) C# 自己写的一个类,用来将结构体或类中的数据打成"数据包",进行网络发送 返回顶部 热门专题 信用卡使用技巧 ·2013年诺贝尔奖专题·2013国庆旅游专题 故事 王石演讲:冬天的生存法则 孩子睡前喝牛奶有助生长发育 婆婆回应媳妇那封惊世骇俗的… 儿童常吃拌鱼米等鱼肴可健脑… 剖腹产孩子易患多动症 不及时… VB技巧:在2000和XP中透明化… 我丈夫被她的老公捉奸在床 上海住房公积金异地买房 关于学习吧 | 联系我们 | 广告服务 | 网站地图 | 招聘信息 | 友情链接 | 免责声明 | 记账 沪ICP备10205228号-1 版权所有:学习吧本站部分内容来源网络,如无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除.