foxdec-0.1.0.0: Formally Verified x86-64 Decompilation
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.SValue

Description

 

Documentation

data SValue Source #

Instances

Instances details
Generic SValue Source # 
Instance details

Defined in Data.SValue

Associated Types

type Rep SValue :: Type -> Type #

Methods

from :: SValue -> Rep SValue x #

to :: Rep SValue x -> SValue #

Show SValue Source # 
Instance details

Defined in Data.SValue

Serialize SValue Source #

A `symbolic value` is either a `pointer value` (high certainty that it is actually a pointer), or a non-deterministic set of concrete expressions, or computed from a set of possible addends. data SValue = SPointer (NES.NESet PtrValue) | SConcrete (NES.NESet SimpleExpr) | SAddends (NES.NESet SAddend) | Top deriving (Eq,Ord,Generic)

Instance details

Defined in Data.SValue

NFData SValue Source # 
Instance details

Defined in Data.SValue

Methods

rnf :: SValue -> () #

Eq SValue Source # 
Instance details

Defined in Data.SValue

Methods

(==) :: SValue -> SValue -> Bool #

(/=) :: SValue -> SValue -> Bool #

Ord SValue Source # 
Instance details

Defined in Data.SValue

BinaryClass bin => WithAbstractSymbolicValues (Static bin v) SValue SPointer Source # 
Instance details

Defined in WithNoAbstraction.SymbolicExecution

Methods

sseparate :: Static bin v -> String -> SPointer -> Maybe ByteSize -> SPointer -> Maybe ByteSize -> Bool Source #

senclosed :: Static bin v -> SPointer -> Maybe ByteSize -> SPointer -> Maybe ByteSize -> Bool Source #

salias :: Static bin v -> SPointer -> Maybe ByteSize -> SPointer -> Maybe ByteSize -> Bool Source #

ssensitive :: Static bin v -> SPointer -> Maybe ByteSize -> SValue -> Bool Source #

sread_from_ro_data :: Static bin v -> SPointer -> Maybe ByteSize -> Maybe SValue Source #

smk_mem_addresses :: Static bin v -> String -> SValue -> Set SPointer Source #

sjoin_values :: Foldable t => Static bin v -> String -> t SValue -> SValue Source #

swiden_values :: Static bin v -> String -> SValue -> SValue Source #

sjoin_pointers :: Static bin v -> [SPointer] -> [SPointer] Source #

top :: Static bin v -> String -> SValue Source #

ssemantics :: Static bin v -> String -> SymbolicOperation SValue -> SValue Source #

sflg_semantics :: Static bin v -> SValue -> Instruction -> FlagStatus -> FlagStatus Source #

simmediate :: Integral i => Static bin v -> i -> SValue Source #

smk_init_reg_value :: Static bin v -> Register -> SValue Source #

smk_init_mem_value :: Static bin v -> String -> SPointer -> Maybe ByteSize -> SValue Source #

scall :: Static bin v -> Instruction -> State (Sstate SValue SPointer, VCS SValue) () Source #

sjump :: Static bin v -> Instruction -> State (Sstate SValue SPointer, VCS SValue) () Source #

saddress_has_instruction :: Static bin v -> Word64 -> Bool Source #

skeep_for_finit :: Static bin v -> SStatePart SPointer -> SValue -> Maybe (Set SPointer) Source #

stry_jump_targets :: Static bin v -> SValue -> Maybe (Set ResolvedJumpTarget) Source #

stry_resolve_error_call :: Static bin v -> Instruction -> SValue -> Maybe Indirection Source #

stry_immediate :: Static bin v -> SValue -> Maybe Word64 Source #

sis_deterministic :: Static bin v -> SValue -> Bool Source #

scheck_regs_in_postcondition :: Static bin v -> SValue -> SValue -> Bool Source #

type Rep SValue Source # 
Instance details

Defined in Data.SValue

type Rep SValue = D1 ('MetaData "SValue" "Data.SValue" "foxdec-0.1.0.0-DGuc5MMkhbvOBLAebyTd5" 'False) (C1 ('MetaCons "SConcrete" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NESet SimpleExpr))) :+: (C1 ('MetaCons "SAddends" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NESet SimpleExpr))) :+: C1 ('MetaCons "Top" 'PrefixI 'False) (U1 :: Type -> Type)))