| License | MIT |
|---|---|
| Maintainer | hello@bloombit.dev |
| Stability | alpha |
| Safe Haskell | None |
| Language | Haskell2010 |
Binja.Mlil
Description
Binja.Mlil provides higher level types for medium level IL SSA-variant instructions and utility functions.
Official Mlil Documentation: Binary Ninja Intermediate Language: Medium Level IL
Synopsis
- fromRef :: BNReferenceSource -> IO MediumLevelILSSAInstruction
- callerSites :: BNBinaryViewPtr -> BNMlilSSAFunctionPtr -> IO [MediumLevelILSSAInstruction]
- defSite :: BNSSAVariable -> BNMlilSSAFunctionPtr -> IO (Maybe MediumLevelILSSAInstruction)
- useSites :: BNSSAVariable -> BNMlilSSAFunctionPtr -> IO [MediumLevelILSSAInstruction]
- constantToSymbol :: BNBinaryViewPtr -> Constant -> IO (Maybe Symbol)
- extractCallDestSymbol :: BNBinaryViewPtr -> MediumLevelILSSAInstruction -> IO (Maybe Symbol)
- instructions :: BNBinaryViewPtr -> IO [MediumLevelILSSAInstruction]
- instructionsFromFunc :: BNMlilSSAFunctionPtr -> IO [MediumLevelILSSAInstruction]
- instructionsFromFuncNoChildren :: BNMlilSSAFunctionPtr -> IO [MediumLevelILSSAInstruction]
- children :: MediumLevelILSSAInstruction -> [MediumLevelILSSAInstruction]
Documentation
fromRef :: BNReferenceSource -> IO MediumLevelILSSAInstruction Source #
Retrieve the best MLIL SSA-variant instruction for the address in BNReferenceSource
defSite :: BNSSAVariable -> BNMlilSSAFunctionPtr -> IO (Maybe MediumLevelILSSAInstruction) Source #
Derive a definition site from a ssa variable in a medium level IL SSA-variant function if exists. Function arguments and registers of version 0 do not have definition sites for example.
constantToSymbol :: BNBinaryViewPtr -> Constant -> IO (Maybe Symbol) Source #
extractCallDestSymbol :: BNBinaryViewPtr -> MediumLevelILSSAInstruction -> IO (Maybe Symbol) Source #
instructions :: BNBinaryViewPtr -> IO [MediumLevelILSSAInstruction] Source #
All instructions (children included) in a binary view.
instructionsFromFunc :: BNMlilSSAFunctionPtr -> IO [MediumLevelILSSAInstruction] Source #
All instructions (children included) in a specific function.
instructionsFromFuncNoChildren :: BNMlilSSAFunctionPtr -> IO [MediumLevelILSSAInstruction] Source #
All top-level instructions in a specific function (children not included).
children :: MediumLevelILSSAInstruction -> [MediumLevelILSSAInstruction] Source #
Deconstructs the provided instruction to derive the list of all child instructions.