GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - defunctio/binaryninja-api: Public API, examples, documentation and issues for Binary Ninja

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

1,401 Commits
1,401 Commits

Folders and files

NameName
Last commit message
Last commit date
api-docs
api-docs
 
 
docs
docs
 
 
examples
examples
 
 
json
json
 
 
python
python
 
 
rapidjson
rapidjson
 
 
scripts
scripts
 
 
sphinx_rtd_theme @ 81caf29
sphinx_rtd_theme @ 81caf29
 
 
suite
suite
 
 
themes
themes
 
 
ui
ui
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
CMakeLists.txt
CMakeLists.txt
 
 
LICENSE.txt
LICENSE.txt
 
 
Makefile
Makefile
 
 
Makefile.win
Makefile.win
 
 
README.md
README.md
 
 
architecture.cpp
architecture.cpp
 
 
backgroundtask.cpp
backgroundtask.cpp
 
 
basicblock.cpp
basicblock.cpp
 
 
binaryninjaapi.cpp
binaryninjaapi.cpp
 
 
binaryninjaapi.h
binaryninjaapi.h
 
 
binaryninjacore.h
binaryninjacore.h
 
 
binaryreader.cpp
binaryreader.cpp
 
 
binaryview.cpp
binaryview.cpp
 
 
binaryviewtype.cpp
binaryviewtype.cpp
 
 
binarywriter.cpp
binarywriter.cpp
 
 
callingconvention.cpp
callingconvention.cpp
 
 
databuffer.cpp
databuffer.cpp
 
 
datarenderer.cpp
datarenderer.cpp
 
 
demangle.cpp
demangle.cpp
 
 
downloadprovider.cpp
downloadprovider.cpp
 
 
doxyconfig
doxyconfig
 
 
fileaccessor.cpp
fileaccessor.cpp
 
 
filemetadata.cpp
filemetadata.cpp
 
 
flowgraph.cpp
flowgraph.cpp
 
 
flowgraphnode.cpp
flowgraphnode.cpp
 
 
function.cpp
function.cpp
 
 
functionrecognizer.cpp
functionrecognizer.cpp
 
 
interaction.cpp
interaction.cpp
 
 
log.cpp
log.cpp
 
 
lowlevelil.cpp
lowlevelil.cpp
 
 
lowlevelilinstruction.cpp
lowlevelilinstruction.cpp
 
 
lowlevelilinstruction.h
lowlevelilinstruction.h
 
 
mainthread.cpp
mainthread.cpp
 
 
mediumlevelil.cpp
mediumlevelil.cpp
 
 
mediumlevelilinstruction.cpp
mediumlevelilinstruction.cpp
 
 
mediumlevelilinstruction.h
mediumlevelilinstruction.h
 
 
metadata.cpp
metadata.cpp
 
 
mkdocs.yml
mkdocs.yml
 
 
platform.cpp
platform.cpp
 
 
plugin.cpp
plugin.cpp
 
 
pluginmanager.cpp
pluginmanager.cpp
 
 
rapidjsonwrapper.h
rapidjsonwrapper.h
 
 
relocationhandler.cpp
relocationhandler.cpp
 
 
scriptingprovider.cpp
scriptingprovider.cpp
 
 
settings.cpp
settings.cpp
 
 
tempfile.cpp
tempfile.cpp
 
 
transform.cpp
transform.cpp
 
 
type.cpp
type.cpp
 
 
update.cpp
update.cpp
 
 

Repository files navigation

slack

Binary Ninja API

This repository contains documentation and source code for the Binary Ninja reverse engineering platform API.

Branches

Please note that the dev branch tracks changes on the dev build of binary ninja and is generally the place where all pull requests should be submitted to. However, the master branch tracks the stable build of Binary Ninja which is the default version run after installation. Online documentation tracks the stable branch.

Contributing

Public contributions are welcome to this repository. All the API and documentation in this repository is licensed under an MIT license, however, the API interfaces with a closed-source commercial application, Binary Ninja.

If you're interested in contributing when you submit your first PR, you'll receive a notice from CLA Assistant that allows you to sign our Contribution License Agreement online.

Issues

The issue tracker for this repository tracks not only issues with the source code contained here but also the broader Binary Ninja product.

Building

Starting mid March 2017, the C++ portion of this API can be built into a static library (.a, .lib) that binary plugins can link against. Use Makefile on MacOS, Linux, and Windows mingw environments, and Makefile.win (nmake file) for Windows Visual Studio environment (nmake -f).

The compiled API contains names and functions you can use from your plugins, but most of the implementation is missing until you link up against libbinaryninjacore.dylib or libbinaryninjacore.dll (via import file libbinaryninjacore.lib). See the ./examples.

Since BinaryNinja is a 64-bit only product, ensure that you are using a 64-bit compiling and linking environment. Errors on windows like LNK1107 might indicate that your bits don't match.

Examples

  • bin-info is a standalone executable that prints some information about a given binary to stdout
  • breakpoint is a plugin that allows you to select a region within an x86 binary and use the context menu to fill it with breakpoint bytes
  • print_syscalls is a standalone executable that prints the syscalls used in a given binary

About

Public API, examples, documentation and issues for Binary Ninja

binary.ninja/

Resources

Readme
MIT license
Activity

Stars

0 stars

Watchers

0 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.