关于PB程序加密(包括PBD伪代码方式)

firstpeak 2010-05-11 04:47:50
PB的安全性在高级语言里面相对来说是比较差的,PB9以前有PBKiller,PB10以上有Shudepb,反编译的效率和程度之高令人沮丧。
在我做hasp销售的几年里,碰到用pb开发的公司很多,举个例子,餐饮、娱乐业POS系统,普遍用到PB。不幸的是这些产品也是盗版的重点,因为破解这类软件有利可图。
商业软件一般用加密狗,但PB有别于C之类,因为PB有其特殊性,用PB的都知道,PB有两种编译方式,一种是编译成机器码,这种情况今天不讨论,因为编译成机器码的,用普通的加密狗就可以加密(注意只是加密,安全性暂且不论),一种是编译成伪代码(即PBD)。编译成伪代码的,一般狗没办法,因为PBD本身不是可执行程序,是文本。今天主要谈这种形式的加密。因为实际做软件的,以这种编译方式为主,速度快,好测试,便于移植。

一般的加密都是加密主程序,pbd没有处理。对普通用户来讲,有狗可运行,没狗不能运行,似乎有效。
对稍稍懂点技术的人来讲,尤其是对同行来讲,那么这种加密只是形式,因为他们需要的其实就是pbd。我碰到不少客户,你反编译我,我反编译你,很多。

HASP则可以加密pbd。加密后,pbd大小、文件名、后缀都不变,但内容完全改变——注意这不是混淆,不是打乱代码或者加花——加密后的pbd只是看上去是pbd而已,如果不通过hasp锁解密,它现在实质只是一团密文,没有任何意义。绝对杜绝反编译。
注意我并不是说完全不能破解(这么讲是不负责任的)。准确的讲,是完全不可能使用反编译方式来破解。杜绝了反编译这条途径,一般的破解者,即使是高手,想另辟蹊径,也极其困难。

如果有关心这个问题的,或者干脆你们公司就如同我举的例子的,可以发例程给我,我加密示范。HASP另有个独特的优点,支持不带狗运行1-90天,所以我可以很方便地把加密后的程序发给你体验效果。

与PB类似的还有Java,java也是由java vm来解释执行java class或者jar/tar包之类。如果只加密java vm而不加密class,也只是形式上的加密,直接就可以被绕过。
...全文
1790 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
lao_bulls 2012-03-29
  • 打赏
  • 举报
回复
mark it
firstpeak 2012-03-27
  • 打赏
  • 举报
回复
一年过了又一年。
firstpeak 2011-05-18
  • 打赏
  • 举报
回复
例子程序我一直放在那个地址里,有兴趣的可以down下来用各种工具测试,下载加测试也就半小时,直观而且有说服力。
z03302 2010-07-17
  • 打赏
  • 举报
回复
有没有用了
chengg0769 2010-06-04
  • 打赏
  • 举报
回复
这种以前早好几年就出现过。反响不是太强烈。
firstpeak 2010-06-03
  • 打赏
  • 举报
回复
PB加密,PBD加密,关心的人那么多,下载的人那么少,奇哉怪也。
cyh_0769 2010-06-02
  • 打赏
  • 举报
回复
期待。。。。。。。mark it
firstpeak 2010-05-30
  • 打赏
  • 举报
回复
下载过的希望说一说测试结果,多交流才有利于提高.
firstpeak 2010-05-24
  • 打赏
  • 举报
回复
希望大家下载测试,这样最直观,结论也更有说服力。
chengg0769 2010-05-24
  • 打赏
  • 举报
回复
最近的确是有不少同类产品出现。比如pbzip(内核调molebox而避而不谈),pbguard封包器。还有其他的加密和封包。不过看过很多商业发行的pb软件。大凡都是用的powershield的混淆器。

大家都齐动手测试下吧。别把pber当250.
chengg0769 2010-05-22
  • 打赏
  • 举报
回复
不管采用何加密方式,我们肯定是无法在无密匙的情况下还原。但是前提是pbd要执行时肯定要完整还原才行,这个工作我们不会做,但是内存解包时会做。任何封包器和dog厂商都会这么说自己的产品天衣无缝。可实际情况不是这样。因为程序运行有不可违背的原则。就是必须在磁盘或内存中还原。
firstpeak 2010-05-21
  • 打赏
  • 举报
回复
原来这里也很方便上传资源,呵,访问我的资源就可以下载,看看效果:http://firstpeak.download.csdn.net/

之前放到新浪的资源地址再发一下:
http://ishare.iask.sina.com.cn/search.php?key=pbdemo&from=index&format=
或者在新浪资源上搜索“pbdemo”。

更正一下:用的是128位的AES算法,不是256位,不好意思,破解128位的AES算法,以目前的计算力量,需要10的21次方年,哈~
chengg0769 2010-05-20
  • 打赏
  • 举报
回复
都是相对的。

最新推出针对pbd的混淆器,支持5,6,7,8,9,10,10.5,11,11.5,12全系列版本。
下载地址:http://chengg0769.download.csdn.net/
1.部分文字抹掉
2.混淆与伪造
3.支持多版本

敬请下载测试。
yangdabao 2010-05-20
  • 打赏
  • 举报
回复
upupupup
firstpeak 2010-05-20
  • 打赏
  • 举报
回复
注意:不是代码混淆。是加密,所有的pbd都被hasp用256位AES算法加密,这是最大的区别,加密后的pbd文件除了文件名和大小不变外,事实上和pb已经没有任何关系,要把它们还原,你要做的是在无密钥的情况下破解256位的AES算法,这个念头最好不要有,除非你的寿命是银河系寿命的亿万倍还不止。
因此,你的pbd文件是绝对不会被人反编译的,这一点是绝对的。但同时我要声明:pbd的绝对安全并不意味着你的软件安全,破解者可以谋求以其它的破解手段来运行你的软件,只是无法得到你的代码而已。出于对客户负责的考虑,我从来不跟客户讲什么不可能被破解这种话。

说到代码混淆,有兴趣的朋友可以看下这两个链接:
http://bbs.pediy.com/showthread.php?t=15544
http://blog.csdn.net/chengg0769/archive/2010/03/22/5402969.aspx
第一个是看雪论坛上出的混淆软件powershield,作者是ljtt,高手中的高手;
第二个是csdn上对powershield的分析。

代码混淆增加了逆向工程的工作量,但没有改变文件的本质,说到底,混淆毕竟只是一种障眼法。

同样的还有java。java的传统保护手段就是代码混淆,安全性如何,在网上随便搜索就可以看到,看雪上也有很多研究。hasp对java的保护和pb是类似的,即加密class类,或者jar包,等,用户或者对手拿到的,只是看上去是“.class”和“.jar”,其实是一堆密文。
firstpeak 2010-05-20
  • 打赏
  • 举报
回复
http://ishare.iask.sina.com.cn/f/7926821.html
对不起大家,例子来得有点迟,下载后可以很方便看效果。
xj_tianhai 2010-05-15
  • 打赏
  • 举报
回复
在哪里下试用版?
firstpeak 2010-05-13
  • 打赏
  • 举报
回复
HASP是加密狗,行业内的地位我就不多说了,随便搜索就有。
大家要看效果的话,最好随手写个例子程序,不需要有实质内容的就可以了,我加密后放上来,这样最直观。

或者,我手上有许多客户提供的例子,回头我问一下,如果同意我就放个上来,是我加密好的。大家可以看下里面的pbd,尝试任意已知的反编译工具。
DYFDWX 2010-05-12
  • 打赏
  • 举报
回复
顶顶顶
newease 2010-05-12
  • 打赏
  • 举报
回复
hasp 好像也是加密狗一类的东西吧
加载更多回复(3)

397

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧