Skip to content

Binary Ninja

Third Party Open Source

Vector 35 is grateful for the following open source packages that are used in Binary Ninja directly or indirectly:

The previous tools are used in the generation of our documentation, but are not distributed themselves and are merely listed here in acknowledgement for the value they provide.

First Party Open Source

Building Qt

Binary Ninja uses Qt 6.6 under an LGPLv3 license which requires that we host the original sources used to build Qt for our application along with instructions on how that source may be re-built and can replace the version of Qt shipped with Binary Ninja.

Please note that we offer no support for running Binary Ninja with modified Qt libraries.

  1. Follow the installation requirements on the Building Qt 6 from Git page.
  2. Download the Qt 6.6.1 tarball from binary.ninja. The Qt code has a patch applied but is ABI compatible with the official Qt release.
  3. Next, build Qt with the qt-build repository. Alternatively, build Qt using the aforementioned instructions.
  4. On macOS, you will need to disable the code-signing signature since it would otherwise prevent changes to binaries or shared libraries.
  5. Finally, replace the built libraries:
    • On macOS, replace the QtCore.framework, QtDBus.framework, QtGui.framework, QtNetwork.framework, QtPrintSupport.framework, QtWidgets.framework folders inside of /Applications/Binary Ninja.app/Contents/Frameworks
    • On Windows, replace the Qt6Core.dll, Qt6Gui.dll, Qt6Network.dll, and Qt6Widgets.dll files in C:\Program Files\Vector35\BinaryNinja\.
    • On Linux, replace the libQt6Core.so.6, libQt6DBus.so.6, libQt6Gui.so.6, libQt6Network.so.6, libQt6Widgets.so.6, libQt6XcbQpa.so.6 files wherever Binary Ninja was extracted.