网络安全

位置:IT落伍者 >> 网络安全 >> 浏览文章

powerbuilder防反编译: pbkiller无法解析的部分公布[4]


发布日期:2024年01月09日
 
powerbuilder防反编译: pbkiller无法解析的部分公布[4]

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

m_ t

?????? t

?????? t

?????? t

?????? t

?????? t

?????? t

?????? t

?????? t

end type

红色问号部分为无法解析的部分一般而言参引对象列表系统的一共个内置对象我又加了个menu对象很明显作者认为最多可以引用其实不然参引对象可以多达

//:补充

type strc_ from structure

string ccc

string ccc[] //source为ccc[ to ];看来没有搞定所有的声明方式

string ccc[]

string ccc[]

string ccc[]

string ccc[]

end type

//:

在uo或win的instance和shared区分别申明两个int变量

instance : int ii_ = //反编译为

shared: int si_ = //反编译为从存储本质来看是没问题但是参与其他提升计算就会有问题

//

发现枚举类型它无法反编译得到初始值

alignment lal_= left!

alignment lal_= right!

alignment lal_= center!

//

一个变量的申明格式如{accessrightaccessreadaccesswrite} datatype{size}{precision} varname

pbkiller对access部分没有解析也就是publicprivateprotected等对constant也没解析对size部分和precision部分都没有解析就是其他篇里指出的如blob{} var和dec{} var这样的情况没有得到解析可见其还是非常欠缺的

//

uing u = //取模应该是 u = 但是它没有处理只是显示

//:

real = 测试反编译值是错误的可能是用c++的unsigned int去取值然后转成double处理的证明是错误的real应该转c++的float才是正确的我在做decompiler时也犯同样错误后面改为

float f;

memcpy(&f&uint这样处理即ok

//

ulong c = 反编译为

ulong c = 反编译为

dec{} dec{}dec{}的变量初值错误

很明显是用c++的unsigned __int去取得pb的四位ulong值但是显示时要IntToStr()这个函数支持int和__int两种很明显作者并未进行强制转换致使出现的错误

鑒于目前pb使用很普遍这里给大家提个醒可以利用pbkiller的bug防止关键数据如果作者不更新的话(目前看的使用形式看他不会更新了因为pb已经不热了而且他软件是免费的缺少原动力)这些问题永远都会存在的我们善加利用之

编辑推荐

ASP NET开发培训视频教程

Microsoft NET框架程序设计视频教程

[] [] [] []

               

上一篇:powerbuilder程序防止破解的办法[1]

下一篇:powerbuilder防反编译: pbkiller无法解析的部分公布[3]