Binary Ninja

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.

Building Qt

Binary Ninja uses Qt 5.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 5 from Git page.
  2. Download the Qt 5.6.0 tarball from binary.ninja. (Note this is an unmodified 5.6 identical to that available from Qt's source control, but must be hosted locally according to the Qt 5.6 terms.)
  3. Next, build QT using the aforementioned instructions.
  4. On OS X, you will need to disable the code-signing signature since it would otherwise prevent changes to binaries or shared libraries. We recommend a tool such as unsign.
  5. Finally, replace the built libraries:
    • On OS X, 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 Qt5core.dll, Qt5Gui.dll, Qt5Network.dll, and Qt5Widgets.dll files in C:\Program Files\Vector35\BinaryNinja\
    • On Linux, replace the libQt5Core.so.5, libQt5DBus.so.5, libQt5Gui.so.5, libQt5Network.so.5, libQt5Widgets.so.5, libQt5XcbQpa.so.5 files wherever Binary Ninja was extracted