前往Shuct.Net首页

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

关于PBKILLER的搜索

【原创】PBKILLER导出的源码批量修复和批量导入技术 - 看雪安全论坛 看雪安全论坛 > 初学者园地 > 『求助问答』 【原创】PBKILLER导出的源码批量修复和批量导入技术 用户名 记住 密 码 忘记密码? KSSD 注册账号 搜索论坛 日历事件 论坛帮助 转到页面... 该主题: "【原创】PBKILLER导出的源码批量修复和批量导入技术" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。 主题工具 显示模式 yslzyhpt 初级会员 资 料: 注册日期: Oct 2007 帖子: 2 精华: 0 现金: 200 Kx 资产: 200 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 1 2007-12-16, 23:07:30 【原创】PBKILLER导出的源码批量修复和批量导入技术 1用PBKILLER可以从pbd导出"*.sr?"这样的文件,但是不能直接导出pbl 2由于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\(\)替换 classdefinition getscriptlist\(\) 替换scriptlist getscript\(1,\[*[]\]\).getname\()\ 替换scriptlist\[%1\].name getvariablelist\(\) getvariable\(1,\[*[]\]\).getname\()\ 替换variablelist\[%1\].name getargumentlist\(\) getargument\(1,\[*[]\]\).getname\()\ 替换 argumentlist\[%1\].name getlocalvariablelist\(\) getlocalvariable\(1,\[*[]\]\).getname\()\ 替换 localvariablelist\[%1\].name \?\?\?\?\? = l?_*[]$ 替换 %2 = l%1_%2 ,"+",+.\?\?\?\?\?(,|\)) 替换 ,"%1",%2.%1%3 \(+\)+\!messagebox\(\?\?\?\?\?\) 替换 messagebox\("",%1,%2\!\) ,\[+\](,|\)) 替换 ,{%1}%2 ==================================================== 如下是pb导入的核心函数,你可以写一个批处理,就不用一个一个手工导入源码了 forward global type n_cst_pborc from nonvisualobject end type end forward global type n_cst_pborc from nonvisualobject autoinstantiate end type global n_cst_pborc n_cst_pborc type prototypes public 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 prototypes type variables public long pborca_application public long pborca_datawindow = 1 public long pborca_function = 2 public long pborca_menu = 3 public long pborca_query = 4 public long pborca_structure = 5 public long pborca_userobject = 6 public long pborca_window = 7 public long pborca_pipeline = 8 public long pborca_project = 9 public long pborca_proxyobject = 10 public long pborca_binary = 11 public integer pborca_ok public long pborca_invalidparms = -1 public long pborca_dupoperation = -2 public long pborca_objnotfound = -3 public long pborca_badlibrary = -4 public long pborca_liblistnotset = -5 public long pborca_libnotinlist = -6 public long pborca_libioerror = -7 public long pborca_objexists = -8 public long pborca_invalidname = -9 public long pborca_buffertoosmall = -10 public long pborca_comperror = -11 public long pborca_linkerror = -12 public long pborca_currapplnotset = -13 public long pborca_objhasnoancs = -14 public long pborca_objhasnorefs = -15 public long pborca_pbdcounterror = -16 public long pborca_pbdcreaterror = -17 public long pborca_checkouterror = -18 end variables forward prototypes public function integer of_importfile (string as_syntax,string as_object,long al_type,string as_pbl,string as_library[],string as_appl) end prototypes public function integer of_importfile (string as_syntax,string as_object,long al_type,string as_pbl,string as_library[],string as_appl);long li_handle long ll_sid long ll_index integer li_result ll_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 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 if sessionclose(ll_sid) return li_result end function on n_cst_pborc.create call super::create triggerevent("constructor") end on on n_cst_pborc.destroy triggerevent("destructor") call super::destroy end on [公告]如果你觉得有人语言挑衅,请点每帖右上角的“举报”按钮! yslzyhpt 查看公开信息 查找 yslzyhpt 发表的帖子 查找 yslzyhpt 发表的所有主题 maikkk 初级会员 资 料: 注册日期: Dec 2006 帖子: 32 精华: 0 现金: 215 Kx 资产: 215 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 2 2007-12-17, 00:48:56 暂时看不懂..顶下 [公告]如果你觉得有人语言挑衅,请点每帖右上角的“举报”按钮! maikkk 查看公开信息 查找 maikkk 发表的帖子 查找 maikkk 发表的所有主题 mfme 初级会员 资 料: 注册日期: Nov 2007 帖子: 8 精华: 0 现金: 200 Kx 资产: 200 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 3 2007-12-17, 09:50:31 谢谢了,对我还是有点难! [招生]"麦洛克菲"内核驱动开发培训3月15日开课,看雪会员报名优惠200元! mfme 查看公开信息 查找 mfme 发表的帖子 查找 mfme 发表的所有主题 宝宝 初级会员 资 料: 注册日期: Jul 2005 帖子: 9 精华: 0 现金: 201 Kx 资产: 201 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 4 2008-03-14, 14:14:50 楼主的文章写的真好,就是看不懂,我太菜了,楼主能不能写一个程序出来看一看!! [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! 宝宝 查看公开信息 查找 宝宝 发表的帖子 查找 宝宝 发表的所有主题 添加到书签 Digg del.icio.us StumbleUpon Google 百度搜藏 QQ 书签 雅虎收藏 该主题: "【原创】PBKILLER导出的源码批量修复和批量导入技术" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。 &laquo; 上一主题 | 下一主题 &raquo; 主题工具 显示可打印版本 显示模式 平板模式 切换到混合模式 切换到树形模式 发帖规则 您不可以发表主题 您不可以回复帖子 您不可以上传附件 您不可以编辑自己的帖子 论坛论坛启用 vB 代码 论坛启用 表情图标 论坛启用 [IMG] 代码 论坛规则 论坛跳转 --> 用户控制面板 悄悄话 收藏夹 会员在线状态 搜索论坛 论坛首页 初学者园地 『求助问答』 『经典问答』 『资料导航』 Windows 『软件调试逆向』 『编程技术』 『C32Asm』 『MDebug』 『安全工具开发』 『加壳与脱壳』 『CrackMe&ReverseMe』 移动平台 『Android 开发』 『Android 安全』 『iOS安全』 『Windows Phone安全』 信息安全 『密码学』 学术会议版 『WEB安全』 『漏洞分析』 『云计算安全』 『外文翻译』 『资源下载』 职场风云 『招聘专区』 『职业生涯』 『15PB培训专区』 论坛生活 『茶余饭后』 『安全资讯』 『论坛活动』 6)PEDIY Crackme竞赛2009 7)看雪十周年专版 8)腾讯公司2010软件安全竞赛 9)2011 Exploit Me竞赛 安全图书 『图书项目版』 《加密与解密(第三版)》 《C++反汇编与逆向分析技术揭秘》 《Android软件安全与逆向分析》 『图书出版商』 『电子工业出版社』 『机械工业出版社』 站务管理 『论坛版务』 相似的主题 主题 主题作者 论坛 回复 最后发表 【原创】CRC32CrackMe的SDK源码。 windrand 『CrackMe&ReverseMe』 20 2012-06-02 23:12:25 【原创】dede导出的map转idc的perl脚本 yslzyhpt 『软件调试逆向』 6 2007-12-16 16:46:04 【原创】通过符号表找到系统未导出的函数地址源码 FlyToTheSpace 『编程技术』 7 2007-12-14 17:04:04 【原创】第2阶段第4题我的源码 ylp1332 『软件调试逆向』 4 2007-09-18 22:33:13 【原创】再来一个CM,难度一般(附我CM2的源码) NONAME剑人 『CrackMe&ReverseMe』 11 2007-06-28 11:22:41 所有时间均为北京时间, 现在的时间是 04:50:00. -- VBB3 -- Wap -- 大字体 -- English -- 简体中文 -- 繁體中文 联系我们 - 看雪学院 - 文字模式 - 返回顶端 &copy;2000-2013 看雪学院(PEdiy.com) |关于我们 |京ICP备11035376号 微信公众帐号:ikanxue 手机客户端: