Welcome to Bip’s documentation!

Bip is a project which aimed to simplify the usage of python for interacting with IDA. Its main goals are to facilitate the usage of python in the interactive console of IDA and for writing plugins. In a more general way the goal is to automate the recurrent task done through the python API. Bip is also developxped for providing a more oriented object, a “python-like” API and a real documentation.

This code is not complete, and a lot of features are still missing. Development is prioritized on what people ask for and what the developers use, so do not hesitate to make PR, Feature Request and Issues (including for the documentation), see Contributions for more information.

This documentation is split in several parts. The General part should allow you to start with the project including the install (Installation steps) and an overview (Overview) which explain how to use it. The Bip Project architecture allows to get a better understanding of how the project works and was intended to be used.

The main part of the documentation is split in the three parts of bip: Base interface (bip.base) containing the basic interfaces, the Hexrays interface (bip.hexrays) for manipulating hexrays functions and the GUI & Plugins interface (bip.gui) containing interface with the graphics and explaining how to developed plugins. This is mainly autodocumentation of bip objects with precisions about usage and potentially internals when necessary.

GUI & Plugins interface (bip.gui)

This part regroup all the functions and classes made for interfacing with the UI and events of IDA. The most important part of this module is probably the BipPlugin which allow to create plugins and to define actions in IDA. While bip can be used in normal IDA plugin and scripts, the BipPlugin is the central element for interfacing with the GUI using bip.

Indices and tables