package binsec
Semantic analysis of binary executables
Install
Dune Dependency
Authors
-
AAdel Djoudi
-
BBenjamin Farinier
-
CChakib Foulani
-
DDorian Lesbre
-
FFrédéric Recoules
-
GGuillaume Girol
-
JJosselin Feist
-
LLesly-Ann Daniel
-
MMahmudul Faisal Al Ameen
-
MManh-Dung Nguyen
-
MMathéo Vergnolle
-
MMathilde Ollivier
-
MMatthieu Lemerre
-
NNicolas Bellec
-
OOlivier Nicole
-
RRichard Bonichon
-
RRobin David
-
SSébastien Bardin
-
SSoline Ducousso
-
TTa Thanh Dinh
-
YYaëlle Vinçont
-
YYanis Sellami
Maintainers
Sources
binsec-0.10.0.tbz
sha256=f9f66dc2a16f10d4afc9599ce76f19d3868fca184b42f2a28bc81b37089be68f
sha512=bc56322323d1c56870bb8618c9eeed95fa7eb0ba8bde3c9ea9fe86627ecb1c97abc610401e3af7662c9f9386719be284d7144c5af5d39b3f64c63e2b2cdecb1d
doc/binsec.sse/Libsse/Cse/Expr/index.html
Module Cse.Expr
type nonrec size = Binsec.Term.size
type 'a op = 'a Binsec.Term.operator =
| Not : Binsec.Term.unary op
| Sext : size -> Binsec.Term.unary op
| Uext : size -> Binsec.Term.unary op
| Restrict : int interval -> Binsec.Term.unary op
| Plus : Binsec.Term.binary op
| Minus : _ op
| Mul : Binsec.Term.binary op
| Udiv : Binsec.Term.binary op
| Umod : Binsec.Term.binary op
| Sdiv : Binsec.Term.binary op
| Smod : Binsec.Term.binary op
| Or : Binsec.Term.binary op
| And : Binsec.Term.binary op
| Xor : Binsec.Term.binary op
| Concat : Binsec.Term.binary op
| Lsl : Binsec.Term.binary op
| Lsr : Binsec.Term.binary op
| Asr : Binsec.Term.binary op
| Rol : Binsec.Term.binary op
| Ror : Binsec.Term.binary op
| Eq : Binsec.Term.binary op
| Diff : Binsec.Term.binary op
| Ule : Binsec.Term.binary op
| Ult : Binsec.Term.binary op
| Uge : Binsec.Term.binary op
| Ugt : Binsec.Term.binary op
| Sle : Binsec.Term.binary op
| Slt : Binsec.Term.binary op
| Sge : Binsec.Term.binary op
| Sgt : Binsec.Term.binary op
type ('k, 'a, 'b) term = private ('k, 'a, 'b) Binsec.Term.t =
| Var : {
hash : int;
size : size;
name : string;
label : 'a;
} -> ([< `Var | `Loc | `Exp ], 'a, _) term
| Load : {
hash : int;
len : size;
dir : endianness;
mutable addr : ([ `Exp ], 'a, 'b) term;
label : 'b;
} -> ([< `Mem | `Loc | `Exp ], 'a, 'b) term
| Cst : Binsec.Bitvector.t -> ([< `Cst | `Exp ], _, _) term
| Unary : {
hash : int;
size : size;
f : Binsec.Term.unary Binsec.Term.operator;
mutable x : ([ `Exp ], 'a, 'b) term;
} -> ([< `Unary | `Exp ], 'a, 'b) term
| Binary : {
hash : int;
size : size;
f : Binsec.Term.binary Binsec.Term.operator;
mutable x : ([ `Exp ], 'a, 'b) term;
mutable y : ([ `Exp ], 'a, 'b) term;
} -> ([< `Binary | `Exp ], 'a, 'b) term
| Ite : {
hash : int;
size : size;
mutable c : ([ `Exp ], 'a, 'b) term;
mutable t : ([ `Exp ], 'a, 'b) term;
mutable e : ([ `Exp ], 'a, 'b) term;
} -> ([< `Ite | `Exp ], 'a, 'b) term
type t = ([ `Exp ], Binsec.Dba.Var.t, Layer.t) term
Smart constructors
val var : string -> size -> Binsec.Dba.Var.t -> t
var name bitsize label
val load : size -> endianness -> t -> Layer.t -> t
load nbytes endianness addr label
val constant : Binsec.Bitvector.t -> t
constant bv
creates a constant expression from the bitvector bv
.
val unary : Binsec.Term.unary op -> t -> t
unary f x
creates a unary application of f
on x
.
val binary : Binsec.Term.binary op -> t -> t -> t
binary f x y
creates a binary application of f
on x
and y
.
shift_(left|right) e q
shifts expression e
by quantity q
, padding with zeroes
restrict lo hi e
creates Dba.ExprUnary(Restrict(lo, hi), e)
if hi >= lo && lo >=0
.
Specific constants
val zeros : int -> t
zeros n
creates a constant expression of value 0 with length n
val ones : int -> t
ones n
creates a constant expression of value 1 with length n
. I.e.; it has (n - 1) zeros in binary.
val one : t
val zero : t
Utils
*
val hash : t -> int
hash t
returns the hash of t
in constant time.
val _unary : Binsec.Term.unary op -> t -> t
Raw constructors
_unary f x
creates a unary application of f
on x
.
val _binary : Binsec.Term.binary op -> t -> t -> t
_binary f x y
creates a binary application of f
on x
and y
.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page