angr.analyses.decompiler.optimization_passes.inlined_string_transformation_simplifier

class angr.analyses.decompiler.optimization_passes.inlined_string_transformation_simplifier.FasterMemory

Bases: SimpleInterfaceMixin, DefaultFillerMixin, UltraPagesMixin, PagedMemoryMixin

A fast memory model used in InlinedStringTransformationState.

class angr.analyses.decompiler.optimization_passes.inlined_string_transformation_simplifier.InlinedStringTransformationState

Bases: object

The abstract state used in InlinedStringTransformationAILEngine.

__init__(project)
reg_store(reg, value)
Return type:

None

Parameters:
reg_load(reg)
Return type:

BV | None

Parameters:

reg (Register)

mem_store(addr, value, endness)
Return type:

None

Parameters:
mem_load(addr, size, endness)
Return type:

BV | None

Parameters:
vvar_store(vvar, value)
Return type:

None

Parameters:
vvar_load(vvar)
Return type:

BV | None

Parameters:

vvar (VirtualVariable)

class angr.analyses.decompiler.optimization_passes.inlined_string_transformation_simplifier.InlinedStringTransformationAILEngine

Bases: SimEngineNostmtAIL[InlinedStringTransformationState, BV | None, None, None]

A simple AIL execution engine

__init__(project, nodes, start, end, step_limit)
Parameters:
nodes: dict[int, Any]
start: int
end: int
step_limit: int
stack_accesses: defaultdict[int, list[tuple[str, CodeLocation, Bits]]]
finished: bool
class angr.analyses.decompiler.optimization_passes.inlined_string_transformation_simplifier.InlineStringTransformationDescriptor

Bases: object

Describes an instance of inline string transformation.

__init__(store_block, loop_body, stack_accesses, beginning_stack_offset)
class angr.analyses.decompiler.optimization_passes.inlined_string_transformation_simplifier.InlinedStringTransformationSimplifier

Bases: OptimizationPass

Simplifies inlined string transformation routines.

ARCHES = None
PLATFORMS = None
STAGE: OptimizationPassStage = 3
NAME = 'Simplify string transformations'
DESCRIPTION = 'Simplify string transformations that are commonly used in obfuscated functions.'
__init__(*args, **kwargs)