This product is discontinued. Read more
PbGuard is a command line utility that implements encryption of PowerBuilder
applications to protect them against decompilers or unauthorized modifications.
- Support versions of PowerBuilder from v.5 to v.12.5 (classic)
- Support the p-code (PBD) and partially 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
- 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.
Not available any more. Read why.
- Support of PowerBuilder 12.5 classic
- Fixed interaction with Windows Compatibility Mode
- Performance optimizations
- Support larger resource sizes in EXE.
- Fixed interaction with the Data Execution Prevention (DEP) technology.
PbGuard Updates News