前往Shuct.Net首页

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

关于pb decompiler的搜索

pbkiller导出的源码批量修复和批量导入技术(转) - chengg0769 来自四川,在东莞虚度十载 - 博客频道 - CSDN.NET chengg0769 来自四川,在东莞虚度十载 PB反编译_Powerbuilder DeCompiler_PB反编译器_PB混淆器_PB加密 目录视图 摘要视图 订阅 新年新气象------CSDN2014新版导航就要跟大家见面了 2014年1月微软MVP当选名单揭晓! “我的2013”年度征文活动火爆进行中! 专访何海涛:“不正经”程序员的进阶之路 pbkiller导出的源码批量修复和批量导入技术(转) 2010-10-04 12:30 2174人阅读 评论(0) 收藏 举报 libraryobjectdestructorstringconstructorstructure pbkiller导出的源码批量修复和批量导入技术 原文:http://itmed.blog.sohu.com/96898840.html 原文发表于2008-08-10 作者深蓝无忌 1用pbkiller可以从pbd导出"*.sr?"这样的文件,但是不能直接导出pbl2由于pb导入"*.sr?"时,由于(1)类之间的依赖关系,若a的父类为b,先导a是不行的(2)pbkiller导出的源码有部分源码错误。3鉴于以上情况,本人写了serach and replace脚本,对错误语法进行替换4网上搜索到了一个批量导入"*.sr?"的程序,pb写的,用pbkiller反编译出来,但存在反编译错误5由4知,用到了PBORC80.DLL,OD跟踪pb的导入对象的过程,得到了pb导入用到的函数参数,修复了反编译错误====================================================如下是serch and replace的正则替换脚本,修复部分pbkiller导出的源码错误getclassdefinition/(/)替换 classdefinitiongetscriptlist/(/) 替换scriptlistgetscript/(1,/[*[]/]/).getname/()/ 替换scriptlist/[%1/].namegetvariablelist/(/)getvariable/(1,/[*[]/]/).getname/()/ 替换variablelist/[%1/].namegetargumentlist/(/)getargument/(1,/[*[]/]/).getname/()/ 替换 argumentlist/[%1/].namegetlocalvariablelist/(/)getlocalvariable/(1,/[*[]/]/).getname/()/ 替换 localvariablelist/[%1/].name/?/?/?/?/? = l?_*[]$ 替换 %2 = l%1_%2,"+",+./?/?/?/?/?(,|/)) 替换 ,"%1",%2.%1%3/(+/)+/!messagebox/(/?/?/?/?/?/) 替换 messagebox/("",%1,%2/!/),/[+/](,|/)) 替换 ,{%1}%2====================================================如下是pb导入的核心函数,你可以写一个批处理,就不用一个一个手工导入源码了forwardglobal type n_cst_pborc from nonvisualobjectend typeend forwardglobal type n_cst_pborc from nonvisualobject autoinstantiateend typeglobal n_cst_pborc n_cst_pborctype prototypespublic function long sessionopen7 () library "PBORC70.DLL" alias for "PBORCA_SessionOpen"public subroutine sessionclose7 (long horcasession) library "PBORC70.DLL" alias for "PBORCA_SessionClose"public function integer sessionsetlibrarylist7 (long horcasession,ref string plibnames[],integer inumberoflibs) library "PBORC70.DLL" alias for "PBORCA_SessionSetLibraryList"public function integer sessionsetcurrentappl7 (long horcasession,string lpszappllibname,string lpszapplname) library "PBORC70.DLL" alias for "PBORCA_SessionSetCurrentAppl"public function integer libraryentryexport7 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,ref string lpszexportbuffer,long lexportbuffersize) library "PBORC70.DLL" alias for "PBORCA_LibraryEntryExport"public function integer compileentryimport7 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,string lpszcomments,string lpszentrysyntax,long lentrysyntaxbuffsize,long pcomperrorproc,long puserdata) library "PBORC70.DLL" alias for "PBORCA_CompileEntryImport"public function long sessionopen8 () library "PBORC80.DLL" alias for "PBORCA_SessionOpen"public subroutine sessionclose8 (long horcasession) library "PBORC80.DLL" alias for "PBORCA_SessionClose"public function integer sessionsetlibrarylist8 (long horcasession,ref string plibnames[],integer inumberoflibs) library "PBORC80.DLL" alias for "PBORCA_SessionSetLibraryList"public function integer sessionsetcurrentappl8 (long horcasession,string lpszappllibname,string lpszapplname) library "PBORC80.DLL" alias for "PBORCA_SessionSetCurrentAppl"public function integer libraryentryexport8 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,ref string lpszexportbuffer,long lexportbuffersize) library "PBORC80.DLL" alias for "PBORCA_LibraryEntryExport"public function integer compileentryimport8 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,string lpszcomments,string lpszentrysyntax,long lentrysyntaxbuffsize,long pcomperrorproc,long puserdata) library "PBORC80.DLL" alias for "PBORCA_CompileEntryImport"public function long sessionopen9 () library "PBORC90.DLL" alias for "PBORCA_SessionOpen"public subroutine sessionclose9 (long horcasession) library "PBORC90.DLL" alias for "PBORCA_SessionClose"public function integer sessionsetlibrarylist9 (long horcasession,ref string plibnames[],integer inumberoflibs) library "PBORC90.DLL" alias for "PBORCA_SessionSetLibraryList"public function integer sessionsetcurrentappl9 (long horcasession,string lpszappllibname,string lpszapplname) library "PBORC90.DLL" alias for "PBORCA_SessionSetCurrentAppl"public function integer libraryentryexport9 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,ref string lpszexportbuffer,long lexportbuffersize) library "PBORC90.DLL" alias for "PBORCA_LibraryEntryExport"public function integer compileentryimport9 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,string lpszcomments,string lpszentrysyntax,long lentrysyntaxbuffsize,long pcomperrorproc,long puserdata) library "PBORC90.DLL" alias for "PBORCA_CompileEntryImport"public function long sessionopen10 () library "PBORC100.DLL" alias for "PBORCA_SessionOpen"public subroutine sessionclose10 (long horcasession) library "PBORC100.DLL" alias for "PBORCA_SessionClose"public function integer sessionsetlibrarylist10 (long horcasession,ref string plibnames[],integer inumberoflibs) library "PBORC100.DLL" alias for "PBORCA_SessionSetLibraryList"public function integer sessionsetcurrentappl10 (long horcasession,string lpszappllibname,string lpszapplname) library "PBORC100.DLL" alias for "PBORCA_SessionSetCurrentAppl"public function integer libraryentryexport10 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,ref string lpszexportbuffer,long lexportbuffersize) library "PBORC100.DLL" alias for "PBORCA_LibraryEntryExport"public function integer compileentryimport10 (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,string lpszcomments,string lpszentrysyntax,long lentrysyntaxbuffsize,long pcomperrorproc,long puserdata) library "PBORC100.DLL" alias for "PBORCA_CompileEntryImport"public function long sessionopen () library "PBORC90.DLL" alias for "PBORCA_SessionOpen"public subroutine sessionclose (long horcasession) library "PBORC90.DLL" alias for "PBORCA_SessionClose"public function integer sessionsetlibrarylist (long horcasession,ref string plibnames[],integer inumberoflibs) library "PBORC90.DLL" alias for "PBORCA_SessionSetLibraryList"public function integer sessionsetcurrentappl (long horcasession,string lpszappllibname,string lpszapplname) library "PBORC90.DLL" alias for "PBORCA_SessionSetCurrentAppl"public function integer libraryentryexport (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,ref string lpszexportbuffer,long lexportbuffersize) library "PBORC90.DLL" alias for "PBORCA_LibraryEntryExport"public function integer compileentryimport (long horcasession,string lpszlibraryname,string lpszentryname,long otentrytype,string lpszcomments,string lpszentrysyntax,long lentrysyntaxbuffsize,long pcomperrorproc,long puserdata) library "PBORC90.DLL" alias for "PBORCA_CompileEntryImport"end prototypestype variablespublic long pborca_applicationpublic long pborca_datawindow = 1public long pborca_function = 2public long pborca_menu = 3public long pborca_query = 4public long pborca_structure = 5public long pborca_userobject = 6public long pborca_window = 7public long pborca_pipeline = 8public long pborca_project = 9public long pborca_proxyobject = 10public long pborca_binary = 11public integer pborca_okpublic long pborca_invalidparms = -1public long pborca_dupoperation = -2public long pborca_objnotfound = -3public long pborca_badlibrary = -4public long pborca_liblistnotset = -5public long pborca_libnotinlist = -6public long pborca_libioerror = -7public long pborca_objexists = -8public long pborca_invalidname = -9public long pborca_buffertoosmall = -10public long pborca_comperror = -11public long pborca_linkerror = -12public long pborca_currapplnotset = -13public long pborca_objhasnoancs = -14public long pborca_objhasnorefs = -15public long pborca_pbdcounterror = -16public long pborca_pbdcreaterror = -17public long pborca_checkouterror = -18end variablesforward prototypespublic function integer of_importfile (string as_syntax,string as_object,long al_type,string as_pbl,string as_library[],string as_appl)end prototypespublic function integer of_importfile (string as_syntax,string as_object,long al_type,string as_pbl,string as_library[],string as_appl);long li_handlelong ll_sidlong ll_indexinteger li_resultll_sid=sessionopen()li_result = sessionsetlibrarylist(ll_sid,as_library,upperbound(as_library))if li_result = 0 then li_result = sessionsetcurrentappl(ll_sid,as_library[1],as_appl) if li_result = 0 then li_result = compileentryimport(ll_sid,as_pbl,as_object,al_type,"Messagebox->gf_msgbox",as_syntax,len(as_syntax),0,0) if li_result <> 0 then li_handle = fileopen("status.txt",linemode!,write!,lockwrite!,append!) filewrite(li_handle,string(li_result) + " - " + as_pbl + " - " + as_object) fileclose(li_handle) else li_handle = fileopen("status.txt",linemode!,write!,lockwrite!,append!) filewrite(li_handle,string(li_result) + " - " + as_pbl + " - " + as_object) fileclose(li_handle) end if else li_handle = fileopen("status.txt",linemode!,write!,lockwrite!,append!) filewrite(li_handle,string(li_result) + " - " + as_pbl + " - " + as_object) fileclose(li_handle) end ifelse li_handle = fileopen("status.txt",linemode!,write!,lockwrite!,append!) filewrite(li_handle,string(li_result) + " - " + as_pbl + " - " + as_object) fileclose(li_handle)end ifsessionclose(ll_sid)return li_resultend functionon n_cst_pborc.createcall super::createtriggerevent("constructor")end onon n_cst_pborc.destroytriggerevent("destructor")call super::destroyend on 更多 上一篇:PowerBuilder DeCompiler(pb decompiler) Demo download(PB反编译,支持5-12) 下一篇:程序员的SEO总结 查看评论 * 以上用户言论只代表其个人观点,不代表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 访问:517397次 积分:8562分 排名:第419名 原创: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)(12036) 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题)(8098) 程序员的SEO总结(7462) 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(6026) 在一台联想3000G430 T1600笔记本上安装黑苹果(东皇v10.6.3)成功(5958) PowerBuilder DeCompiler(pb decompiler) Demo download(PB反编译,支持5-12)(5926) PB11.5,PB12 web项目初探(5648) 文件夹加密原理 [转](5642) powerbuilder反编译器开发-第一步:pbd结构分析和pbkiller分析(5493) 评论排行 浅谈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 雨松.安卓