首页 > 编程语言 >PB加密,PBD加密,杜绝PB程序反编译,PB加密工具

PB加密,PBD加密,杜绝PB程序反编译,PB加密工具

时间:2023-05-01 18:31:38浏览次数:52  
标签:反编译 加密 代码 PB 随机 var 工具


如下是一个pbd混淆加密之后用反编译打开时的效果图(混淆器已经开发了十年,其代码混淆保护效果一直满意,用图说话)工具自2009年开发,2010年发布测试版,经历1-2年的测试改进,至最早的客户从2012年开始使用正式版开始,已累计数万次加密并消除了写PBD文件的BUG从而稳定下来,从POS到ERP,从各种终端运用,到提供第三方PBD接口,不管是PBD还是DLL编译模式,都通过实测证明其稳定运行了若干年。工具采用与文件,时间相关的动态因子,没有人能以固定模式测试到所有的加密规律,除了算法升级外,内部算法因子也按时间自动随机演进:

PB加密,PBD加密,杜绝PB程序反编译,PB加密工具_随机数

主要的措施如下(这是文档里面公开的,也就是说算法是经得起推敲的)

http://www.pbdecompiler.com

http://www.pbobfuscator.com

http://www.powerbuilder.ltd

1)变量变为乱码:

方式有随机数变成ascii码,下划线,控制字符,数字,英文等。因为变量名不对运行造成影响,所以实际扰乱后后的效果,非常乱。有些是成了乱码字符串,有些被反编译改成了var_n的方式显示出来。

2)在代码级别对其进行加密:

不是某些所谓加密工具,对pbd文件进行切割加工,待到运行时又出现组合。基本都是绕人的措施。

本工具从代码级进行处理,将代码事先切割成段,然后用代码再组合起来,在组合时,插入一些钉子和陷阱。这种陷阱有几种:

1>简单的数学:

比如13812938123+239123891283=? 适合于代码短,扩展空间有限的地方。

2>嵌入内部函数,比如 负号运行,min,max,integer,ceiling等等。比第一种就稍微复杂了。这样的强度开始,反编译几乎就无法判定了。比如min(1024, varxxx)= 1024等。反编译处理不了,只能原样摆出来成为奇怪的代码。而正常的逻辑执行不受到影响。

3)混淆专用变量:

用常量参与计算非常容易被固定模式计算,所以采用向local var区域添加一个混淆专用的变量,可以是boolean或者long类型的。

新版中,已经能自动由工具插入一个这样的变量了。也可以手工在源代码中编写(适合特别强保护的代码)。

这个专用变量能被工具在加密时,动态改变它的值。也就是一边赋值,一边判断。这个强度从理论和实践中来看,是非常强大的。比如 long var_xx = 0

var_xx = 1024
var_xx *= 1024
if min(xxx,var_xx)=?? then

正确跳到正常的代码分段,错误则调到随机位置,或者随机的代码行(这个强大哦。反编译看起来有goto语句。但是其实是随机的!!!位置。压根在源代码逻辑中不存在那样的跳转。

4)自定义逻辑陷阱

通过程序员自己写复杂的逻辑代码来让分析陷入死胡同

比如 if myfun(var1,var2,var3,var4,var5)= myfun2(var1,var2) then

正确跳到正常的代码分段,错误则调到随机位置,或者随机的代码行。

这样的代码是运行时决定的。是任何静态分析方法无法解析的。

综合上述,本工具是非常强大的。它也正经历众多的客户检验,经历近十年的时间检验。

标签:反编译,加密,代码,PB,随机,var,工具
From: https://blog.51cto.com/u_16000165/6239168

相关文章

  • 用友U8加密的存储过程清单
    用友U8加密的存储过程清单(SQLSERVER2008)IA_CalDifIa_SaveCostUsp_BAS_GetMaxSystemDateUsp_BAS_GetMinSystemDateUsp_BAS_GetRemoteIdUsp_BAS_GetSystemDateUsp_BO_DelEcnProutingUsp_BO_ExtBomDataImportUsp_BO_U8BomUpgradeUsp_CP_CP01002Usp_CP_CP02002Usp_CP_CP0300......
  • 自定义Behavior实现AppBarLayout越界弹性效果
    一、继承AppBarLayout.BehaviorAppBarLayout有一个默认的Behavior,即AppBarLayout.Behavior,AppBarLayout.Behavior已注解的方式设置给AppBarLayout。@CoordinatorLayout.DefaultBehavior(AppBarLayout.Behavior.class)publicclassAppBarLayoutextendsLinearLayout{.........
  • 加密算法整理
    加密技术通常分为两大类:“对称式”和“非对称式”。对称式加密:加密和解密使用同一个密钥,通常称之为“SessionKey”。如DES,它的SessionKey长度为56Bits。非对称式加密:加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”。如RSA。[DES:密钥较短,加......
  • mapbox监视zoom的事件
    在Mapbox中,您可以使用map.on('zoomend',callback)监听地图缩放结束事件,然后执行自定义的回调函数,以便在每次地图缩放结束时更新应用程序。例如,可以在回调函数中获取当前地图的缩放级别,并执行所需的操作。以下是一些示例代码://创建一个Mapbox地图实例varmap=newmapb......
  • 号码加密
    网上看到的一段烂代码,勉强有用functiongetTel(){varn=2,telstr='1';while(n<12){if(n<3){while(1){varnums=Math.floor(Math.random()*10);if(nums!==0&&nums!==1&&nums!==......
  • js常见混淆加密技术
    下面,我将通过一个案例来演示如何使用JavaScript混淆加密技术来保护你的网站。假设你有一个网站,其中包含一个登录页面,该页面的JavaScript代码如下所示:functionlogin(username,password){if(username==="admin"&&password==="123456"){alert("登录成功!");}els......
  • mapbox怎么获取图层列表
    要在Mapbox中获取图层列表,可以使用MapboxGLJS库中的getStyle()方法获取当前地图样式的信息,其中包括所有有关的图层信息,然后通过遍历图层数组获取所有的图层名称。下面是一个示例代码,展示如何获取Mapbox地图中的所有图层名称:mapboxgl.accessToken='YOUR_ACCESS_TOKEN';......
  • mapbox加载geojson报错error: Style is not done loading
    Mapbox加载GeoJSON地图时,遇到error:Styleisnotdoneloading错误通常是由于地图样式文件没有加载完成引起的。具体来说,可能是因为Mapbox样式文件中包含了某些需要加载的图片或者矢量图层,而这些图片或矢量图层尚未完全加载完成,导致无法渲染地图。为解决此问题,可以尝试以下......
  • mapbox如何调整图层层级关系
    在MapboxGLJS中,您可以使用moveLayer方法来调整图层的层级关系。其语法如下:map.moveLayer('layerID','beforeID');其中,layerID是您要调整的图层的ID,beforeID是该图层所要移动到的目标图层的ID,表示将该图层放在目标图层的前面。例如,假设您有两个图层分别为layer1和laye......
  • mapbox显示隐藏图层
    在Mapbox中,如果您想要显示或隐藏一个图层,可以使用setLayoutProperty()方法,通过设置该图层的visibility属性来实现。setLayoutProperty()方法可以修改地图上指定图层的样式属性。对于visibility属性,您可以将其设置为'visible'或'none'来分别显示或隐藏该图层。下面是一......