summaryrefslogtreecommitdiff
path: root/python/mediumlevelil.py
AgeCommit message (Collapse)Author
2026-06-05Add abs, min, and max instructionsMark Rowe
2026-06-04Add bswap, popcnt, clz, ctz, cls, and rbit instructionsMark Rowe
2026-05-22Refactor calling conventions to support correct representation of structuresRusty Wagner
2026-05-22Extend MLIL call instruction outputs to be expressionsRusty Wagner
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-22[Python] Support MLIL_SEPARATE_PARAM_LIST and MLIL_SHARED_PARAM_SLOT in ↵Mark Rowe
copy_expr_to
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-11-19Improve python api type hintsJosh Ferrell
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-07-16Docs for IL modificationGlenn Smith
2025-07-12Allow constructing MLILFunction with null LLILFunction/FunctionGlenn Smith
2025-07-02fix warning for (m/l)lilfunction translate docsJordan Wiens
2025-07-01Python: Collect and pass mappings when copying MLIL functionsGlenn Smith
2025-07-01Python: MLILFunction translate() and instr copy_toGlenn Smith
2025-07-01Python: Implement MLIL.copy_expr_toGlenn Smith
2025-07-01Python: get_instruction_index_for_expr for all ILsGlenn Smith
2025-07-01Make constructing an MLILFunction require an LLILFunctionGlenn Smith
2025-07-01Python: Update IL Function repr()sGlenn Smith
2025-07-01Python: Report get_instruction_start returns InstructionIndexGlenn Smith
2025-07-01Python: Fix detailed_operands on *callUntypedGlenn Smith
2025-07-01Python: Fix MLIL add_label_mapGlenn Smith
2025-07-01Python: Fix various MLIL expr operand names and typesGlenn Smith
2025-07-01Python: Couple minor typing tweaksGlenn Smith
2025-07-01Python: Fix indentation on some MLIL classesGlenn Smith
2025-07-01Python: Fix MLIL call params typesGlenn Smith
2025-07-01Python: MLIL add assert_expr and force_verGlenn Smith
2025-06-11Fix doc and typing on ILFunction.appendGlenn 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-03-28missed the older dates!Jordan Wiens
2025-03-27Python: Fix a couple typoes in the IL buildersGlenn Smith
2025-03-13Python: Add ILSourceLocation to these functions tooGlenn Smith
2025-03-05Python: MLIL 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-02-06Add After variants for looking up variables at instructionsGlenn Smith
Fixes #6397
2024-11-03Python API : Update .operands documentationKyleMiles
2024-07-25Add MediumLevelILFunction.is_var_live_atZichuan Li
2024-07-25Add is_ssa_var_live_at into mlilZichuan Li
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-07fix def_sites and use_sites 👀KyleMiles
2024-05-07fix def_sites and use_sitesJordan 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