前往Shuct.Net首页

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

关于PBKILLER的搜索

PBKILLER导出的源码批量修复和批量导入技术(转)_人人IT网 绿色 蓝色 红色 桃红色 黑色 褐色 广告联系|高级搜索|网站地图|TAG标签|RSS订阅【设为首页】【加入收藏】 主页 IT新闻 JAVA编程 编程语言 操作系统 数据库 服务器软件 开发管理 其它综合 搜索 站内搜索 google搜索 搜索 热门标签: 李敖之子 马化腾 腾讯 开放API 上厕所 nginx POST Auctiva c# 超图软件 字符编码 Mysql创建用户帐户 × Hibernate Spring Struts iBATISANT SWING JSP技术 设计模式 DAO 领域模型 SOA JAVA综合 网络编程 游戏编程 开发框架 JUNIT 多线程 MAVEN WebService JBPM servlet EJB AOP Groovy JDBC J2EE J2ME JMX P2P JSF velocity 返回首頁 当前位置: 主页 > JAVA编程 > ANT > PBKILLER导出的源码批量修复和批量导入技术(转) 时间:2010-10-25 02:33来源:互联网 作者:互联网 点击:次 PBKILLER导出的源码批量修复和批量导入技术 原文:http://itmed.blog.sohu.com/96898840.html 原文发表于2008-08-10 作者深蓝无忌 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 本文摘自:http://blog.csdn.net/chengg0769/archive/2010/10/04/5920996.aspx 顶一下 (0) 0% 踩一下 (0) 0% ------分隔线---------------------------- 上一篇:教程:如何用Axis2开发和部署Web服务 下一篇:MYSQL:master/slave主从复制 收藏 挑错 推荐 打印 --> 发表评论 请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。 评价: 中立 好评 差评 表情: 验证码: 匿名? 发表评论 最新评论 进入详细评论页>> 栏目列表 Hibernate Spring Struts iBATISANT SWING JSP技术 设计模式 DAO 领域模型 SOA JAVA综合 网络编程 游戏编程 开发框架 JUNIT 多线程 MAVEN WebService JBPM servlet EJB AOP Groovy JDBC J2EE J2ME JMX P2P JSF velocity 推荐内容 SVN与bugzilla整合 一、Linux下subversion安装配置 1、安装subversion及配置 建议用户以root身份登陆系统... CISCO发现协议(CDP)理论与实验 CISCO发现协议(cisco discovery protocol)是由cisco设计的专用协议,能够帮助管理员... 用Whats Up来监控系统服务 问题: 一台备份服务器打完补丁重启后,备份服务没有正常自动开启,导致当晚的备份失... 关于印度爱经图片版本说明 很早以前,曾经弄到过一般印度爱经的电子书籍,上面图文并茂,不过后面... 在OOW2009上寻宝撞大运续(床上篇) 历时5天的Oracle Open World 2009终于,终于结束了。今天最后的节目是去听一场金融分... Android教程之如何使用自定义字体 要在其他平台实现自定义字体可谓是相当的麻烦,但是在Android平台就很简单了。 首先将... 热点内容 Windows 下安装 SSH 服务 Unable to instantiate Action处 MyEclipse部署Web项目时报 java. Dynamo基础之Merkle Tree ux.maximgb.treegrid 使用指南 did you forget to inherit a re [转载]ExtJs疑难杂症之GridPanel Windows下基于Cygwin和Eclipse的 SAP.暴力破解SAP系统DDIC账户密 转载 session过期时间 Copyright &copy; 2010-2020 RENREN.IT. 人人IT网 版权所有 Powered by DedeCMSV56_GBK