精华内容
下载资源
问答
  • pbkill 2.5.18

    2011-12-24 15:55:27
    大名鼎鼎的pbkill,2.5.18版,直接使用。
  • 破解工具pbkill2.5.18

    2011-12-03 00:25:52
    破解工具pbkill2.5.8. 可以破解pb6-pb9的最佳破解工具
  • pbkill2518

    2010-01-23 15:19:50
    pb反编译最新版本,可以破解到9.x系列
  • pbkill pb反编译

    2011-04-07 06:09:37
    PB9及以前版本的PBD和DLL都可以直接查看代码,更高版的我没试过,不做评价!供大家学习用!
  • pb反编译功能

    2017-12-02 20:51:14
    pb反编译工具, pbkill2.5.1.8,非常好用,pb反编译工具, pbkill2.5.1.8,非常好用
  • pbkiller 2.5.18

    2018-06-13 16:29:03
    大名鼎鼎的pbkill,2.5.18版,直接使用。pb 破解工具,用来编辑查询powerbuilder 的PBD文件
  • 一群爱折腾的“老码农”晓衡已经38岁了,自从去年10月将自己的一款微信消除小游戏放到微店(上线效果不佳)以1折2元的价格出售,并在公众号上编写教程和视频。之后将又陆续将自己的PBKill...

    一群爱折腾的“老码农”

    晓衡已经38岁了,自从去年10月将自己的一款微信消除小游戏放到微店(上线效果不佳)以1折2元的价格出售,并在公众号上编写教程和视频。

    之后将又陆续将自己的PBKillerShaderHelper2组件GodGuide新手引导框架等工具库放到微店上,虽然晓衡已经在商品标题上说明开源免费,商品详情中有下载地址,但仍然获得了大家的支持,有25份的销量!

    「插件小王子」、「肖尧」的友情援手,又架了cc-inspector、粒子编辑器和成语小状元,特别是成语小状元,在新客户5折优惠下,成了晓衡微店的镇店之宝,同时也为伙伴带来了一笔不错的副业收益。

    因为成语的口碑,「肖尧」随后上架的《峭壁逃亡》、《旺旺食神猪》也获得老顾客的抢购,有几位常客真的是见啥要啥,已经消费过千元了!

    作者战狼小锋是一位卫生部门工作的公务人员,因工资收不高再加上对游戏开发的狂热,业余时间从零开始自学编程,经多年现在水平很专业,他是从 Unity 转战 CocosCreator 小游戏开发。

    小锋在疫情期间一直在一线工作,根本没时间写代码,在晓衡的邀请下入住微店!

    昨天女神节,小锋刚上架的源码《方块收割者》,画面出色的,上架就有人相中!

    项南的《恋爱街区》、白玉无冰的《不停歇的球》 、小刀的《三连消消乐》都有出货,最厉害的是《旺旺食神猪》成了上周的冠军,至此晓衡向所有入住店微信的伙伴们骄傲的说一声:“小游戏开发,副业增收,不再是一句空话了!

    共筑开发者命运共同体

    • 助力新手开发者快速入门

    • 帮助开发者探索小游戏上线流程

    • 助力开发者源码变现

    • 助力开发者技术精进

    • 助力开发者快速生产新游戏

    • 助力开发者寻找高端买家定制外包

    • 助力老板低成本创建小游戏矩阵

    有幸得到大家的信任,我的任务是帮助大家将源码变现,诚信第一。

    新品上线为了破单,前1~3天都会有5~6折的优惠活动,如果喜欢他们的作品,谢谢支持他们,如果愿意转发朋友圈晓衡再发优惠券!

    如果你有自己上线的微信小游戏源码,并愿意分享出售,欢迎来晓衡的微店,一起开启副业之路,共筑命运共同体!

    点击进入

    开发者源码推广计划

    目前晓衡的公众号、微店主要是靠自己与合作开发者的个人私域流量,为了增加开发者们源码作品曝光力度,晓衡会陆续将微店源码录制游戏体验视频。

    除了在公众号上开辟作者专栏外,还会上传:微店营销短视频、哔哩哔哩、抖音、快手等平台。游戏开发是手艺活,开发者们为这个世界带来那么多的快乐,自己却长年埋头苦习、辛勤编码,理应该得到更多的称赞!

    用心去创作,成为一名Creator战士,还会得到Cocos官方推荐,晓衡的《球球要回家大冒险》视频教程有被Jare获置顶待遇!

    一切的一切都离不开伙伴们的支持,一起来吧,围绕游戏开发的:技术、教程、视频、运营、营销我们都可以一起去探索,晓衡在线等你加入!

    展开全文
  • 最近在做PB的项目,该项目只有PBD文件,而没有源码,只能通过反编译PBD文件查看源码,逐步恢复该项目,由于之前没人接触过反编译,网上的PB资料也不是很多,所以一路都是自己摸索过来的,下面是我个人的一些总结,跟...

    最近在做PB的项目,该项目只有PBD文件,而没有源码,只能通过反编译PBD文件查看源码,逐步恢复该项目,由于之前没人接触过反编译,网上的PB资料也不是很多,所以一路都是自己摸索过来的,下面是我个人的一些总结,跟大家分享一下,如有不对的地方,欢迎大家指出。

    一、首先介绍一下项目中主要用到的软件,

    反编译软件主要是一下两个:

    ***这两个工具可以从这里下载:

    https://me.csdn.net/download/chengg0769

    也可从这里下载

    http://www.mis2erp.com

    http://www.pbdecompiler.com

    http://www.powerbuilder.ltd

    其他域名:

    http://www.pb-pbd-pbl.ltd

    http://www.datawindow.ltd

    http://www.shudepb.ltd

    http://www.dw2xls.ltd
    ————————————————
    左边红色的是反编译数据窗口的,右边绿色的是反编译函数、结构体、UO、窗口等,(这只是我个人反编译中用到的软件,并不是只有这两种工具)

    除了这两个,还有就是PB6.5.

    二、反编译流程:

    用PBkiller软件打开相应的PBD文件,显示如下,可以只导出需要的函数、窗口等,也可以全部导出,

    导出需要的窗口、方法、结构体或UO,数据窗口不能导出

    这里以导出的窗口为例,导出的窗口是后缀名为.srw的文件,然后打开PB6.5,点击下图中的图标,打开刚才导出的窗口


    打开之后如下,如图调整文件中的SQL语句,

    将SQL语句调整完成后保存,点击工具栏中的导入按钮,就可以将刚才导出的窗口导入到对应的PBL文件中,

    三、需要注意的地方:

    (1)这种控件的属性在反编译时显示如下,将左侧对应的地方改成右侧所示


     (2)有游标的地方,需要将下图划红线的地方去掉


    (3)反编译的窗口导入后,之前设置的控件的属性都丢失,需要重新设定一下

    (4)将反编译的窗口进行导入时,经过如上修改后有时还是会提示有错误,会提示在哪个控件的哪个事件中存在错误,只要打开源码找到相应的错误进行修改即可。

    四、数据窗口的反编译,用软件打开PBD文件,PBD中的数据窗口显示如下,


    数据窗口导出后可以直接导入到相应的PBL文件中

    五、反编译数据窗口需要注意的问题、

    (1)组合数据窗口


    以某个数据窗口为例,下面是该数据窗口的源码:


    反编译后,需要修改最后一行,比如这个数据窗口有7列,但是下面的data()有14个值,需要手动删除一半,若不删除,在点击打印时该数据窗口中的内容会打印两遍;

    这个问题我目前只在组合数据窗口中有发现,普通数据窗口不用修改源码。

    有总结不对的地方希望大家指出。

     

    原文:https://blog.csdn.net/sdust_k/article/details/25827695 

    展开全文
  • 当creator遇上protobufjs—pbkiller插件

    千次阅读 2017-09-22 20:09:56
    自从开始写protobufjs的分享教程,就开始坚持不懈的在CocosCreator论坛上自吹自擂,无意见被CocosCreator制作人南塔斯大神看到了。一不小心收到南大神的论坛私信,询问我可否将protobuf的使用制作成Creator的插件,...

    机缘

    自从开始写protobufjs的分享教程,就开始坚持不懈的在CocosCreator论坛上自吹自擂,无意见被CocosCreator制作人南塔斯大神看到了。一不小心收到南大神的论坛私信,询问我可否将protobuf的使用制作成Creator的插件,并邀我将插件入驻Creator付费商店。

    收到消息的第一时间,我异常兴奋。第一是我的经验分享竟能受到Creator官方大神的关注;其次是居然还可以入驻付费商店,对于程序员来说莫大的欣慰就是可以将代码变换现实中的价值。

    pb杀手

    通过一段时间的Creator插件学习与protobufjs源码的理解,再结合Creator项目经验,终于完成了第一版插件。在制作插件的过程中,插件的命名是最让我纠结的,因为我在曾经的项目中大量使用xxxHelper,编写了不少辅助工具。这次为了让我的第一个Creator插件看起来很牛逼一点点的感觉,我脑子冒出killer的字样,随后我就叫他:pbkiller
    不会美术的程序做的logo

    我先让pbkiller做个自我介绍:

    pbkiller: 我是一位专业的争对protobuf问题训练有素的杀手,我可以为你轻松搞定protobuf在CocosCreaotr开发中的诸多问题,并且可以让你随意折磨曾经折磨过你的protbuf问题。

    一、臣服

    让所有Proto都臣服在主人脚下
    我pbkiller最厉害的技能是可以快速逮捕proto文件,让他们臣服在主人脚下,不论是在浏览器、手机、桌面环境上。

    1. 呼唤

    只需要低声轻吟我的名字我就会出现在你的身边,对于我的主人我是非常温柔的。

    let pbkiller = require('pbkiller');

    2. 让proto文件跪在主人面前

    对于proto文件我是残忍的,但请主人预先将所有proto文件放在assets/resources/pb目录,输入loadAll()指令,我会将proto文件一网打尽,让它们全部跪在你的面前。

    let pb = pbkiller.loadAll(); //所有proto对象都集中在返回的pb对象上

    3. 让json格式同样下跪

    如果主人喜欢json格式的proto文件,目前需要麻烦主人先使用protobufjs附带的pbjs工具将proto文件转换成json格式存放在assets/resources/pb目录,同样跪下。

    let pb = pbkiller.loadAll('json'); //所有proto对象都集中在返回的pb对象上

    4. 逮捕指定文件名中的的proto文件


    如果主人只需逮捕某一个或多个proto文件,可以使用loadFromFile。

    let pb = pbkiller.loadFromFile('xxx.proto'); 
    let pb = pbkiller.loadFromFile(['xxx.proto', 'yyy.proto']); 
    let pb = pbkiller.loadFromFile(['xxx.json', 'yyy.json']);

    5. 逮捕不同地域的proto文件

    主人,我默认的逮捕路径是assets/resources/pb,可以通过下面属性修改路径。

    //使用root属性修改路径
    pbkiller.root = 'my-pb-path';
    //此时逮捕路径为:assets/resources/my-pb-path 
    pbkiller.loadAll(); 

    二、折磨

    虽然我们名字中带有killer,但是最高兴不是一下子把敌人杀掉,而是折磨它,因为他曾经可能折磨过我的主人,所以不能让它死的太简单了,哈哈哈。

    1. 揪出一个proto给主人扭打(实例化)

    主人,我把proto给你抓来了,你可以使用new关键字,随意扭打proto了。

    //逮捕所有proto文件,并指定编译grace.proto.msg包路径下的所有对象
    let pb = pbkiller.loadAll('proto', 'grace.proto.msg');
    let player = new pb.Player();    //扭打Player
    player.name = 'ShawnZhang';      //再踹一脚

    2.挨一轮巴掌与低声哭(序列化与反序列化)

    主人,让proto挨一轮巴掌使用toArrayBuffer,如果你觉得有点累可以使用toBuffer他们的效果完全是一样的。

    let player = new pb.Player();  //先扭打
    let data = player.toBuffer();  //再来一巴掌

    上面我们把player打成了data,现在把它打回来,让他哭一下就好了,但是只是小声的哭,请下答decode指令。

    let player = pb.Player.decode(data); //主人允许你小声哭,回来吧

    三、内讧

    我:“pbkiller没想到你的话这么多,让你自己我介绍一下下,讲这么大一堆。对待proto这么残忍,又主人主人的,特别肉麻,好恶心”

    pbkiller:“这年头,你以为杀手是那么容易当的么,杀手也要学会自我营销,注重用户体验,你以前那种介绍方式out了”。

    我:“你居然敢说我out了,小心我把你给kill了”。

    pbkiller:“你是老大,你说了算,我看有多少人喜欢你说话的方式” pbkiller一脸鄙夷的神情。

    四、正式说明

    pbkiller插件是为了在CocosCreator中简化protobufjs库的使用,并且可以让protobuffer工作在浏览器和jsb环境上。

    1.安装

    pbkiller插件有两种安装模式:
    - install-src:源码模式,此模式会将protobufjs原码导入项目中,不依赖任何外部文件。对npm不熟悉的用户推荐使用此模式安装。
    - install-lite:简化模式,此模式需要提前安装protobufjs npm模块,安装命令:npm install protobufjs@5

    安装完成后,会导入如下文件:
    1. protobufjs源码(简化模式无此目录)
    2. pbkiller源码、及fs/path伪装模块
    3. 简单的测试场景和代码
    4. 测试proto文件

    下面是导入文件和目录结构:

    pbkiller                    
    ├── protobuf                protobufjs源码
    │   ├── bytebuffer.js
    │   ├── long.js
    │   └── protobufjs.js
    ├── src                     pbkiller源码
    │   ├── fs.js               fs伪装
    │   ├── path.js             path伪装
    │   └── pbkiller.js         pbkillers核心代码
    └── test
        ├── test-pbkiller.fire  测试场景
        └── test-pbkiller.js    测试组件代码
    resources                   resource/pb是默认的proto文件存放的根目录        
    └── pb                      以下文件为测试用proto文件,可以自行删除
        ├── ActionCode.proto    
        ├── ChatMsg.proto        
        ├── Player.json
        └── Player.proto

    2. 快速使用

    导入模块

    let pbkiller = require('pbkiller');

    加载resources/pb目录下所有proto文件

    //加载所有proto文件
    let pb = pbkiller.loadAll(); 
    //实例化proto中的Player对象
    let player = new pb.grace.proto.msg.Player();

    指定文件格式:[proto|json] 默认为proto

    //注意json文件是由protobufjs提供的pbjs工个生成
    let pb = pbkiller.loadAll('json');

    指定编译的对象路径

    let pb = pbkiller.loadAll('proto', 'grace.proto.msg');
    cc.log(new pb.Player());

    3. 特别注意

    在加载proto时可以使用扩展名为.proto.json的文件,pbkiller支持两种混用,但需要特别注意的如果有proto之间有依赖关系,请保证依赖文件之间是相同的文件格式。

    五、期待

    目前pbkiller在Cocos商店已经上架,不过官方为了严格测试整个付费商店的上传、审核、支付等流程,可能还需要等待一段时间才能下载,敬请期待。

    我很想知道,你们是喜欢pbkiller的介绍方式,还是我写的介绍方式?期待你的留言。

    展开全文
  • 今天做了一个简单的structrue,编译得到一个pbd文件,在pb中,全局结构是代码最少的。发现几个问题:1.pbkiller无法得到blob{n}这种申明,ue查看是他少分析了一部分字节,比如dec{2},dec{4}都不能反编译,全部编译为...

    今天做了一个简单的structrue,编译得到一个pbd文件,在pb中,全局结构是代码最少的。

    发现几个问题:

    1.pbkiller无法得到blob{n}这种申明,ue查看是他少分析了一部分字节,比如dec{2},dec{4}都不能反编译,全部编译为:dec。

    2.pbkiller目录下的文件vmxxx.dat大致为一个包含pb所有内置对象,函数,实践,属性调用的例程。可能视图通过此样本与客户代码比较得到反编译信息。具体还得研究。另外shudepb当时应该也是参考此软件,我记得之前好像他说参考pbkiller不断对比调试之类的话,在哪里看到的搞忘了。

    *经查:vm196.dat来自pbvm90.dll的0x422200h处的资料。看样子是pb9的全部枚举和对象清单。

     

    3.对pbkiller的原理进行了透析:编译一个pbd,然后启动pbkiller,然后ue修改pbd的字节,逐渐推断和比较,终于分析出pbkiller依赖的部分,这些部分就形成解析源码的依据。目前我对structrue已经完全解析,而且知道了各部分的真正含义。包括blob{256}是如何申明和表示的。后续其他对象可能很复杂,比如window。但我现在已经打开思路,并会沿着这个思路一致研究下去。

    4.附上我分析的pbd文件,是一个结构:

    a。源码:

    global type str_a from structure
     blob{256}  aaa
     boolean  bbb
     character  ccc
     checkbox  ddd
     commandbutton  eee
     datawindow  fff
     datawindowchild  ggg
     date  hhh
     datetime  iii
     decimal { 0 }  jjj
     decimal { 2 }  kkk
     decimal { 4 }  lll
     double  mmm
     w_bbbb  nnn
    end type

    b。关键字节(无关字节我已经抹为00了),具体含义我就不便写的太明白了。本来写在这里也主要给自己留个参考。

    00001200h: 44 41 54 2A 00 14 00 00 F6 01 00 00 08 00 00 00 ; DAT*....?......
    00001210h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00001220h: 00 00 DE 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ..?............
    00001230h: 00 00 73 74 72 75 63 74 75 72 65 00 73 74 72 5F ; ..structure.str_
    00001240h: 61 00 61 63 63 65 73 73 69 62 6C 65 73 74 61 74 ; a.accessiblestat
    00001250h: 65 00 61 63 63 65 73 73 69 62 69 6C 69 74 79 00 ; e.accessibility.
    00001260h: 6D 61 69 6C 72 65 63 69 70 69 65 6E 74 00 65 6E ; mailrecipient.en
    00001270h: 76 69 72 6F 6E 6D 65 6E 74 00 6D 61 69 6C 66 69 ; vironment.mailfi
    00001280h: 6C 65 64 65 73 63 72 69 70 74 69 6F 6E 00 6D 61 ; ledescription.ma
    00001290h: 69 6C 6D 65 73 73 61 67 65 00 64 61 74 61 77 69 ; ilmessage.datawi
    000012a0h: 6E 64 6F 77 63 68 69 6C 64 00 6C 69 73 74 76 69 ; ndowchild.listvi
    000012b0h: 65 77 69 74 65 6D 00 74 72 65 65 76 69 65 77 69 ; ewitem.treeviewi
    000012c0h: 74 65 6D 00 63 6F 6E 6E 65 63 74 69 6F 6E 69 6E ; tem.connectionin
    000012d0h: 66 6F 00 63 68 65 63 6B 62 6F 78 00 63 6F 6D 6D ; fo.checkbox.comm
    000012e0h: 61 6E 64 62 75 74 74 6F 6E 00 64 61 74 61 77 69 ; andbutton.datawi
    000012f0h: 6E 64 6F 77 00 77 5F 62 62 62 62 00 70 6F 77 65 ; ndow.w_bbbb.powe
    00001300h: 72 6F 62 6A 65 63 74 00 54 01 00 00 00 00 FF FF ; robject.T.....
    00001310h: 00 00 08 00 00 00 00 00 00 00 40 15 00 00 00 00 ; ..........@.....
    00001320h: 00 00 FF FF 00 00 12 00 00 00 00 00 00 00 00 15 ; ..............
    00001330h: 00 00 00 00 00 00 FF FF 00 00 18 00 00 00 02 00 ; ..............
    00001340h: 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 28 00 ; ............(.
    00001350h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF ; ..............
    00001360h: 00 00 36 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ..6.............
    00001370h: 00 00 FF FF 00 00 44 00 00 00 00 00 00 00 00 00 ; ....D.........
    00001380h: 00 00 00 00 00 00 FF FF 00 00 50 00 00 00 00 00 ; ........P.....
    00001390h: 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 64 00 ; ............d.
    000013a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF ; ..............
    000013b0h: 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ..p.............
    000013c0h: 00 00 FF FF 00 00 80 00 00 00 00 00 00 00 00 00 ; ....€.........
    000013d0h: 00 00 00 00 00 00 FF FF 00 00 8D 00 00 00 00 00 ; ........?....
    000013e0h: 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 9A 00 ; ............?
    000013f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF ; ..............
    00001400h: 44 41 54 2A 00 16 00 00 F6 01 00 00 A9 00 00 00 ; DAT*....?..?..
    00001410h: 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 ; ..............
    00001420h: B2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ?..............
    00001430h: FF FF 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 ; ..?..........
    00001440h: 00 00 00 00 FF FF 00 00 CB 00 00 00 00 00 00 00 ; ......?......
    00001450h: 00 00 00 00 00 00 00 00 FF FF 00 00 D2 00 00 00 ; ..........?..
    00001460h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 ; ................
    00001470h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00001480h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00001490h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000014a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000014b0h: 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ; ................
    000014c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000014d0h: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; @...............
    000014e0h: 61 61 61 00 62 62 62 00 63 63 63 00 64 64 64 00 ; aaa.bbb.ccc.ddd.
    000014f0h: 65 65 65 00 66 66 66 00 67 67 67 00 68 68 68 00 ; eee.fff.ggg.hhh.
    00001500h: 69 69 69 00 6A 6A 6A 00 6B 6B 6B 00 6C 6C 6C 00 ; iii.jjj.kkk.lll.
    00001510h: 6D 6D 6D 00 6E 6E 6E 00 18 01 00 00 00 00 FF FF ; mmm.nnn.......
    00001520h: 00 00 08 00 00 00 00 00 00 00 00 1D 0B 00 00 00 ; ................
    00001530h: 00 00 FF FF 00 00 0C 00 00 00 00 00 00 00 00 00 ; ..............
    00001540h: 07 00 00 00 00 00 FF FF 00 00 10 00 00 00 00 00 ; ..............
    00001550h: 00 00 00 00 12 00 00 00 00 00 FF FF 00 00 14 00 ; ..............
    00001560h: 00 00 00 00 00 00 00 00 0C 80 00 00 00 00 FF FF ; .........€....
    00001570h: 00 00 18 00 00 00 00 00 00 00 00 00 0D 80 00 00 ; .............€..
    00001580h: 00 00 FF FF 00 00 1C 00 00 00 00 00 00 00 00 00 ; ..............
    00001590h: 0E 80 00 00 00 00 FF FF 00 00 20 00 00 00 00 00 ; .€...... .....
    000015a0h: 00 00 00 00 08 80 00 00 00 00 FF FF 00 00 24 00 ; .....€......$.
    000015b0h: 00 00 00 00 00 00 00 00 0C 00 00 00 00 00 FF FF ; ..............
    000015c0h: 00 00 28 00 00 00 00 00 00 00 00 00 0E 00 00 00 ; ..(.............
    000015d0h: 00 00 FF FF 00 00 2C 00 00 00 00 00 00 00 00 00 ; ....,.........
    000015e0h: 05 00 00 00 00 00 FF FF 00 00 30 00 00 00 00 00 ; ........0.....
    000015f0h: 00 00 04 0D 05 00 00 00 00 00 FF FF 00 00 34 00 ; ............4.
    00001600h: 44 41 54 2A 00 00 00 00 A2 00 00 00 00 00 00 00 ; DAT*....?......
    00001610h: 08 0D 05 00 00 00 00 00 FF FF 00 00 38 00 00 00 ; ..........8...
    00001620h: 00 00 00 00 00 0D 04 00 00 00 00 00 FF FF 00 00 ; ..............
    00001630h: 3C 00 00 00 00 00 00 00 00 00 0F 80 00 00 00 00 ; <..........€....

     

    //补充

    主要任务:

    1. 各种对象的编译后数据结构分析(主要是win,structre,menu,funciton,uo,比如函数的变量在哪,变量的类型,accesstype,返回值类型等)

    2. 从对象角度看:pb中都是对象(structre除外,它保持c的习惯;function除外,它也保持c函数习惯,其他几种都可以看做对象object,凡是对象就有几个要素:a.它的名字就是新类型;2.属性区(共享和实例);3.函数(分外部和局部)与事件;4.控件,比如tab里面放置的子控件;5.局部结构体)

    3. 分析要点:a. 各种对象存放编译后数据的框架(结构);b.变量申明和初始值;c. 文字和数字字面量; d.赋值操作; e. 混合运算; f.函数和事件调用;g. 特殊语法分析,如if,for,while,try...catch,throws等;h.sql语法嵌入和变量绑定。

    展开全文
  • PBKiller

    2007-09-02 18:53:26
    PBKiller.rar 工具包:PowerBuilder 破解,反编译工具.前面上传的哪个,说是下载不了,或者没有可执行文件,请管理员将前面哪个PBKiller 删掉,这个免费下载,给同僚带来不便,还请谅解,谢谢!
  • PBKiller是一款非常优秀的PB反编译器,它可以反编译PB6.7.8.9编译出来的所有对象和源码。 用PBkiller软件打开相应的PBD文件,显示如下,可以只导出需要的函数、窗口等,也可以全部导出。 ... 截图: ...
  • 看雪一阵猛搜,晕竟是传说中的PB程序,好吧PBKILL翻开全部PDB,逐个检查,总算在一个文件里面找到if ssnum = "a4r43gtygdg" then else destroy(main_util) messagebox("操作提示","注册失利") halt close return end ...

空空如也

空空如也

1
收藏数 13
精华内容 5
热门标签
关键字:

pbkill