Home
Original page
LowLevelILMutableFunction in binaryninja::low_level_il - Rust
Source
pub const
NO_INPUTS
: [
ExpressionBuilder
<'static,
ValueExpr
>;
0
]
Source
pub const
NO_OUTPUTS
: [
LowLevelILRegisterKind
<
CoreRegister
>;
0
]
Source
pub fn
expression
<'a, E:
LiftableLowLevelIL
<'a>>( &'a self, expr: E, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
, E::
Result
>
Source
pub fn
add_instruction
<'a, E:
LiftableLowLevelIL
<'a>>(&'a self, expr: E)
Source
pub unsafe fn
replace_expression
<'a, E:
LiftableLowLevelIL
<'a>>( &'a self, replaced_expr_index:
LowLevelExpressionIndex
, replacement: E, ) ->
bool
Source
pub fn
const_int
( &self, size:
usize
, val:
u64
, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
const_ptr_sized
( &self, size:
usize
, val:
u64
, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
const_ptr
(&self, val:
u64
) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
trap
( &self, val:
u64
, ) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
unimplemented
( &self, ) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
ValueExpr
>
Source
pub fn
undefined
(&self) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
ValueExpr
>
Source
pub fn
nop
(&self) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
no_ret
(&self) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
syscall
(&self) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
bp
(&self) ->
LowLevelILExpression
<'_,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
call
<'a, E>( &'a self, expr: E, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
tailcall
<'a, E>( &'a self, expr: E, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
ret
<'a, E>( &'a self, expr: E, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
jump
<'a, E>( &'a self, expr: E, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
if_expr
<'a: 'b, 'b, C>( &'a self, cond: C, true_label: &'b mut
LowLevelILLabel
, false_label: &'b mut
LowLevelILLabel
, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
goto
<'a: 'b, 'b>( &'a self, label: &'b mut
LowLevelILLabel
, ) ->
LowLevelILExpression
<'a,
Mutable
,
NonSSA
,
VoidExpr
>
Source
pub fn
reg
<R:
ArchReg
, LR:
Into
<
LowLevelILRegisterKind
<R>>>( &self, size:
usize
, reg: LR, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
reg_split
<R:
ArchReg
, LR:
Into
<
LowLevelILRegisterKind
<R>>>( &self, size:
usize
, hi_reg: LR, lo_reg: LR, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
set_reg
<'a, R, LR, E>( &'a self, size:
usize
, dest_reg: LR, expr: E, ) ->
ExpressionBuilder
<'a,
VoidExpr
>
Source
pub fn
set_reg_split
<'a, R, LR, E>( &'a self, size:
usize
, hi_reg: LR, lo_reg: LR, expr: E, ) ->
ExpressionBuilder
<'a,
VoidExpr
>
Source
pub fn
flag
( &self, flag: impl
Flag
, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
flag_cond
( &self, cond:
FlagCondition
, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
flag_group
( &self, group: impl
FlagGroup
, ) ->
LowLevelILMutableExpression
<'_,
ValueExpr
>
Source
pub fn
set_flag
<'a, E>( &'a self, dest_flag: impl
Flag
, expr: E, ) ->
ExpressionBuilder
<'a,
VoidExpr
>
Source
pub fn
load
<'a, E>( &'a self, size:
usize
, source_mem: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
store
<'a, D, V>( &'a self, size:
usize
, dest_mem: D, value: V, ) ->
ExpressionBuilder
<'a,
VoidExpr
>
Source
pub fn
intrinsic
<'a, R, O, P>( &'a self, outputs: impl
IntoIterator
<Item = O>, intrinsic: impl
Intrinsic
, inputs: impl
IntoIterator
<Item = P>, ) ->
ExpressionBuilder
<'a,
VoidExpr
>
Source
pub fn
push
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
VoidExpr
>
Source
pub fn
pop
(&self, size:
usize
) ->
ExpressionBuilder
<'_,
ValueExpr
>
Source
pub fn
unimplemented_mem
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
neg
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
not
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
sx
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
zx
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
low_part
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
add
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
add_overflow
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
sub
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
and
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
or
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
xor
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
lsl
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
lsr
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
asr
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
rol
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
rlc
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
ror
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
rrc
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
mul
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
muls_dp
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
mulu_dp
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
divs
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
divu
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
mods
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
modu
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
adc
<'a, L, R, C>( &'a self, size:
usize
, left: L, right: R, carry: C, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
sbb
<'a, L, R, C>( &'a self, size:
usize
, left: L, right: R, carry: C, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_e
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_ne
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_slt
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_ult
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_sle
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_ule
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_sge
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_uge
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_sgt
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
cmp_ugt
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
test_bit
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
bool_to_int
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fadd
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fsub
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fmul
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fdiv
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fsqrt
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fneg
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fabs
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
float_to_int
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
int_to_float
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
float_conv
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
round_to_int
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
floor
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
ceil
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
ftrunc
<'a, E>( &'a self, size:
usize
, expr: E, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_e
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_ne
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_lt
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_le
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_ge
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_gt
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_o
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
fcmp_uo
<'a, L, R>( &'a self, size:
usize
, left: L, right: R, ) ->
ExpressionBuilder
<'a,
ValueExpr
>
Source
pub fn
current_address
(&self) ->
u64
Source
pub fn
set_current_address
<L:
Into
<
Location
>>(&self, loc: L)
Source
pub fn
label_for_address
<L:
Into
<
Location
>>( &self, loc: L, ) ->
Option
<
LowLevelILLabel
>
Source
pub fn
mark_label
(&self, label: &mut
LowLevelILLabel
)