Beak

Ultra small C and C++ obfuscator.


Beak
Version 1.1

Beak is a small tool that can be used to lose weight of your source code, and generate obfuscated C and C++ source code by default. All user defined symbols can be replaced by very short tokens results that the compiled final binary will be smaller than its normal compiling.

Beak is extremely small, only 143KB, the obfuscator itself was written with ANSI C (C89) from scratch, and it is cross-platform, operation system and processor independent.

Result

  • Smaller binary.
  • Hide API call in binary, hide the concrete implementation, and what techniques used in your software.
  • Unreadable source code that can prevent source code leaked (encrypt).
  • Add difficulty for reverse engineering (decompile).

Screenshots:

Convert Source Code

  1. Drag your project folder into Beak from Finder.
  2. Click the folder icon to select a target directory where the output files will be placed in it. E.g:
    Target directory: /Users/username/Desktop
    Output directory: /Users/username/Desktop/projectname-lt (lt means lite)
  3. Select one of the programming languages from the toolbar for your source code.
  4. Click the "Start" button on the toolbar to start the conversion.
  5. When the process completed, all replaced symbols will be listed in tokens.txt under the target directory.

General features

  • Parse all macros, global variables, constants, structure and member, class, and function definitions.
  • The generated source code will still be located in its original line so that comparing to the original source code line by line become very easy.
  • All comments kept in its original position to improve the readability.
  • Fast parse large projects that have hundreds of files.

Example

Here, minimising the compiled size of SQLite as an example:
SQLite version: 3.20.1
Executable: 64-bit x86_64
Platform: macOS Sierra

VersionSource sizeComplied sizeNote
19.3 MB1.4 MBoriginal version, shell executable without TCL extension.
21.7 MB741 KBwith C API wrapper, without TCL extension, without FTS, rtree, rbu, icu, session.
31.6 MB651 KBoptimised version by Beak, with full functional features, C API wrapper plus compressed BLOB, and SEE (SQLite Encryption Extension) support.

Excellent software should be elegant, reliable and small. Lovingly crafting software as elegant and small as possible is the real programmer's cultivation.

If you can't open the link above, please launch App Store and found Beak by searching.

Advanced Usage

If you need to filter a large number of predefined symbols of huge system but can't handled by the current version, or required to support a new programming language, please contact us.