PbGuard is a command line utility that implements encryption of PowerBuilder applications
to protect them against decompilers or unauthorized modifications.
Key features:
Support versions of PowerBuilder from v.5 to v.12 (classic)
|
Support the p-code (PBD) and the machine code (DLL) targets
|
The program source code is not changed to support protection. PbGuard protects
compiled executables and libraries (the source code is not even needed).
|
Each encryption uses a unique generated encryption key, so that no
two protected programs would have the same key.
|
Support reusing the key for applications sharing their libraries.
|
Support adding encrypted PBDs to library list at runtime.
|
Protected program does not require any additional external DLLs
| | | | | | | |
Requirements/limitations:
PbGuard itself and programs protected by it can only work under Windows 200X, XP, Vista, 7.
(Windows 9X series are not supported)
|
Net targets are not supported
| | |
Why protect PowerBuilder applications?
In the past, PowerBuilder developers were not worried much about protecting their applications from cracking and
source code theft, as PowerBuilder had its own undocumented format of executable files and P-code, and there were
no tools which were able to produce the source code from the p-code. In addition, each new version of PowerBuilder
had new format of p-code. So the possibility of unauthorized access to source code and analysis of the protection
code had been seriously limited.
However, in recent years, a few decompilers were introduced, allowing automatic conversion of the compiled
libraries (PBD / DLL) to PowerScript code. At the moment, there are decompilers for all existing versions of
PowerBuilder. Moreover, free demo versions of the decompilers can be easily found on the Internet, and they allow
viewing the source code as well. Decompilers made the hacking of protection code trivial and accessible to almost
any attacker, even without specific knowledge of the internals of PowerBuilder applications.
Also, among PowerBuilder programmers there is a misconception that the machine code (DLL) builds protect the
application from the decompiler. But this is just not true: DLLs produced using the machine code builds include
copies of the corresponding PBDs and therefore can be decompiled as well.
There are two main ways of protection from decompilers - source code obfuscation and encryption of executable
files.
Obfuscation is a transformation of the source code that does not change the meaning of the program, but make its
analysis hard (meaningless names of variables/functions, no formatting, etc). Obfuscation protects programs
against theft of the source code, since obfuscated code is difficult to use in other projects. However, to protect
from the analysis it's not enough to obfuscate the source code, because decompilers still produce PowerScript code,
which can be relatively easy to explore (even obfuscated). In addition, obfuscation is not always possible,
especially in projects with a lot of dynamically generated code. That requires substantial effort on testing the
code processed by obfuscators.
Therefore, the encryption of executable application files is an important part of protection against hacking so
that a decompiler could not work at all. In this case, an attacker would have to analyze the machine code of the
encryption module to extract unencrypted executables, and then to use a decompiler. Analysis of machine code,
especially the code that is written specifically to confuse the attacker, is a considerably more complex task than
running an automatic decompiler which is available freely on the Internet. And not everyone will be able to do it.
Of course, there is no such a protection, which would not be broken, sooner or later. However, by that time new
protection modules will become available and the attackers would have to deal with the new algorithms of
protection. That's why the use of encryption allows software developers to be always one step ahead of hackers
and to make cracking less profitable than buying a legal copy of the program.
This useful PowerBuilder tool is developed by our friend and partner Anatoly
Moskovsky www.sqlbatch.com
|
|
PbGuard Lite |
Free of charge
|
No customer support
|
Weak encryption
| | | |
Download PbGuard Lite
PbGuard Pro
Strong protection
|
One year of customer support which includes free bug fixes and free updates to the most current version of PbGuard Pro
|
One bought copy can be used by any developer in your organization
| | | |
Purchase PbGuard Pro ($295)
Custom PbGuard protection module
All PbGuard Pro features plus:
Encryption module implemented specially for you (or supplied by you if possible)
|
Optionally, embedding additional encrypted files which are transparently available to your application at run-time.
|
Your suggestions are welcome
| | | |
The price will depend on the features you request. For details, please contact us by email using the link below.
Order a custom PbGuard protection module
Version History
PbGuard 1.2.2
Support larger resource sizes in EXE.
| |
PbGuard 1.2.1
Fixed interaction with the Data Execution Prevention (DEP) technology.
| | | |
| |
|