beluga
LicenseMIT
Maintainerhello@bloombit.dev
Stabilityalpha
Safe HaskellNone
LanguageHaskell2010

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

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.

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.