PBD加密,防止被反编译获取源码

lxbin2003 2018-12-10 05:53:31
PBD加密功能使用说明

一、 功能作用:
加密除target所在PBD以外的所有PBD(可以选择。建议仅尽敏感PBD加密,以达到最好效果),防止被反编译被破解。

二、 版本适用:
PB8 – PB2017 所有版本

三、 编译方法:

点击选中此工具栏按钮

于红框中:
1处输入 > 0 的整数后,编译生成加密的PBD。
2处,请注意授权时间,到达此期限后,加密PBD的程序会报错,无法使用。
3处和4处,为固定值,由授权文件得来。
4.此处可以选择是否编译某个PBL,是否对编译出来的PBD加密,是否使用资源文件。
5.每个PBD可以选择使用不同的资源文件 。
需要长期授权,请与作者联系,需要提供:
A) 公司名称 B)版权声明 C) 公司 LOGO,png 格式
四、 开发应用程序中使用方法
1.PBD加密,需要在运行过程中边解密边执行。提供有DLL函数供调用。
函数声明方法:
PB7 PB8 PB9 声明:
FUNCTION boolean SetDllDirectory(string lpPathName) library "Kernel32.dll" alias for "SetDllDirectoryA"
FUNCTION long PBDMan_Start() library "PBDManA.dll"
FUNCTION long PBDMan_Stop() library "PBDManA.dll"

PB10 PB11 PB12 PB12.5 PB12.6 PB2017声明方法:
FUNCTION boolean SetDllDirectory(string lpPathName) library "Kernel32.dll" alias for "SetDllDirectoryW"
FUNCTION long PBDMan_Start() library "PBDManU.dll"
FUNCTION long PBDMan_Stop() library "PBDManU.dll"
注意,声明中PB9及以下,PB10及以上版本,由于字符编码不一样,使用DLL不一样,函数写法一样,使用一样。

2.函数调用
2.1在 application open 最前面
//初始化DLL环境,并启用PBD加密解析机制
string ls_dir
ls_dir = GetCurrentDirectory()
SetDllDirectory(ls_dir)
ls_dir = ls_dir + "\dlls" //此处应该是PBDManA(U).dll 放置的位置,我是放在当前目录的DLLs 下面
SetDllDirectory(ls_dir)
PBDMan_Start() //PBD加密后,必须使用此语句

2.2 在application close 最后面
//关闭PBD加密机制
PBDMan_Stop()
DEMO:请参考最新版本FDW框架源码.

五、 注意事项
1. target 所在的PBD不加密,并且不可选为加密,敏感信息不要存放在这个PBD里面。
2. 授权文件名要写进 pbr 里,作为资源文件编译进PBD。
3. 不要使用自动实例化的全局对象,除非这个对象就在target所在的PBD里面。必须确保在PBDMan_Start()函数调用前不会使用其他PBD里的对象,否则会报错退出.
4. 若一定要使用全局的自动实例化对象,可创建一个全局非自动实例化对象,在里面声明全局自动实例化对象。PBDMan_Start()启动后,再对这个全局自动实例化对象实例化。
5. 如果出现报错,请首先检查 PBDMan.log 日志。





资源下载(内含使用说明):
https://download.csdn.net/download/lxbin2003/10840994
...全文
283 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengxiaohan211 2018-12-15
  • 打赏
  • 举报
回复
高·············
lao_bulls 2018-12-11
  • 打赏
  • 举报
回复
没有C币,下载不了。
AndriyChoi 2018-12-10
  • 打赏
  • 举报
回复
在叔威武!!!!

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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