summaryrefslogtreecommitdiff
path: root/python/lowlevelil.py
AgeCommit message (Collapse)Author
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-01-01update copyrights for 2026Jordan Wiens
2025-12-11Specify fixed underlying types for enums exposed by coreMark Rowe
This allows a few widely-used enums to be shrunk from 4 bytes to 1 byte, improving packing when they're used as struct members. To remain compatible with C, we follow CoreFoundation's approach and use a macro when defining the enum: ``` #if defined(__cplusplus) || __has_extension(c_fixed_enum) #define BN_ENUM(type, name) enum name : type #else #define BN_ENUM(type, name) typedef type name; enum #endif BN_ENUM(uint8_t, SomeEnum) { ... } ``` In C++ and C23 this will expand to an enum with a fixed underlying type. In older C language versions, this will result in the enum type being a typedef of the underlying type, with an unnamed enum providing the enum values. Minor changes were needed within the Python bindings to update places that made assumptions about the underlying type of the enums.
2025-09-22small documentation update for llil call and call_stack_adjust instructionsJordan Wiens
2025-09-17[Python] Use IL-specific types in return type annotations for get_basic_block_attbodt
2025-09-09Python: Update docs for label / transformation functionsGlenn Smith
2025-08-14Corrected python docstring for LowLevelILFunction.float_convertGalen Williamson
[thumb2] removed redundant format suffixes from disassembly of VFP instruction [thumb2] Corrected lifting of VCVT instruction
2025-07-15Move LLIL instruction retrieval into the LLIL function where it belongsMason Reed
The python API was kept the same seeing as we are close to the release, will likely start deprecating some of those API's soon.
2025-07-02fix warning for (m/l)lilfunction translate docsJordan Wiens
2025-07-01Python: get_instruction_index_for_expr for all ILsGlenn Smith
2025-07-01Python: Add LLILFunction.get_instruction_index_for_exprGlenn Smith
2025-07-01Python: Update IL Function repr()sGlenn Smith
2025-07-01Python: Report get_instruction_start returns InstructionIndexGlenn Smith
2025-07-01Python: Couple minor typing tweaksGlenn Smith
2025-07-01Python: Fix copy_to for LowLevelILOperation.LLIL_REG_STACK_FREE_RELGlenn Smith
2025-07-01Python: Add LLIL for assert, force_verGlenn Smith
2025-06-12Add missing IL ops, flags parameters, call stack adjustGlenn Smith
2025-06-11LLILIntrinsic: Don't quote type in detailed_operandsGlenn Smith
2025-06-11Python: LLIL_GOTO/IF ops have InstructionIndex operandsGlenn Smith
2025-06-11Allow LLILFunction.set_flag to use flag indexGlenn Smith
For things like temporary flags which the lifters can produce
2025-06-11Fix doc and typing on ILFunction.appendGlenn Smith
2025-06-11API to create immediate function graphsGlenn Smith
2025-04-08[aarch64] lift all LD[1-4]R? and ST[1-4] opcodes, lift ST/LDCLR, ST/LDEOR, ↵Galen Williamson
ST/LDSET, and their variants Also fixes all outstanding issues in arm64test.py, including intrinsics, dc, at, and tlbi
2025-03-28missed the older dates!Jordan Wiens
2025-03-27Python: Fix a couple typoes in the IL buildersGlenn Smith
2025-03-06Python: Add LLILFunction.translate and sample workflow using itGlenn Smith
2025-03-06Python: LLILFunction.prepare_to_copy_function and copy_toGlenn Smith
2025-03-06Python: Fix LLILFunction.flag() calling the flag `reg`Glenn Smith
2025-03-06Python: Fix LLILFunction.add_label_mapGlenn Smith
2025-03-05Python: Fix some missing params/docs for LLIL float exprsGlenn Smith
2025-03-05Python: Add source location parameter to LLIL buildersGlenn Smith
2025-03-05Python: Make copy_expr copy with locationGlenn Smith
Co-Authored-By: ltlly <a1253213025@163.com>
2025-03-05Python: Fix LLILInstr.copy_expr breaking with flagsGlenn 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-02-11Add LowLevelILOperation.LLIL_BOOL_TO_INT. Fix ↵Xusheng
https://github.com/Vector35/binaryninja-api/issues/6408
2025-02-03Fix documentation around `LLIL_MUL`Dusk Banks
`mul` is aligned with at least what x86 returns for tokens. Signed-off-by: Dusk Banks <me@bb010g.com>
2024-11-03Python API : Update .operands documentationKyleMiles
2024-05-24fix missing params in ILOperands and mark as deprecated in LLIL, HLILJordan 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-03-07Expose get_expr_count() on python llil and mlilSam Russell
This is already exposed in the CPP interface, and is useful for workflows for enumerating all expressions in an ILFunction
2024-03-02Add support for memory intrinsics.Brian Potchik
2024-02-29link from traverse APIs to examplesJordan Wiens
2024-02-26Provide more fully featured ability to traverse hlilPeter LaFosse
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-12-06Add LLIL/MLIL instructions to describe integer vs. floating point argument usageRusty Wagner
2023-11-23Fix address printing for BasicBlocks in reprScott Lagler