Code Monkey home page Code Monkey logo

vector35 / binaryninja-api Goto Github PK

View Code? Open in Web Editor NEW
849.0 45.0 194.0 61.58 MB

Public API, examples, documentation and issues for Binary Ninja

Home Page: https://binary.ninja/

License: MIT License

C++ 52.19% C 21.41% Python 15.86% JavaScript 0.09% Makefile 0.05% Batchfile 0.04% CSS 1.11% Shell 0.03% CMake 0.30% HTML 0.12% Rust 8.79%
binaryninja reverseengineering decompilation binary-analysis reverse-engineering software-analysis intermediate-representation

binaryninja-api's People

Contributors

0cyn avatar bpotchik avatar cblichmann avatar chinmaydd avatar couleeapps avatar d0ntpanic avatar emesare avatar fabianfreyer avatar fuzyll avatar galenbwill avatar jeffli678 avatar jonpalmisc avatar joshwatson avatar kylemiles avatar lucasduffey avatar lwerdna avatar mkrasnitski avatar negasora avatar plafosse avatar psifertex avatar rbran avatar river-li avatar rollsafe avatar rose4096 avatar rssor avatar verylazyguy avatar withzombies avatar xusheng6 avatar yrp604 avatar zznop avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

binaryninja-api's Issues

Hex Templates

From @psifertex on May 5, 2015 14:9

Definitely post-v1, gonna be a killer feature though.

Copied from original issue: Vector35/binaryninja#16

Jump table detection

Automatically identify jump tables and create destination procedures at valid functions

detect 64-bit python on windows

From @psifertex on September 1, 2015 21:42

Make sure the install python API menu option detects whether 64bit python is installed and error accordingly

Copied from original issue: Vector35/binaryninja#48

install updates from cache directory upon restart

Curren OS X and Linux installers will update live, they should instead update into a cache directory that is then checked on restart so that using python live won't result in being overwritten in-place.

python shell

From @psifertex on May 5, 2015 13:57

Just like binaryninja-python

Copied from original issue: Vector35/binaryninja#11

Associate .bndb files with Binary Ninja

From @D0ntPanic on September 22, 2015 2:51

Need to associate the database files with the application so that it will open the application and the database automatically when clicked in Finder/Explorer

Copied from original issue: Vector35/binaryninja#50

Dialogs can be hidden under tooltips

From @D0ntPanic on August 5, 2015 1:48

When a function preview tooltip is active when hovering over a function name, and you hit N to rename the function, the function name dialog can be hidden behind the tooltip. The tooltips should go away when interacting with the main window or when opening dialogs.

Copied from original issue: Vector35/binaryninja#41

Cross-platform name demangling

From @D0ntPanic on May 18, 2015 21:41

Currently, Linux/Mac C++ symbols can only be demangled on Linux/Mac, and Windows C++ symbols can only be demangled on Windows.

Copied from original issue: Vector35/binaryninja#33

hotkey to switch tabs

From @psifertex on October 22, 2015 8:20

CMD-Shift [ and ] or maybe CTL-PAGE UP / PAGE DOWN (or maybe both) should switch tabs similar to browsers.

Muscle memory for the win.

Copied from original issue: Vector35/binaryninja#52

Console log

From @D0ntPanic on May 15, 2015 19:17

Errors and warnings already go to a console log internally, but a UI should be created to show these to the user.

Copied from original issue: Vector35/binaryninja#30

Memory view permissions

From @psifertex on May 5, 2015 14:20

In the ELF/MACH-O/PE loaded memory view, integrate memory access permissions

Copied from original issue: Vector35/binaryninja#21

calling convention / ABI

Calling convention ABI support required for better static type / dataflow through function calls.

Crash if window is closed while popup menu is open

From @D0ntPanic on May 18, 2015 6:33

  1. Open any popup menu (the highlight menu and right click menu in the disassembly were tried)
  2. On a Mac, used Cmd+W to close the current window while the popup menu is still showing

This crashes because the parent of the menu is deleted while it is still visible.

Copied from original issue: Vector35/binaryninja#32

MACH-O support

From @psifertex on May 5, 2015 14:9

Maybe better for v1? Listing as post-v1 for now as we really should try for a quick release

Copied from original issue: Vector35/binaryninja#15

Elf object files

From @D0ntPanic on May 26, 2015 5:13

Should add support for disassembling .o files. On Linux they are ELF files, and Binary Ninja recognizes them as such. However, as they have no load program headers, the ELF file appears empty. Should allow disassembly of the functions inside of it.

This probably should be considered lower priority.

Copied from original issue: Vector35/binaryninja#35

Support kernel disassembly

From @D0ntPanic on May 20, 2015 3:25

Instructions such as in, out, hlt, etc. are currently marked as instructions that end disassembly to prevent unnecessarily large disassembly graphs when ROP gadget hunting or in anti-disassembly code. A kernel disassembly mode should be available when disassembling code that is meant to be run in kernel mode, as these instructions are allowed and expected there.

Copied from original issue: Vector35/binaryninja#34

SCC: Initializer list support

From @plafosse on July 21, 2015 17:51

Support for initializing arrays and struct's with initializer lists

eg
int x[2] = {1, 2};

Copied from original issue: Vector35/scc#5

Save contents as defaults to database path

From @D0ntPanic on August 5, 2015 5:56

When using the "save contents as" menu option after opening an existing database file, the file save dialog defaults to the path to the database itself. Overwriting the database with the binary contents is an easy thing to do from there. The path should default to something like the base name (without extension) so that an accidental overwrite is unlikely.

Copied from original issue: Vector35/binaryninja#42

smart patching (right/click patching)

Ability to appropriately resize or find 'dead' space, insert jumps, copy existing code, integrate patches with existing relative offsets and symbols and then add new functionality to patch on the fly.

Needs support for:

  • Mach-o
  • ELF
  • PE

IDC import

Create a module to import IDC files to allow migration of structures/symbols from an existing project.

internationalization

From @psifertex on May 29, 2015 20:49

we should support it -- QT has methods for it, can just use those.

Copied from original issue: Vector35/binaryninja#37

collapse memory views

From @psifertex on May 5, 2015 21:21

For large sections of unused memory in the loaded module, collapse them down to not take up so much room.

Copied from original issue: Vector35/binaryninja#28

visual cleanup of hex view

From @psifertex on May 5, 2015 14:20

Either adding color every 4/8 bytes (could also include an option for Jordan's gray-scale color adjustment based on byte value), or extra dividers / etc

Copied from original issue: Vector35/binaryninja#22

plugin reloading

When developing a plugin, support reloading the plugin without restarting the entire program

Constant annotation cross references

From @D0ntPanic on August 19, 2015 22:24

Constants that were loaded from memory or loaded with multiple instructions should be added as cross references. This would allow string and constant pool references in ARM to have proper cross references throughout the binary.

Copied from original issue: Vector35/binaryninja#45

about dialog

Need to add an about dialog:

  • Binary Ninja license info
  • Other open source products listed with
  • Version / build info

implement wrapping in the function list

From @psifertex on August 27, 2015 17:9

Long function names force the main disassembly window to take over the entire window (open up a long demangled name in gamelogic.dll to reproduce)

Copied from original issue: Vector35/binaryninja#46

go relative offset

From @psifertex on July 31, 2015 1:30

Feature request: allow for relative "g" by pre-pending a + or - to the go dialog

Copied from original issue: Vector35/binaryninja#40

copy/paste/transform gui

From @psifertex on May 5, 2015 13:56

Copy/paste/transform is already in gui, just needs the functionality written along with the few modal dialogs

Copied from original issue: Vector35/binaryninja#10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.