summaryrefslogtreecommitdiff
path: root/python/architecture.py
AgeCommit message (Collapse)Author
2026-05-22Refactor calling conventions to support correct representation of structuresRusty Wagner
2026-04-15[Python API] Replace bare "except:" with "except Exception:" to fix signal ↵Josh Ferrell
propagation
2026-04-08Fix exception with Python architecture hooksBrandon Miller
2026-02-18Python API: Fix overriding Architecture.assemble being brokenGlenn Smith
2026-02-18Python API: Add type hints to various Architecture flags fieldsGlenn Smith
2026-02-18Python API: Properly extract LLIL flags in get_flag_write_low_level_ilGlenn Smith
2026-02-18Python API: Fix LLIL flags param type being inaccurateGlenn Smith
They are flag *writes* not the flags themselves.
2026-02-16Share context between BB recovery, lifing, and disassemblyBrandon Miller
Adds a GetInstructionTextWithContext callback to the architecture class that can be used to pass data from AnalyzeBasicBlocks. This same context is also supplied to LiftFunction and allows for supplying shared function and/or binary view level information across basic block analysis, function lifting, and disassembly text rendering
2026-02-10Fix Python ABB triggering guided analysisBrandon Miller
2026-01-29Fix Python exception in FunctionLifterContextBrandon Miller
2026-01-27Perform function lifting and inlining in arch pluginsBrandon Miller
This change allows architecture plugins to override the LiftFunction callback to iterate a function's basic block list and lift entire functions at once. This is required for architectures such as TMS320 C6x, which have non-traditional "delay slots" in that branches, loads, and other instructions take multiple cycles to complete, and branch instructions can reside within the delay slots of other branches.
2026-01-01update copyrights for 2026Jordan Wiens
2025-11-21Add get and __contains__ methods to all *MetaClassPeter LaFosse
Fixes: https://github.com/Vector35/binaryninja-api/issues/7588
2025-10-22Add setter for BB analysis context max_size_reachedBrandon Miller
Add setter for Python and rust BasicBlockAnalysisContext.max_size_reached
2025-10-01better handling for when utf8 decoding failsJordan Wiens
2025-09-29Add a new line disassembly text tokenBrandon Miller
2025-08-01Use log_error_for_exception in the Python API to pass tracebacks in the ↵Rusty Wagner
stack trace associated with log messages, instead of creating large mutli-line messages for every exception
2025-07-08Various improvements for guided disassembly mode.Brian Potchik
2025-07-01Python bindings for custom basic block analysisBrandon Miller
2025-06-24abb: temp workaround pending binding updateRyan Snyder
2025-06-23Perform BB analysis from Architecture C++ APIBrandon Miller
This commit moves AnalyzeBasicBlocks from the binary ninja core to the API and allows architecture plugins to optionally override AnalyzeBasicBlocks for a custom implementation Supply ABB inputs in BNBasicBlockAnalysisContext Register default analyze basic blocks callback This allows the nanomips and rust core architecture plugins to work again while using the C++ API DefaultAnalyzeBasicBlocks Use default ABB from Python plugins Fix bug in API ArchAndAddr operator overload Python APIs for basic block analysis
2025-05-12Fix python CoreArchitecture not loading intrinsicsGlenn Smith
2025-03-28missed the older dates!Jordan Wiens
2025-03-06Python: Fix blank flag_write in another placeGlenn Smith
2025-02-04Fixes `Architecture._get_stack_pointer_register` to return 0 instead of None ↵Galen Williamson
when unimplemented to prevent ctypes error
2024-12-14Pass length to free flag conditions list callback and remove libc from rust apiMason Reed
Allows language bindings like rust to free conditions lists sanely
2024-12-14Pass length to free register list callbackMason Reed
Allows language bindings like rust to free register lists sanely
2024-08-04spellcheck pass on pydocsJordan Wiens
2024-07-24Remove deprecated API functions.Alexander Taylor
2024-07-09Refactor architecture calling convention python apiMason Reed
2024-06-05Add support for getting/setting default calling conventions in pythonJosh Ferrell
2024-06-04python/architecture: return instance from `Architecture.register()`Catherine
2024-06-04Add CorePlatform to python api for proper subclassingGlenn Smith
2024-05-24arch: multiple delay slot support, suppress spurious mips warningRyan Snyder
2024-05-02Add address display mode optionsGlenn Smith
2024-03-15Separate local variable tokens in higher level ILs from stack variable ↵Rusty Wagner
tokens in lower levels, and improve token usage in disassembly
2024-03-02Add support for memory intrinsics.Brian Potchik
2024-02-07add exprIndex field to BNInstructionTextTokenRyan Snyder
2024-01-08update copyright yearJordan Wiens
2023-08-23small clarification on APIs that descibe max_instruction_lengthJordan Wiens
2023-04-25Fix deprecation warning formatting in docs, require deprecated_in parameterJosh Ferrell
2023-03-27Catch all types of exceptions in functions in Architecture that call ↵Xusheng
user-implemented methods. Fix https://github.com/Vector35/binaryninja-api/issues/4152
2023-01-05Update copyright to 2023Josh F
2022-10-04Deprecate unused BinaryViewTypeArchitectureConstant APIXusheng
2022-02-17Add some additional type hints to architecture.py and lowlevelil.pyPeter LaFosse
2022-01-28Format All FilesKyleMiles
2022-01-19Many type check fixesPeter LaFosse
2022-01-19Use Dict instead of Mapping where appropriatePeter LaFosse
2022-01-03update copyright yearsJordan Wiens
2021-12-03Fix type hint for get_instruction_low_level_ilPeter LaFosse