angr.analyses.decompiler.optimization_passes.inlined_wcscpy_simplifier

class angr.analyses.decompiler.optimization_passes.inlined_wcscpy_simplifier.InlinedWcscpySimplifier

Bases: OptimizationPass

Simplifies inlined wide string copying logic into calls to wcsncpy, and consolidates multiple consecutive inlined wcsncpy calls.

ARCHES = None
PLATFORMS = None
STAGE: OptimizationPassStage = 3
NAME = 'Simplify inlined wcscpy'
DESCRIPTION = 'Simplify inlined wcscpy patterns and consolidate multiple inlined wcsncpy calls'
__init__(*args, **kwargs)
static even_offsets_are_zero(lst)
static odd_offsets_are_zero(lst)
static is_integer_likely_a_wide_string(v, size, endness, min_length=4)
static is_inlined_wcsncpy(stmt)
class angr.analyses.decompiler.optimization_passes.inlined_wcscpy_simplifier.InlinedWcscpySimplifierLate

Bases: InlinedWcscpySimplifier

Same as InlinedWcscpySimplifier but runs after SSA level 1 transformation.

STAGE: OptimizationPassStage = 4
NAME = 'Simplify inlined wcscpy (late)'