All Projects → nirizr → idasix

nirizr / idasix

Licence: other
IDAPython compatibility library. idasix aims to create a smooth ida development process and allow a single codebase to function with multiple IDA/IDAPython versions

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to idasix

Qdarkstylesheet
A dark style sheet for QtWidgets application
Stars: ✭ 1,952 (+8033.33%)
Mutual labels:  qt5, pyqt4, pyside
QtPyConvert
An automatic Python Qt binding transpiler to the Qt.py abstraction layer.
Stars: ✭ 66 (+175%)
Mutual labels:  qt5, pyqt4, pyside
Redasm
The OpenSource Disassembler
Stars: ✭ 1,042 (+4241.67%)
Mutual labels:  qt5, ida, ida-pro
Stackoverflow
my answers in Stack Overflow
Stars: ✭ 211 (+779.17%)
Mutual labels:  pyqt4, pyside
Web2executable
Uses NW.js to generate "native" apps for already existing web apps.
Stars: ✭ 824 (+3333.33%)
Mutual labels:  pyqt4, pyside
Upyide
Micropython IDE
Stars: ✭ 57 (+137.5%)
Mutual labels:  pyqt4, pyside
Idacyber
Data Visualization Plugin for IDA Pro
Stars: ✭ 244 (+916.67%)
Mutual labels:  ida, ida-pro
Scihubeva
A Cross Platform Sci-Hub GUI Application
Stars: ✭ 683 (+2745.83%)
Mutual labels:  qt5, pyside
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+7345.83%)
Mutual labels:  qt5, pyqt4
IDAShell
Shell extension for opening executables in IDA
Stars: ✭ 172 (+616.67%)
Mutual labels:  ida, ida-pro
ida migrator
IDA Migrator is an IDA Pro plugin which helps migrate existing work from one database instance to another. It Conveniently migrates function names, structures and enums.
Stars: ✭ 65 (+170.83%)
Mutual labels:  ida, ida-pro
Qt.py
Minimal Python 2 & 3 shim around all Qt bindings - PySide, PySide2, PyQt4 and PyQt5.
Stars: ✭ 684 (+2750%)
Mutual labels:  pyqt4, pyside
Qt Python Binding Examples
Lots of simple and Pythonic PySide demos
Stars: ✭ 312 (+1200%)
Mutual labels:  pyqt4, pyside
Pyvfx Boilerplate
A boilerplate for creating PySide/PyQt or PySide2/PyQt5 applications running inside of Maya, Nuke and standalone - using Python 2 or 3.
Stars: ✭ 131 (+445.83%)
Mutual labels:  pyqt4, pyside
Pyqt
PyQt Examples(PyQt各种测试和例子) PyQt4 PyQt5
Stars: ✭ 3,783 (+15662.5%)
Mutual labels:  pyqt4, pyside
Hyara
Yara rule making tool (IDA Pro & Binary Ninja & Cutter Plugin)
Stars: ✭ 142 (+491.67%)
Mutual labels:  ida, ida-pro
Hrdevhelper
Context-sensitive HexRays decompiler plugin that visualizes the ctree of decompiled functions.
Stars: ✭ 193 (+704.17%)
Mutual labels:  ida, ida-pro
Idangr
Use angr in the IDA Pro debugger generating a state from the current debug session
Stars: ✭ 214 (+791.67%)
Mutual labels:  ida, ida-pro
idapm
idapm is IDA Plugin Manager via GitHub Repository.
Stars: ✭ 50 (+108.33%)
Mutual labels:  ida, ida-pro
dynlib
IDA Pro plugin to aid PS4 user mode ELF reverse engineering.
Stars: ✭ 51 (+112.5%)
Mutual labels:  ida, ida-pro

idasix

IDAPython compatibility library. idasix aims to create a smooth ida development process and allow a single codebase to function with multiple IDA/IDAPython versions. It is supposed to be a very slim module that should be easily included in third party modules that would otherwise rather avoid dependencies, by directly including it inside their repository.

Inclusion in projects

One of idasix's goals is ease of incorporation inside any user project. Therefore, it is built as a single file that can be easily copied to any repository. For the same reason it is also built without directory hierarchies, so submoduling idasix and importing it will also work. It is also possible to provide idasix as an independent IDA plugin, in which case idasix will automatically provide it's functionalities without being imported from any specific idapython plugin.

idasix is designed not to break if multiple versions and copies are included in multiple projects. It protects itself from causing harm.

Usage

once idasix is included in your project, it should be your source of IDA related modules. While the modules you're used to will be automatically loaded by idasix, it is encouraged to import from it instead of original modules when manually importing. Instead of import idaapi you should use from idasix import idaapi. Instead of from PySide import QtGui you should write from idasix import QtGui, which will provide you with a QtGui module regardless of IDA version (i.e. for both PySide and PyQt5).

Currently addressed issues

This list tries being up to date and include all currently addressed IDA issues, users are encouraged to raise issues to request additional IDA version incompatibility problems.

Currently addressed issues are:

  1. action_handler_t is not a python class (Doesn't inherit Object) before IDA version 6.95. idasix makes sure action_handler_t always inherits Object, which enables some more python magic.
  2. Linux IDA versions have an issue with using packages installed by the external python interpreter. This is a mishap by IDA. idasix adds the right "site-packages" directory to the list of python packages.
  3. With IDA version 6.9, PySide (a python Qt4 library) was replaced with pyqt (using newer Qt5). idasix exposes one interface (form idasix import QtGui) to the appropriate version and tries mitigating some of the differences between Qt5 and 4.
  4. Expose QtCore.Signal and QtCore.Slot from idasix.QtCore in IDA versions using pyqt5.

Projects using idasix

  1. [REmatch] - A binary matching framework that actually works.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].