![]() |
White Hawk Software's Tamper-Proofing Tool |
Our first product is ready for "partners".
Our first product tamper-proofs Win32 object files.
Some competitor tools are applied to source code; other tools are applied to
executables; many tools are applied to byte codes. We think our choice of protecting real
object files is a major advantage for serious anti tamper: it forces the smallest limitations in the
use of any particular tool chain.
Compared to protecting at the source level, operating at the binary level with
object code, the whole complexity of the real computer can be used. That way
the protection is not limited to what the programming language can (nicely)
express.
Compared to executable files, object files still have unresolved references,
but nevertheless object files lead to more precise analysis.
The capability to protect something in a library will be appreciated by many
customers.
Our tool supports "pre-linking" multiple object files and can generate
one single combined and protected object file.
What can be protected?
Protecting object files enables use of different languages or tools. However,
being able to precisely analyze the application-binaries does require (the protection
tool to have) some knowledge of the tool chain. C is supported, C++ still has
some limitations (templates). The tool will also be able to protect embedded
applications.
Control of the performance impact.
The protection is guided by a “script”, and by optional position
markers in the source file. The script is an XML file, uses only simple elements
which any programmer can put together with an XML editor or a plain text editor.
The programmer has the choice for the level of protection and which parts of
the code will be protected. With this choice, the execution performance and
size impact (and the protection strength) can be controlled and the protection
applied where it is most important.
Protection is strong.
Our founder has experience writing protection tools used for highest-end government
and defense software. As a new company, our initial portfolio of measures is
still limited, but we have chosen the most potent ones.
Nevertheless, the strength of a particular protection can depend as much on
the protection scheme as on the quality of the protection tool.
Tamper-proofing is “easy” to do.
What we mean by saying easy is that the software engineers designing
the system can also use the protection tool. No special protection-engineer
is required. (That does however not preclude using good protection-engineers
if so desired for high-end protections.)
To make the strongest protections it is advantageous to fully understand
the application, to understand the capabilities of the protection tool, (how attacker
work), and to have a good picture of what kind of attacks should be prevented including how malware works.
Can we protect an object file after the programming is done?
Yes, that is possible. However, additional and significant protection and performance
gains can be achieved designing the protection from the beginning.
What about X64, Linux, ARM, PowerPC, Byte-codes ?
We would love to protect these too. Our tool is internally very modular and
prepared for such ports. However as a small startup company we must focus; we
still are working on polishing our first implementation. But yes, ports are
planned (Linux or X64 first).
| White Hawk Software | What is Software Tamper-proofing? | What to expect from our Tool? | Partnerships | About White Hawk Software | Use of this Website. |