前往Shuct.Net首页

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

关于shudepb的搜索

powerbuilder防止反编译: pbkiller无法解析的部分_吴立海_新浪博客 加载中… 吴立海的BLOG http://blog.sina.com.cn/wulihai888 [订阅][手机订阅] 首页 博文目录 图片 关于我 个人资料 吴立海 Qing 微博 加好友 发纸条 写留言 加关注 博客等级: 博客积分:157 博客访问:1,453 关注人气:0 天天美食 精彩图文 相关博文 更多>> 推荐博文 第1044篇&bull;搋子 马未都 房价怎样才会下跌? 陈思进 房价与交通之间逻辑紧密,我的观 董藩 中日“愤怒外交”何时休 黄文炜日本印象 剑挑李东生,忽报人间又伏虎! 红缨老枪 韩国女星五千万卖淫中国幕后真相 马庆云 我被委内瑞拉警察抢走一千美金的 孤独川陵 中国与印度的签证故事 毛四维 好戏,河南400大学生扮农民工 盛京关捷 纽约的离职官员何处去 陈九 查看更多>> 谁看过这篇博文 加载中… 正文 字体大小:大 中 小 powerbuilder防止反编译: pbkiller无法解析的部分 (2010-03-19 08:53:27)转载▼ 标签: 杂谈 [转]powerbuilder防止反编译: pbkiller无法解析的部分公布 午夜 发表于2010年03月18日 23:17 阅读(1) 评论(0) 分类: 乱弹PB pbkiller无法解析的部分" />举报 pbkiller无法解析的部分" TITLE="powerbuilder防止反编译: pbkiller无法解析的部分" /> pbkiller无法解析的部分" TITLE="powerbuilder防止反编译: pbkiller无法解析的部分" /> [转]powerbuilder防止反编译: pbkiller无法解析的部分公布 powerbuilder防止反编译: pbkiller无法解析longlong类型而且错得一塌糊涂 pbkiller2.5.18无法解析longlong类型,一旦你申明longlong类型无法反编译出类型,值也不对,因为longlong采用类似指针的方式存放值。 只要在代码中如此写: int aaa =100 long bbb = 1000 longlong ccc = 20000 boolean ddd = false datawindow dwx aaa = 2 - 3 bbb = 1 -2 ccc = ((((((aaa + ccc *aaa + ccc)))))) return 1 反编译出来是: integer aaa = 100 long bbb = 1000 ccc = 8 boolean ddd = false datawindow dwx aaa = 2 - 3 bbb = 1 - 2 ccc.commit using aaa; aaa.pbm_bmgetstate.commit using pbm_bmgetstate; return return return 补充: 同样的,只要出现longlong类型的字面量,都会出现解析不到的问题 source: return 1 return 10 return 100 return 1000 return 10000 return 100000 return 1000000 return 10000000 return 100000000 return 1000000000 return 10000000000 return 100000000000 return 1000000000000 return 10000000000000 return 100000000000000 return 1000000000000000 return 10000000000000000 return 100000000000000000 return 1000000000000000000 return 10000000000000000000 反编译后: do do do do do return 1 return 10 return 100 return 1000 return 10000 return 100000 return 1000000 return 10000000 return 100000000 return 1000000000 return return destroy(?????) return return return return return primary return return loop while 0 loop while " " loop while loop while loop while return 20090822:今天在写一个demo时,发现pbkiller在解析参引对象列表时存在问题: type strc_333 from structure blob aaa blob aaax[255] blob aaay[255,254,253,252] blob aaa1 blob aaa2 boolean bbb char ccc date eee datetime fff decimal ggg decimal ggg0 decimal ggg1 decimal ggg2 decimal ggg3 decimal ggg4 decimal ggg5 decimal ggg6 decimal ggg7 decimal ggg8 decimal ggg9 decimal ggg10 decimal ggg11 decimal ggg12 decimal ggg13 decimal ggg14 decimal ggg15 decimal ggg16 decimal ggg17 decimal ggg18 double jjj integer kkk long lll ??????? mmm string nnn time ppp uint qqq ulong rrr real sss any ttt accessibility t1 accessiblestate t2 adoresultset t3 application t4 arraybounds t5 checkbox t6 classdefinition t7 classdefinitionobject t8 commandbutton t9 connection t10 connectioninfo t11 connectobject t12 contextinformation t13 contextkeyword t14 corbabadcontext t15 corbabadinvorder t16 corbabadoperation t17 corbabadparam t18 corbabadtypecode t19 corbacommfailure t20 corbacurrent t21 corbadataconversion t22 corbafreemem t23 corbaimplimit t24 corbainitialize t25 corbainternal t26 corbaintfrepos t27 corbainvalidtransaction t28 corbainvflag t29 corbainvident t30 corbainvobjref t31 corbamarshal t32 corbanoimplement t33 corbanomemory t34 corbanopermission t35 corbanoresources t36 corbanoresponse t37 corbaobjadapter t38 corbaobject t39 corbaobjectnotexist t40 corbapersiststore t41 corbasystemexception t42 corbatransactionrequired t43 corbatransactionrolledback t44 corbatransient t45 corbaunion t46 corbaunknown t47 corbauserexception t48 cplusplus t49 datastore t50 datawindow t51 datawindowchild t52 dividebyzeroerror t53 dragobject t54 drawobject t55 dropdownlistbox t56 dropdownpicturelistbox t57 dwobject t58 dwruntimeerror t59 dynamicdescriptionarea t60 dynamicstagingarea t61 editmask t62 enumerationdefinition t63 enumerationitemdefinition t64 environment t65 error t66 errorlogging t67 exception t68 extobject t69 function_object t70 graph t71 graphicobject t72 graxis t73 grdispattr t74 groupbox t75 hprogressbar t76 hscrollbar t77 htrackbar t78 inet t79 internetresult t80 jaguarorb t81 line t82 listbox t83 listview t84 listviewitem t85 mailfiledescription t86 mailmessage t87 mailrecipient t88 mailsession t89 mdiclient t90 menu t91 menucascade t92 message t93 multilineedit t94 nonvisualobject t95 nullobjecterror t96 olecontrol t97 olecustomcontrol t98 oleobject t99 oleruntimeerror t100 olestorage t101 olestream t102 oletxnobject t103 omcontrol t104 omcustomcontrol t105 omembeddedcontrol t106 omobject t107 omstorage t108 omstream t109 orb t110 oval t111 pbtocppobject t112 pbxruntimeerror t113 picture t114 picturebutton t115 picturehyperlink t116 picturelistbox t117 pipeline t118 powerobject t119 profilecall t120 profileclass t121 profileline t122 profileroutine t123 profiling t124 radiobutton t125 rectangle t126 remoteobject t127 resultset t128 resultsets t129 richtextedit t130 roundrectangle t131 runtimeerror t132 scriptdefinition t133 service t134 simpletypedefinition t135 singlelineedit t136 sslcallback t137 sslserviceprovider t138 statichyperlink t139 statictext t140 structure t141 systemfunctions t142 tab t143 throwable t144 timing t145 traceactivitynode t146 tracebeginend t147 traceerror t148 traceesql t149 tracefile t150 tracegarbagecollect t151 traceline t152 traceobject t153 traceroutine t154 tracetree t155 tracetreeerror t156 tracetreeesql t157 tracetreegarbagecollect t158 tracetreeline t159 tracetreenode t160 tracetreeobject t161 tracetreeroutine t162 tracetreeuser t163 traceuser t164 transaction t165 transactionserver t166 treeview t167 treeviewitem t168 typedefinition t169 userobject t170 variablecardinalitydefinition t171 variabledefinition t172 vprogressbar t173 vscrollbar t174 vtrackbar t175 window t176 windowobject t177 m_1 t200 m_2 t201 m_3 t202 m_4 t203 m_5 t204 m_6 t205 m_7 t206 m_8 t207 m_9 t208 m_10 t209 m_11 t210 m_12 t211 m_13 t212 m_14 t213 m_15 t214 m_16 t215 m_17 t216 m_18 t217 m_19 t218 m_21 t220 m_22 t221 m_23 t222 m_24 t223 m_25 t224 m_26 t225 m_27 t226 m_28 t227 m_29 t228 m_31 t230 m_32 t231 m_33 t232 m_34 t233 m_35 t234 m_36 t235 m_37 t236 m_38 t237 m_39 t238 m_41 t240 m_42 t241 m_43 t242 m_44 t243 m_45 t244 m_46 t245 m_47 t246 m_48 t247 m_49 t248 m_51 t250 m_52 t251 m_53 t252 m_54 t253 m_55 t254 m_56 t255 m_57 t256 m_58 t257 m_59 t258 m_61 t260 m_62 t261 m_63 t262 m_64 t263 m_65 t264 m_66 t265 m_67 t266 m_68 t267 m_69 t268 m_71 t270 m_72 t271 m_73 t272 m_74 t273 m_75 t274 m_76 t275 m_77 t276 m_78 t277 m_79 t278 m_81 t280 m_82 t281 m_83 t282 m_84 t283 m_85 t284 ?????? t285 ?????? t286 ?????? t287 ?????? t288 ?????? t290 ?????? t291 ?????? t292 ?????? t293 end type 红色问号部分为无法解析的部分。一般而言,参引对象列表系统的一共177个内置对象。我又加了100个menu对象。很明显作者认为最多可以引用255个。其实不然。参引对象可以多达32768个。 //20090820:补充 type strc_111 from structure string ccc string ccc1[12] //source为ccc1[2 to 12];看来没有搞定所有的声明方式。 string ccc2[65535] string ccc3[255,255] string ccc4[255,255,255] string ccc5[255,255,255,255] end type //20090821: 在uo或win的instance和shared区分别申明两个int变量: instance : int ii_111 = 65535 //反编译为-1 shared: int si_222 = 65535 //反编译为65535,从存储本质来看,是没问题,但是参与其他提升计算就会有问题。 //20090822 发现枚举类型它无法反编译得到初始值。 alignment lal_111= left! alignment lal_222= right! alignment lal_333= center! //20090823 一个变量的申明格式如:{access-right,accessread,accesswrite} datatype{size}{precision} varname pbkiller对access部分没有解析,也就是public,private,protected等。对constant也没解析,对 size部分和precision部分都没有解析,就是其他篇里指出的如:blob{255} var1和dec{4} var2这样的情况没有得到解析。可见,其还是非常欠缺的。 //20090903 uing u1 = 65537 //取模应该是 u1 = 1,但是它没有处理。只是显示65537. //20090903: real = 100.01,测试反编译值是错误的。可能是用c++的unsigned int去取值,然后转成double处理的。证明是错误的。real应该转c++的float才是正确的。我在做decompiler时也犯同样错误,后面改为 float f1; memcpy(&f1,&uint1,4),这样处理即ok。 //20090903 ulong c3 = 4294967294 反编译为-2 ulong c4 = 4294967295 反编译为-1 dec{16} dec{17}dec{18}的变量初值错误。 很明显是用c++的unsigned __int32去取得pb的四位ulong值,但是显示时要IntToStr(),这个函数支持int和__int64两种,很明显作者并未进行强制转换,致使出现-2,-1的错误。 鉴于目前pb6-9使用很普遍。这里给大家提个醒,可以利用pbkiller的bug防止关键数据。如果作者不更新的话(目前看的使用形式看,他不会更新了,因为pb已经不热了。而且他软件是免费的,缺少原动力。)这些问题永远都会存在的。我们善加利用之。 分享: 喜欢 阅读┊ 评论 ┊ 收藏 ┊转载 ┊ 喜欢▼ ┊打印┊举报 已投稿到: 排行榜 圈子 加载中,请稍候...... 前一篇:powerbuilder程序如何对抗shudepb?pb防反编译 后一篇:林,珍重! 评论 重要提示:警惕虚假中奖信息 | [发评论] 评论加载中,请稍候... 发评论 | 登录名: 密码: 找回密码 注册 记住登录状态昵 称: 分享到微博 评论并转载此博文验证码: 请点击后输入验证码 收听验证码 匿名评论 发评论 以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 < 前一篇powerbuilder程序如何对抗shudepb?pb防反编译 后一篇 >林,珍重! 新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正 新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑 Copyright &copy; 1996 - 2013 SINA Corporation, All Rights Reserved 新浪公司 版权所有