Frequently Asked Questions

These are the questions we are asked most often. If you are interested in other things, do not hesitate to contact us.

Branchlock is a technology that encrypts the compiled code of Java and Android projects so that they cannot be restored to the original code afterwards (so-called "obfuscators"). With conventional obfuscators usually only methods, fields and class names are renamed. All constants like API keys or private URLs are left completely unchanged in the bytecode (= the final product after compilation). These can be easily viewed with decompilers, which convert bytecode back to source code, or scanned by automated bots (especially if your application is listed on third party markets). Branchlock encrypts class pool constants such as strings, numbers and even references, providing strong protection for your Java project. The original code structure cannot be recovered at all. Branchlock offers different encryption modes that have different effects on the security and performance of your application.

Java uses frames to check the validity of bytecode. To find known parents of two classes, the libraries are needed. Also, Branchlock needs the libraries to generate a dependency tree. Without libraries, obfuscation errors could occur because, for example, methods in the superclass could be unintentionally overwritten.

Branchlock will store your jar files temporarily on the server and obfuscate them, and then delete them instantly. No files or logs are kept.

It depends on which modes you use. Tasks that use the invokedynamic opcode require Java 8+. However, Branchlock provides modes for all Java versions and Android API levels.

We are a small team from Europe, focused on Java bytecode for several years. Our goal was to revolutionize Java obfuscation and create a modern product that is also profitable for smaller developers.

You can, but there is no guarantee given that the jar file is still runnable afterwards. Renaming classes or class members after obfuscating using branchlock will not work.

Please contact the support at support@branchlock.net if you need help or want to report bugs.

Branchlock tries to make it as hard as possible for attackers to reverse engineer your project. Total protection is impossible, but it's safe to say that many hours will be wasted trying to untangle the mess Branchlock creates. Cracking (= removing access restrictions in your project) also becomes more difficult, as Branchlock uses integrity checks and "crashers" (exploits that crash reverse engineering tools) to protect everything as much as possible.

Once you have purchased a branchlock license, you can use the obfuscator anytime. Your license will never expire, as long as you don't share your account or violate the ToS.