summaryrefslogtreecommitdiff
path: root/python/highlevelil.py
AgeCommit message (Collapse)Author
2026-01-28Fix a fundamental problem with TypeBuilder.handle by deleting itPeter LaFosse
TypeBuilder.handle creates an immutable_type gets the handle and then deletes the object to which the handle belonged to. This was fundamentally a UAF. immutable_copy is an error prone api as its very easy to misuse. We should consider a re-architecture of this API. `TypeBuilder.immutable_copy().<anything>` or `Type.mutable_copy().<anything>` should be considered sketchy and immutable_copy().handle is just a straight up UAF. Prior to this commit the following would cause a crash: current_data_variable.type = PointerBuilder.create(FunctionType.create())
2026-01-01update copyrights for 2026Jordan Wiens
2025-12-12Python: Make raw operand conversion functions privateGlenn Smith
Fixes Vector35/binaryninja-api#7782. Seems like these were missed in the refactor in de0b872e
2025-10-21Add derived strings and string recognizer APIRusty Wagner
2025-09-17[Python] Use IL-specific types in return type annotations for get_basic_block_attbodt
2025-07-01Python: get_instruction_index_for_expr for all ILsGlenn Smith
2025-07-01Python: Update IL Function repr()sGlenn Smith
2025-06-11API to create immediate function graphsGlenn Smith
2025-06-10Ensure the ConstantData IL instructions in the Python bindings provide the ↵Brian Potchik
'constant' property.
2025-05-16[Python] Support HLIL collapsing and update PseudoPythonGlenn Smith
Fixes Vector35/binaryninja-api#6679
2025-03-28missed the older dates!Jordan Wiens
2025-03-05Python: HLIL instruction buildersGlenn Smith
2025-03-05Python: Make copy_expr copy with locationGlenn Smith
Co-Authored-By: ltlly <a1253213025@163.com>
2025-03-05Python: Add ability to construct expressions with locationsGlenn Smith
Co-Authored-By: ltlly <a1253213025@163.com>
2025-02-14uidf refactorRyan Snyder
2025-01-24Add line formatter API and a generic line formatter pluginRusty Wagner
2025-01-20Revert "Add line formatter API and a generic line formatter plugin"Rusty Wagner
This reverts commit 1699c71999d29d32aba5c9f8fea193a661a4b02b.
2025-01-17Add line formatter API and a generic line formatter pluginRusty Wagner
2024-11-03Python API : Update .operands documentationKyleMiles
2024-10-28Eliminate AST parameter in high level rendering APIs, as it is already part ↵Rusty Wagner
of the HLIL instruction
2024-10-21Allow multiple high level representations for display, add Pseudo Rust and a ↵Rusty Wagner
Pseudo Python example plugin
2024-07-24Remove deprecated API functions.Alexander Taylor
2024-06-14Shallow instruction traversal for HighLevelILInstruction.traverseMason Reed
2024-05-24fix missing params in ILOperands and mark as deprecated in LLIL, HLILJordan Wiens
2024-05-22cleanup all outstanding sphinx RST warningsJordan Wiens
2024-05-07Add SetVar commonil class to appropriate HLIL instructionKyleMiles
2024-04-24improve traverse examplesJordan Wiens
2024-04-21Improve type hints for many __getitem__ implsJosh Ferrell
2024-03-07Python: More IL expr functionsGlenn Smith
- XLILFunction.get_expr: Get an expr by index - XLILFunction.copy_expr: Copy an IL expr to a new expr - XLILInstruction.raw_operands: the straight integers from the core - Extra accessors on XLILLabel
2024-02-29link from traverse APIs to examplesJordan Wiens
2024-02-26fix plugincommand docsJordan Wiens
2024-02-26Provide more fully featured ability to traverse hlilPeter LaFosse
2024-02-234.0 documentationJordan Wiens
- Refactored Type Documentation - Added Projects - Added Type Archives - Added New Sidebar Documentation - Added String Concepts - Added Light/Dark Mode - Added New Tab Documentation - Added BNIL Guide: HLIL docs - Added new cookbook examples - Added migration guide - Added script for building docsets - Added documentation for themes - Updated all images to Ninja Edit - API Docs : Documents BasicBlockEdge and BasicBlock - API Docs : Documents CoreVariable, Variable, and VariableNameAndType - API Docs : Corrects note on `BinaryView.update_analysis` and `BinaryView.update_analysis_and_wait` to represent that analysis is run by default for you now. - Many, many other changes
2024-02-01Adds `BinaryView.check_for_string_annotation_type`; Adds ergonomic way of ↵KyleMiles
retrieving string from ConstPtr IL instructions; Resolves #4144
2024-02-01Python API : Add a more flexible/ergonomic visitor pattern called traverse ↵KyleMiles
to LLIL, MLIL, and HLIL Also cleans up some old code patterns in the old visitors
2024-01-08update copyright yearJordan Wiens
2023-11-29Fix typo HighLevelILIntrinsicSsa's `dest_memory` and `src_memory` properties ↵KyleMiles
that was preventing them from returning the right values See https://github.com/Vector35/binaryninja-api/pull/4769#issuecomment-1830708130 for more context.
2023-11-23Fix address printing for BasicBlocks in reprScott Lagler
2023-07-22Python API : Add examples to the docs for MediumLevelILInstruction.visit and ↵KyleMiles
HighLevelILInstruction.visit
2023-07-22Python API : Allow HLIL/MLIL get_ssa_var_definition and get_ssa_var_uses to ↵KyleMiles
accept variable instruction objects in addition to variable objects
2023-06-29Improve __repr__ for IL instructions, and related objectsPeter LaFosse
2023-06-02Fix typo in highlevelil.py docsKyleMiles
2023-06-02Add Var, SSAVar, and AliasedVar to commonil.py, and update the relavent ↵KyleMiles
MLIL/HLIL instrutctions
2023-05-26param_vars doesn't exist, properly refer to parameter_varsMaja Kądziołka
2023-05-26Fix bugs in hlil.ssa_form.vars_written returning empty when it shouldn'tPeter LaFosse
2023-05-11Fix HLILForSSA.body propertyPeter LaFosse
2023-04-25Fix deprecation warning formatting in docs, require deprecated_in parameterJosh Ferrell
2023-03-29Fix some type hints using more correct Dict instead of MappingPeter LaFosse
2023-03-28Add visitors for llil and hlilPeter LaFosse
Implement detailed_operands for both, add visitors for both. Improve consistency of type_name field of detailed_operands in MLIL
2023-02-04Initial support for constant data expressions.Brian Potchik