ethpector.symbolic.modules package

Submodules

ethpector.symbolic.modules.extractor module

class ethpector.symbolic.modules.extractor.RecoverData[source]

Bases: DetectionModule

description = 'Recovers annotations from symbolic execution'
entry_point: EntryPoint = 2
get_annotations()[source]
name = 'Data recoverer'

ethpector.symbolic.modules.sender module

class ethpector.symbolic.modules.sender.AddressConstantAnnotation(address, pc)[source]

Bases: object

class ethpector.symbolic.modules.sender.LOADAnnotation(address, pc)[source]

Bases: StateAnnotation

class ethpector.symbolic.modules.sender.MsgSender(enable_sender_in_index)[source]

Bases: DetectionModule

This module detects whether control flow decisions are made based on the transaction sender.

description = 'Check whether control flow decisions are influenced by msg.sender'
entry_point: EntryPoint = 2
execute_posthook(state: GlobalState, op, pc, instruction, stack, func, lastOp)[source]
execute_prehook(state: GlobalState, op, pc, instruction, stack, func, lastOp)[source]
name = 'Control flow depends on msg.sender'
class ethpector.symbolic.modules.sender.MsgSenderAnnotation[source]

Bases: object

class ethpector.symbolic.modules.sender.SHAAnnotation[source]

Bases: object

class ethpector.symbolic.modules.sender.StorageAnnotation(address, pc)[source]

Bases: object

ethpector.symbolic.modules.sender.based_on_msg_sender(constraint)[source]
ethpector.symbolic.modules.sender.contains_hash(constraint)[source]
ethpector.symbolic.modules.sender.get_storage_addresses_from_constraint(constraint)[source]

Module contents