前往Shuct.Net首页

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

关于pb decompiler的搜索

powerbuilder decomplier 完成基本分析和编程(图8张) - chengg0769 来自四川,在东莞虚度十载 - 博客频道 - CSDN.NET chengg0769 来自四川,在东莞虚度十载 PB反编译_Powerbuilder DeCompiler_PB反编译器_PB混淆器_PB加密 目录视图 摘要视图 订阅 新年新气象------CSDN2014新版导航就要跟大家见面了 2014年1月微软MVP当选名单揭晓! 消灭0回答,赢下载分 “我的2013”年度征文活动火爆进行中! 专访何海涛:“不正经”程序员的进阶之路 powerbuilder decomplier 完成基本分析和编程(图8张) 2009-08-28 04:20 802人阅读 评论(2) 收藏 举报 powerbuilder编程functionsubroutineintegerstring 用了十多天,完成了基本编程,bcb编程。主要函数已经完成。目前能对struct和function解析了,win和uo的还在debug。 给一个反编译后的代码示意:还差浮点数取值(因为不同编程工具对浮点的规定不同,c++的double并非pb的double,必须取相应的bit规定来得到浮点数,for while循环(jp已经实现,但是要复活成for while还需要点工夫),枚举常量没搞定,搞定的话,就能反编译一般性的function了。不过expression分析部分结构已经很完备,只是一共500多个pcode码,现在只测试出200个。后续将大量测试pb的demos来修正之。当然自己的程序也可以作为测试之用。 //看我反编译出来的代码,感觉还比较整洁,说实话,第一次用bcb编程。但是短短几天足以领略c++的高效快速。还有就是一不小心就犯的错,比如在if条件那里对变量意外赋值了,所以保持0x0001 == var1的倒写习惯是多么重要。 //object name: lf_111.funglobal type lf_111 from function_objectend type forward prototypesglobal <FUNCTION_OR_SUBRUNTINE> <RETURN_DATATYPE> lf_111(<PARAM_LIST>) <THROWS_OBJNAME> end prototypes global <FUNCTION_OR_SUBRUNTINE> <RETURN_DATATYPE> lf_111(<PARAM_LIST>) <THROWS_OBJNAME> //Variables Listany a1int b1 = 32767int b2 = -32767long c1 = 655356long c2 = -655356longlong d1 = 9223372036854775807longlong d2 = -9223372036854775807real e1 = 1120403587real e2 = 3267887235string ls_111 = "VVVVVVVVVVVVVVVVVVVV"char f1 = 'A'char f2 = 'z'char f3 = '~r'uint g1 = 255ulong h1 = 655357double j1 = 3.14159265141593long bstring k1 = ""string k2 = "this is a box"string k3 = "this~r~na~h13"string k4 = "中国中国中国中国中国中国中国中国"date m1 = 1101-01-11time n1 = 12:01:01.100002datetime p1 = datetime(date(1000-07-11),time(12:01:01.000002))dec q1 = 3.14159202581504dec{0} q2 = 3.14159202581504dec{4} q3 = 3.14159202581504dec{18} q4 = 3.14159202581504dec r1 = 3.14159202581504int aaaalong ll_blonglong lll_cdec ldc_dreal lrl_eulong lul_fuint lui_gdec axlong ll_bblonglong lll_ccdec ldc_ddreal lrl_eeulong lul_ffuint lui_ggdatastore uo_1boolean lbb_1boolean lbb_2long astring ls_aaachar bbbborder lbrborder lbr1border lbr2border lbr3border lbr4border lbr5border lbr6border lbr7//global var: w_win w_win//global var: w_main w_mainlong ll_currentrowdatawindow adw_datawindowstring arg_amtstring arg_formatstring right_string //Exprssion lines: 62abs(j1 + 1)beep(10)blob("111")b = ceiling(j1)max(1,2)min(1,2)ls_aaa = rightw(ls_aaa,2) + rightw(ls_aaa,2) + rightw(ls_aaa,2)bbb = char(ls_aaa)j1 = abs(j1)j1 = acos(j1)j1 = integer(j1)j1 = long(j1)j1 = longlong(j1)messagebox("j1",j1)messagebox("q1",q1)messagebox("q2",q2)messagebox("q3",q3)messagebox("q4",q4)j1 = messagebox("r1",r1)lbb_1 = fileexists(ls_aaa)fileclose(a)a += (b)a ++ a -- a += ((1 + 2 + 3) - 4)a += (b)a -= (b)a *= (b)a = a / 1a = b + 1 - ((2) / 3) * 4aaaa = ll_baaaa = lll_caaaa = ldc_daaaa = lrl_eaaaa = lul_faaaa = lui_greturn 65535return 4.00000000011642return 4.00000000011642 + 4.00000000011642uo_1 = create datastoredestroy(uo_1)lbb_1 = lbb_1 and lbb_2open(w_win)open(w_main)w_win.hide()w_win.postevent("111",1,1)w_main.settoolbar(1,true )w_win.show()w_win.getparent()w_main.hide()w_main.show()w_main.getparent()adw_datawindow.setredraw(false )ll_currentrow = adw_datawindow.getrow()adw_datawindow.selectrow(0,false )adw_datawindow.selectrow(ll_currentrow,true )adw_datawindow.setfocus()adw_datawindow.setredraw(true )return ll_currentrowright_string = string(arg_amt,arg_format)right_string = left(" ",len(arg_format) - len(right_string)) + right_stringreturn 1 end function ////////////////////////////////// 数组下标操作费了我五个小时调整,已经很完美了,非常完美。 global <FUNCTION_OR_SUBRUNTINE> <RETURN_DATATYPE> lf_111(<PARAM_LIST>) <THROWS_OBJNAME>//Variables Liststring ls_arr0[] string ls_arr1[10] string ls_arr2[2 to 10] string ls_arr3[5,6,7,8] string ls_arr4[2 to 5,3 to 6,4 to 7,5 to 8] string ls_locallong ll_local//global var: string gs_array[2] //global var: string gs_array2[5,5] //Exprssion lines: 14ls_local = ls_arr0[3]ls_local = ls_arr1[5]ls_local = ls_arr2[5]ls_local = ls_arr3[1,2,3,4]ls_local = ls_arr4[3,4,5,6]ls_local = gs_array[2]ls_local = gs_array2[2,2]ls_arr0[3] = ls_localls_arr1[5] = ls_localls_arr2[5] = ls_localls_arr3[1,2,3,4] = ls_localls_arr4[3,4,5,6] = ls_localgs_array[2] = ls_localgs_array2[2,2] = ls_local end function //20090904: 完成了function头部申明信息:返回数据类型,参数列表,throws类型。基本完成一个简单function的解析了: //object name: lf_333.funglobal type lf_333 from lf_333end type forward prototypesglobal function int lf_333(int param1,ref int param2,readonly int param3,readonly int param4) throws exceptionend prototypes global function int lf_333(int param1,ref int param2,readonly int param3,readonly int param4) throws exception;//variables list//param:int param1//param:int param2//param:int param3//param:int param4int li_aaalong ll_bbbstring ls_aaanonvisualobject uoxnonvisualobject uoynonvisualobject uozint li_ccc[2,2,2] = {1,2,3,4,5,6,7,8} //exprssion lines: 23li_aaa = integer(getcurrentdirectory() + "aaa" + "bbb" + string(1997))uox = create nonvisualobjectuoy = create nonvisualobjectuoz = create nonvisualobjectli_aaa = 1 + 2 + 3 + 4 + 5li_aaa = ((((1) - 2) - 3) - 4) - 5 //括号部分后续优化之。li_aaa = ((((1) * 2) * 3) * 4) * 5ll_bbb = ((((1) / 2) / 3) / 4) / 5li_aaa = integer(ll_bbb)li_aaa = abs(li_aaa)li_aaa = ll_bbbll_bbb = 1 + 2 + 3 + 4 + 5ll_bbb = ((((1) - 2) - 3) - 4) - 5ll_bbb = ((((1) * 2) * 3) * 4) * 5ll_bbb = ((((1) / 2) / 3) / 4) / 5ll_bbb = long(ll_bbb)ll_bbb = li_ccc[1,1,1]li_aaa = lf_count(li_aaa,li_aaa,li_aaa,ls_aaa,ls_aaa,ls_aaa)li_aaa = lf_count2()li_aaa = lf_count3()li_aaa = lf_count4()li_aaa = lf_count5()return 1 end function //20090905:今天很好地处理了枚举变量的初始值和赋值(取) //object name: lf_333.funglobal type lf_333 from lf_333end type forward prototypesglobal subroutine lf_333() throws exceptionend prototypes global subroutine lf_333() throws exception;//variables listalignment la_1 = left!alignment la_2 = right!alignment la_3 = center!alignment la_4 = justify!band lb_1 = header!band lb_2 = detail!band lb_3 = footer! //exprssion lines: 7la_1 = left!la_1 = right!la_1 = center!la_1 = justify!lb_1 = header!lb_1 = detail!lb_1 = footer! end function //20090909:搞定了内嵌sql单行取值,并与变量直接绑定。pic6 //20090912: 完善了sql语句格式内嵌语式的参数绑定。 //20090915:完成最困难的win和uo,menu等文件格式的解析。工作接近收尾。图pic8 附图6张: pic1: pic2: pic3: pic4: pic5: pic6: pic7 趋近完美的内嵌sql,含参数对应。 pic8: 完成win,men,uo等格式解析,接近收尾 更多 上一篇:推荐:搜索引擎零距离——基于Ruby+Java搜索引擎原理与实现 下一篇:powerbuilder pbd文件混淆器原理探秘 查看评论 * 以上用户言论只代表其个人观点,不代表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 访问:515758次 积分:8551分 排名:第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 雨松.安卓