前往Shuct.Net首页

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

关于pb decompiler的搜索

powerbuilder pbd文件混淆器原理探秘 - chengg0769 来自四川,在东莞虚度十载 - 博客频道 - CSDN.NET chengg0769 来自四川,在东莞虚度十载 PB反编译_Powerbuilder DeCompiler_PB反编译器_PB混淆器_PB加密 目录视图 摘要视图 订阅 新年新气象------CSDN2014新版导航就要跟大家见面了 2014年1月微软MVP当选名单揭晓! 消灭0回答,赢下载分 “我的2013”年度征文活动火爆进行中! 专访何海涛:“不正经”程序员的进阶之路 powerbuilder pbd文件混淆器原理探秘 2009-09-03 16:38 718人阅读 评论(0) 收藏 举报 powerbuilder编译器byte工作 今天在研究pbd文件,突然想到pbd文件混淆器。因为还没看过它的原理,但是我已经大致猜测到了他的工作原理。 //--------------------------------------------------------------------------------------------------------- 最新PB混淆器下载,支持5-12,防止反编译 http://chengg0769.download.csdn.net/ ----------------------------------------------------------------------------------------------------------// 比如我们写上一个if then else end if结构。 if 1 <> 1 then //这里写这么多只是为了在p-code段有足够多的byte来做混淆。 return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa" return "aaaaaaaaaaaaaaa"else return "BBBBBBBBBBBBBBB"end if 我们知道这个表达式恒等于返回"BBBBBBBBBBBBBBB"但是反编译器有个致命弱点是必须顺序解析每个遇到的码,并把他翻译出来。也就是说是顺序解析的。因为执行码和数据是混合放置的。常规反编译是必须顺序流水解析的,就想asm一样,如果中途你插进一个byte,后续就会错完。 在if 和choose等选择结构的p-code或者机器码表达方式中,仍然是采用jp和jnp指令。也就是比较后跳转。所以这个1<>1恒false,也就是if前半段是永远无法执行的,也就不会引起vm解析错误,因为永远执行不到那里去。但是反编译器就会进入陷阱中而无法自拔。 内部表达序是: 取值(1),取值(1),JP(goto address1:)顺序:执行1,执行2,执行3........ address1:顺序:执行a,执行b,执行c........ 可以看出,可以在"顺序:执行1,执行2,执行3........"进行大量p-code的伪造,比如goto到一个不存在的地址,或者取一个非法地址的数据,或者伪造不可识别的p-code码等。方法就很简单了。 这样伪造的结果是,程序执行没有任何影响,而反编译器陷入其中而导致异常处理时退出,或者显示一些错误结果,或者空白(出于自身保护)。 这当然是个矛盾相生的问题,因为混淆器无法知道你写的程序的本意,它只是一个transfer,所以如果你写: if a>b then ... else ... end if 它是不可能去伪造的,必须是人为设置,就是说连这段if结构也必须是伪造的。当然反编译器也可以在遇到无法分析时中断上半段的解析,而直接goto到下半段解析。不过如果混淆的程度太高,可能不能够越过。 因为操作码有些要读取数据,有的是单码不读取数据,所以如果反编译器仍然采用顺序流水方式,必然无法顺利解析到指定的goto位置,因为伪造的p-code可能在取数据时已经越过了goto到的位置。所以必须把任何跳转都分开解析,一旦一条路出现数个连续错误,如:不可识别操作码或者非法资源地址访问等,即刻终止,并按goto的位置去解析下半段。在跳与不跳之间或者多个goto下,必然有一个是正确的出口,否则程序就不会顺利执行的(这是一个原则),只是最后的结果会出现很多goto标签而已,但是可以认为,程序是可读的。 更多 上一篇:powerbuilder decomplier 完成基本分析和编程(图8张) 下一篇:powerbuilder Decimal内部表示方式解析 查看评论 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 核心技术类目 全部主题 Java VPN Android iOS ERP IE10 Eclipse CRM JavaScript Ubuntu NFC WAP jQuery 数据库 BI HTML5 Spring Apache Hadoop .NET API HTML SDK IIS Fedora XML LBS Unity Splashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 Rackspace Web App SpringSide Maemo Compuware 大数据 aptech Perl Tornado Ruby Hibernate ThinkPHP Spark HBase Pure Solr Angular Cloud Foundry Redis Scala Django Bootstrap 个人资料 chengg0769 访问:515765次 积分:8552分 排名:第420名 原创:267篇 转载:211篇 译文:0篇 评论:348条 文章搜索 文章分类 PB反编译与加密(12) IOS和安卓(9) PB与数据库(9) 网络相关(1) 搜索相关(0) 闲话扯起耍(1) 其他语言(4) 文章存档 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) 阅读排行 搜索引擎学习资源(作者:dongdonglang)(14656) 做代理网站最有效的4种宣传方法(admin9.com)(12007) 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题)(8066) 程序员的SEO总结(7459) 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(5999) 在一台联想3000G430 T1600笔记本上安装黑苹果(东皇v10.6.3)成功(5948) PowerBuilder DeCompiler(pb decompiler) Demo download(PB反编译,支持5-12)(5887) PB11.5,PB12 web项目初探(5635) 文件夹加密原理 [转](5627) powerbuilder反编译器开发-第一步:pbd结构分析和pbkiller分析(5473) 评论排行 浅谈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) 推荐文章 最新评论 安装两个BCB6控件SynEdit、mwEdit 0.92a的过程总结 jiduxiaozhang12345: 请问BCB6的第三方控件在哪下载啊?急求 Powershield一个疑似的BUG zhj149: 高手啊,看你的文章,感觉你玩pb已经到了极致的境界了,我自认为pb还不错,和你比起来,还是差了太多了 软件提交到国外的下载站的几点操作和想法 u012353953: 楼主在吗?有个问题请教,看到请加我QQ,谢谢。17493589 Lucene(Nutch)距离商业文本搜索引擎还有多远?(转载) koubi1986: 你好!请教一些问题:请问一下1。你是如何把nutch抓取到的二进制内容,在项目中读取的。2。nutc... 看一个商业共享软件是如何在下载站刷下载量来作弊的! u011506701: 您的判断是有误的,像我研究的刷量算法你就根本看不出来,出现的曲线图跟正常的一模一样的,附:刷量是最好... 垂直搜索引擎蜘蛛的基本解决方案(编程实例:所以推荐) gis101989: 你好,我正在写面向主题搜索引擎结合地理信息的论文,很多地方不懂,能加个扣扣吗?非常感谢你的帮助,我的... 浅谈Powerbuilder的未来和Powerbuilder使用者的未来 hosthelp: PB的最大缺点就是:(其实很简单)过时了。 服装过时就没人穿了, 电器过时就没人买了, 明星过时(过... 三岁小孩开发搜索引擎,搜索引擎白热化[原创] rongzi1987: 顶一个。先顶再看 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题) hua2000: 顶顶更健康正在研究反向工程 有个傻B说破解了我的软件—哈哈!黄金屋手机MP3.MP4.3GP.电影.下载系统 ljx811216: 真有这事,看看 我的未来方向 pconline/asp.net周金桥老师的aspnet 友人Blog 旧博客在sina Bluesen的语音卡开发平台 JackXu的开源语音卡框架 经验丰富的好友:杨光的专栏 蓝星际语音平台,Koodoo语言 Lucene改造者-yuetiantian 西部.阿呆's blog manesking:全文检索c/c fullfocus研究lucene,nutch 黄国酬的博客 把“天轰穿”的asp.net 雨松.安卓