前往Shuct.Net首页

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

关于PB反编译的搜索

Reflector反编译winform心得(转) - chengg0769 来自四川,在东莞虚度十载 - 博客频道 - CSDN.NET chengg0769 来自四川,在东莞虚度十载 PB反编译_Powerbuilder DeCompiler_PB反编译器_PB混淆器_PB加密 目录视图 摘要视图 订阅 想听课?来发话题吧 云服务器使用初体验获奖通知 技术干货、还免费?来这儿 CSDN博客同类文章,一键即达 Reflector反编译winform心得(转) 标签: winform反编译工具正则表达式.net加密工具 2010-09-11 20:09 6365人阅读 评论(2) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 相关情况介绍: .NET Reflector 一款优秀的反编译工具:http://shy-feng.blog007.com/archives/2008916173215.aspx 以下文字来自 from: http://blog.tripdev.com/?tid=81 Reflactor就不介绍了,.net下的免费反编译工具。Reflactor在某些情况下是很必须的,当遇到bug的时候,可以通过Reflactor看其内部的实现机制,从而找到真正的bug所在。或者可以通过reflactor查看私有生成,然后在用反射去调用。 上面说的都是正当用途,有的时候也可以用来反编译别人的软件。混淆了的软件,我就不管了。这里要讲的是没有混淆和加密的软件的反编译。reflector的右键菜单中的export就能做到反编译,如下图。 反编译的文件默认保存在My Documents/Reflector/Disassembler下,但是这个反编译有一些问题,对于winform的资源文件无法反编译。这就需要我们另寻他法。 经过我的不懈努力找到了一个插件File dessassemble,他能实现这样的功能。 反编译出来后,用visual sutio打开后就能编辑了,但是有时候会有一些问题。下面总结一下。1、编译没有问题,运行出现“类型初始值设定项引发异常” 这主要是在类中使用了两个静态变量,而其中一个静态变量的初始化依赖令一个静态变量,而被依赖的静态变量放在依赖变量的前面,比如下面的代码就会出现这样的问题。 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 private static string SettingFileName = Path.Combine(SettingFolderPath, @"GoogleMusicDesktop/config.xml");2 public static string SettingFolderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "aaaSoft"); 问题很好解决,掉个个就解决了。2、出现无法找到资源文件,如图片等 这种情况一般是和资源文件的命名如果,请把资源文件命名保持和类一直,重新编译一下就会解决问题,注意需要重新生成,否则就不一定好使了。3、打开form的时候出现错误 这个问题,我通过搜索解决了,园子里有一篇文章,我转过来。 转载文章Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 用Reflector和FileDisassembler配合反编译.net Windows程序URL: http://www.cnblogs.com/verygis/archive/2008/12/02/1346072.html用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));窗体设计器才能正常识别。fm: http://blog.csdn.net/ma_ta/archive/2008/12/11/3497532.aspx 上一篇MSSQL2000查询优化方法(转) 下一篇Powerbuilder混淆器改成正式版和中文界面 顶 0 踩 0 猜你在找 查看评论 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 个人资料 chengg0769 访问:760104次 积分:11121 等级: 积分:11121 排名:第648名 原创:279篇 转载:211篇 译文:0篇 评论:357条 文章搜索 文章分类 PB反编译与加密(12) IOS和安卓(9) PB与数据库(16) 网络相关(1) 搜索相关(0) 闲话扯起耍(4) 其他语言(7) 文章存档 2015年10月(3)2015年09月(2)2015年08月(3)2015年07月(1)2015年05月(1)2015年03月(1)2014年04月(1)2014年01月(1)2013年12月(2)2013年11月(2)2013年09月(1)2013年02月(1)2012年11月(1)2012年09月(1)2012年08月(6)2012年07月(1)2012年05月(3)2012年03月(4)2011年12月(2)2011年11月(2)2011年10月(9)2011年09月(6)2011年08月(11)2011年07月(2)2011年06月(4)2011年04月(3)2010年12月(1)2010年10月(2)2010年09月(8)2010年08月(1)2010年07月(8)2010年06月(17)2010年05月(2)2010年04月(2)2010年03月(4)2010年01月(1)2009年09月(8)2009年08月(5)2009年07月(8)2009年06月(8)2009年05月(16)2009年03月(2)2009年02月(7)2008年12月(2)2008年11月(4)2008年10月(5)2008年08月(1)2008年07月(2)2008年01月(12)2007年12月(29)2007年11月(7)2007年10月(4)2007年09月(20)2007年08月(55)2007年07月(176) 阅读排行 做代理网站最有效的4种宣传方法(admin9.com)(18187) 搜索引擎学习资源(作者:dongdonglang)(15066) PowerBuilder DeCompiler(PB DeCompiler) Demo download(PB反编译,支持5-12)(9985) 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题)(9742) 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(8003) Powerbuilder混淆,加密(powerbuilder防止反编译,pb混淆器,PB加壳,支持5-12) obfuscator for PowerBuilder(7933) 程序员的SEO总结(7817) PB11.5,PB12 web项目初探(7786) 文件夹加密原理 [转](7296) 在一台联想3000G430 T1600笔记本上安装黑苹果(东皇v10.6.3)成功(7291) 评论排行 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(49) 程序员的SEO总结(32) 有关Powerbuilder的悲观论和乐观论(由郭贴引发的300多贴争辩想到的,也是很久就想秉明的一个观点)(22) Powerbuilder混淆,加密(powerbuilder防止反编译,pb混淆器,PB加壳,支持5-12) obfuscator for PowerBuilder(20) 戏说DataWindow的“移植”和“临摹”(19) 因为垄断形成,数据库市场将出现更多开源数据库(19) 免费软件模式之随想(18) 软件提交到国外的下载站的几点操作和想法(15) PB11.5,PB12 web项目初探(15) 关于对pbd反编译器的期待(11) 推荐文章 *没有躲过的坑--正则表达式截取字符串 *CardView完全解析与RecyclerView结合使用(三十二) *And roid 高仿微信发朋友圈浏览图片效果 *通过Ajax的方式执行GP服务 *编译器架构的王者LLVM——(6)多遍翻译的宏翻译系统 * 【笨木头Unity】入门之旅010(完结):Demo之四处找死(五) _UI 最新评论 电讯业营收管理软件--菜单图示[JPG10张] weilexinye: 不懂,学习中。 关于EXECryptor参数设置的问题 fcmguanba: 你好!关于软件加壳加密的问题,我们可以探讨一下吗?你加我的QQ号码:1715960127 四年级数学题难倒家长(转载) qing7416: 我能做,但换成我四年级,多半不会做,会做的也做不对 中文垂直搜索引擎、行业搜索引擎大全(最新计137家) (转贴) defineconst: 真全! 搜索引擎开发,垂直搜索开发探讨:蜘蛛,并行,搜索,垂直搜索,搜索开发,lucene,java,分布[原创] defineconst: 你好还在弄搜索吗?UserB是谁的啊 如何用VC编写供PB调用的DLL (转) tang0575: 为啥我调用时,PB提示没有这个函数呢 基于MapServer的WebGIS开发(转) qq_20787725: 很好的一片文章 谢谢 垂直搜索开发:垂直搜索引擎开发全过程[原创] zww_ren_0: 要精英中的精英(就像你)才能玩。。。 垂直搜索开发:垂直搜索引擎开发全过程[原创] zww_ren_0: C.忠告就表示这货没任何价值了。。。按你的意思来说,实际一点来说。 安装两个BCB6控件SynEdit、mwEdit 0.92a的过程总结 jiduxiaozhang12345: 请问BCB6的第三方控件在哪下载啊?急求 我的未来方向 pconline/asp.net周金桥老师的aspnet 友人Blog 旧博客在sina Bluesen的语音卡开发平台 JackXu的开源语音卡框架 经验丰富的好友:杨光的专栏 蓝星际语音平台,Koodoo语言 Lucene改造者-yuetiantian 西部.阿呆's blog manesking:全文检索c/c fullfocus研究lucene,nutch 黄国酬的博客 把“天轰穿”的asp.net 雨松.安卓