前往Shuct.Net首页

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

关于PB反编译的搜索

powerbuilder Decimal内部表示方式解析 - chengg0769 来自四川,在东莞虚度十载 - 博客频道 - CSDN.NET chengg0769 来自四川,在东莞虚度十载 PB反编译_Powerbuilder DeCompiler_PB反编译器_PB混淆器_PB加密 目录视图 摘要视图 订阅 学院APP首次下载,可得50C币! 欢迎来帮助开源“进步” 当讲师?爱学习?投票攒课吧 CSDN 2015博客之星评选 感恩分享 powerbuilder Decimal内部表示方式解析 标签: powerbuilderfunctionhexfloatlist测试 2009-09-04 02:06 1312人阅读 评论(1) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 Decimal是16bytes数据类型。最大精度18位。 如果申明时写:dec var1 = xxx,它内部初始值会自动设置精度: 000014d9h: 01 00 08 00 F6 FF 09 00 00 00 00 00 00 00 B8 00 dec{8} q111111111111111111 = -0.0065535000014d9h: 01 00 0C 00 60 79 9E 86 01 00 00 00 00 00 B8 00 dec{12} q111111111111111111 = -0.0065535000014c9h: 01 00 00 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -65535000014d9h: 01 00 01 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -6553.5000014d9h: 01 00 02 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -655.35000014d9h: 01 00 03 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -65.535000014d9h: 01 00 04 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -6.5535000014d9h: 01 00 05 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -0.65535000014d9h: 01 00 06 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -0.065535000014d9h: 01 00 07 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -0.0065535000014d9h: 01 00 08 00 FF FF 00 00 00 00 00 00 00 00 B8 00 dec q111111111111111111 = -0.00065535 由上的hex可见,dec申明时系统决定精度,最大可能满足最好的保存方式。 而dec{8}的方式如果赋值长度超过,将被截取掉。 pbkiller有2个bug,一是没处理正负号,二是小于1的小数,它一直是保持小数点不动,也就是没处理指数(仅仅小于1的情况下,大于1的情况有处理ok)。 内部的二进制表示上看,低2位表示正负号,目前只使用了1bit,3-4位表示精度。4-12是以一个__int64表示的极大整数 为了解析这个decimal格式,整整花了一天时间。pb的real对应c++的float,double对应c++的double。 iGetLen = 8; longlongValue=0; memcpy(&longlongValue,pDataResLocal + iDataOrPoint + 4,iGetLen); sReturn = IntToStr(longlongValue); //指数部分;如果申明dec var1,这个精度是根据赋值时自动进行的。 //原则是尽可能保存完整。但是如果申明dec{8} var1,这精度是固定的。 //给小数点 inttemp = sReturn.Length(); //长度不要变动,后面给指数时还用到。 if (inttemp >1){ sReturn = sReturn.SubString(1,1) + "." + sReturn.SubString(2,inttemp - 1); } //去掉尾部的多余0 intValue = inttemp + 1; //小数点; while(intValue>3){ if(sReturn.SubString(intValue,1) == "0"){ intValue --; if(intValue < 4) break; }else{ break; } } sReturn = sReturn.SubString(1,intValue); //变更指数 iGetLen = 2; intValue = 0; memcpy(&intValue,pDataResLocal + iDataOrPoint + 2,iGetLen); if (intValue - inttemp + 1 !=0){ sReturn +="E" + IntToStr(-(intValue - inttemp + 1)); } //处理正负号 iGetLen = 1; intValue = 0; memcpy(&intValue,pDataResLocal + iDataOrPoint,iGetLen); if(intValue){ sReturn = "-" + sReturn; } break; 程序demo: //dec{8} q1 = -123.44320123dec{8} q11 = 0.01dec{8} q12 = 0.001dec{8} q13 = 0.0001dec{8} q14 = 0.00001dec{8} q15 = 0.000001 dec{8} q16 = 3.14E-5dec{8} q17 = 6500000000 dec{0} q2= 3.1415926514159265141592651415926514159265 //仅供测试系统的截取情况 dec{4} q3= 3.1415926514159265141592651415926514159265dec{8} q4= 3.1415926514159265141592651415926514159265dec{12} q5= 3.1415926514159265141592651415926514159265dec{16} q6= 3.1415926514159265141592651415926514159265 dec{18} q7= 3.1415926514159265141592651415926514159265 any r1 = 3.1415926514159265141592651415926514159265 pbkiller结果: decimal q1 = 123.44320123decimal q11 = .1000000 //here errordecimal q12 = .100000 //here error decimal q13 = .10000 //here errordecimal q14 = .1000 //here errordecimal q15 = .100 //here errordecimal q16 = .3140 //here errordecimal q17 = 6500000000.00000000decimal q2 = 3decimal q3 = 3.1416decimal q4 = 3.14159265decimal q5 = 3.141592651416decimal q6 = 3.1415926514159265decimal q7 = 3.141592651415926514decimal r1 = 3.141592651415926514 我的decomplier: global <FUNCTION_OR_SUBRUNTINE> <RETURN_DATATYPE> lf_111(<PARAM_LIST>) <THROWS_OBJNAME>//Variables Listdec{8} q1 = -1.2344320123E2dec{8} q11 = 1.0E-2dec{8} q12 = 1.0E-3dec{8} q13 = 1.0E-4dec{8} q14 = 1.0E-5dec{8} q15 = 1.0E-6dec{8} q16 = 3.14E-5dec{8} q17 = 6.5E9dec{0} q2 = 3dec{4} q3 = 3.1416dec{8} q4 = 3.14159265dec{12} q5 = 3.141592651416dec{16} q6 = 3.1415926514159265dec{18} q7 = 3.141592651415926514dec r1 = 3.141592651415926514还算满意。 上一篇powerbuilder pbd文件混淆器原理探秘 下一篇powerbuilder之throws参数之使用 顶 0 踩 0 猜你在找 查看评论 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 个人资料 chengg0769 访问:767381次 积分:11201 等级: 积分:11201 排名:第653名 原创:279篇 转载:211篇 译文:0篇 评论:358条 文章搜索 文章分类 PB反编译与加密(12) IOS和安卓(9) PB与数据库(16) 网络相关(1) 搜索相关(0) 闲话扯起耍(4) 其他语言(7) 文章存档 2015年10月(3)2015年09月(2)2015年08月(3)2015年07月(1)2015年05月(1)2015年03月(1)2014年04月(1)2014年01月(1)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) 阅读排行 做代理网站最有效的4种宣传方法(admin9.com)(18287) 搜索引擎学习资源(作者:dongdonglang)(15074) PowerBuilder DeCompiler(PB DeCompiler) Demo download(PB反编译,支持5-12)(10092) 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题)(9787) 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(8068) Powerbuilder混淆,加密(powerbuilder防止反编译,pb混淆器,PB加壳,支持5-12) obfuscator for PowerBuilder(8001) 程序员的SEO总结(7829) PB11.5,PB12 web项目初探(7827) 在一台联想3000G430 T1600笔记本上安装黑苹果(东皇v10.6.3)成功(7332) 文件夹加密原理 [转](7330) 评论排行 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(49) 程序员的SEO总结(32) 有关Powerbuilder的悲观论和乐观论(由郭贴引发的300多贴争辩想到的,也是很久就想秉明的一个观点)(22) Powerbuilder混淆,加密(powerbuilder防止反编译,pb混淆器,PB加壳,支持5-12) obfuscator for PowerBuilder(20) 因为垄断形成,数据库市场将出现更多开源数据库(19) 戏说DataWindow的“移植”和“临摹”(19) 免费软件模式之随想(18) 软件提交到国外的下载站的几点操作和想法(15) PB11.5,PB12 web项目初探(15) 关于对pbd反编译器的期待(11) 推荐文章 *Hadoop节点"慢磁盘"监控 *假如你想成为全栈工程师… *没有躲过的坑--正则表达式截取字符串 *CardView完全解析与RecyclerView结合使用(三十二) *And roid 高仿微信发朋友圈浏览图片效果 *通过Ajax的方式执行GP服务 最新评论 PB inet组件 Post给php时怎么接收 bczhan: 非常感谢,最近做接口,刚才用上了 电讯业营收管理软件--菜单图示[JPG10张] weilexinye: 不懂,学习中。 关于EXECryptor参数设置的问题 fcmguanba: 你好!关于软件加壳加密的问题,我们可以探讨一下吗?你加我的QQ号码:1715960127 四年级数学题难倒家长(转载) qing7416: 我能做,但换成我四年级,多半不会做,会做的也做不对 中文垂直搜索引擎、行业搜索引擎大全(最新计137家) (转贴) defineconst: 真全! 搜索引擎开发,垂直搜索开发探讨:蜘蛛,并行,搜索,垂直搜索,搜索开发,lucene,java,分布[原创] defineconst: 你好还在弄搜索吗?UserB是谁的啊 如何用VC编写供PB调用的DLL (转) tang0575: 为啥我调用时,PB提示没有这个函数呢 基于MapServer的WebGIS开发(转) qq_20787725: 很好的一片文章 谢谢 垂直搜索开发:垂直搜索引擎开发全过程[原创] zww_ren_0: 要精英中的精英(就像你)才能玩。。。 垂直搜索开发:垂直搜索引擎开发全过程[原创] zww_ren_0: C.忠告就表示这货没任何价值了。。。按你的意思来说,实际一点来说。 我的未来方向 pconline/asp.net周金桥老师的aspnet 友人Blog 旧博客在sina Bluesen的语音卡开发平台 JackXu的开源语音卡框架 经验丰富的好友:杨光的专栏 蓝星际语音平台,Koodoo语言 Lucene改造者-yuetiantian 西部.阿呆's blog manesking:全文检索c/c fullfocus研究lucene,nutch 黄国酬的博客 把“天轰穿”的asp.net 雨松.安卓