angr 9.2.119__py3-none-macosx_11_0_arm64.whl → 9.2.120__py3-none-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of angr might be problematic. Click here for more details.
- angr/__init__.py +217 -2
- angr/__main__.py +14 -4
- angr/analyses/__init__.py +54 -0
- angr/analyses/analysis.py +8 -8
- angr/analyses/backward_slice.py +4 -4
- angr/analyses/bindiff.py +2 -2
- angr/analyses/callee_cleanup_finder.py +1 -1
- angr/analyses/calling_convention.py +21 -15
- angr/analyses/cdg.py +1 -1
- angr/analyses/cfg/__init__.py +12 -1
- angr/analyses/cfg/cfb.py +2 -2
- angr/analyses/cfg/cfg.py +1 -1
- angr/analyses/cfg/cfg_base.py +28 -11
- angr/analyses/cfg/cfg_emulated.py +18 -18
- angr/analyses/cfg/cfg_fast.py +1 -1
- angr/analyses/cfg/cfg_fast_soot.py +5 -5
- angr/analyses/cfg/cfg_job_base.py +3 -3
- angr/analyses/cfg/indirect_jump_resolvers/__init__.py +13 -0
- angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py +1 -1
- angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py +2 -2
- angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py +4 -4
- angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +21 -18
- angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py +5 -5
- angr/analyses/cfg/indirect_jump_resolvers/resolver.py +2 -2
- angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py +1 -1
- angr/analyses/cfg_slice_to_sink/__init__.py +8 -0
- angr/analyses/class_identifier.py +2 -2
- angr/analyses/code_tagging.py +2 -2
- angr/analyses/complete_calling_conventions.py +3 -3
- angr/analyses/congruency_check.py +1 -2
- angr/analyses/data_dep/__init__.py +13 -0
- angr/analyses/data_dep/data_dependency_analysis.py +5 -5
- angr/analyses/datagraph_meta.py +1 -1
- angr/analyses/ddg.py +3 -3
- angr/analyses/decompiler/__init__.py +25 -0
- angr/analyses/decompiler/ail_simplifier.py +8 -8
- angr/analyses/decompiler/block_simplifier.py +3 -3
- angr/analyses/decompiler/callsite_maker.py +5 -3
- angr/analyses/decompiler/clinic.py +25 -26
- angr/analyses/decompiler/condition_processor.py +7 -5
- angr/analyses/decompiler/counters/__init__.py +11 -0
- angr/analyses/decompiler/decompiler.py +24 -10
- angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
- angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
- angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
- angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
- angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
- angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
- angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +7 -7
- angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
- angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
- angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
- angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
- angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
- angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +6 -6
- angr/analyses/decompiler/optimization_passes/ite_region_converter.py +2 -2
- angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +7 -3
- angr/analyses/decompiler/optimization_passes/optimization_pass.py +34 -28
- angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +2 -2
- angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +1 -1
- angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +3 -3
- angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +5 -5
- angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +1 -1
- angr/analyses/decompiler/peephole_optimizations/__init__.py +61 -19
- angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +1 -1
- angr/analyses/decompiler/presets/__init__.py +20 -0
- angr/analyses/decompiler/presets/basic.py +30 -0
- angr/analyses/decompiler/presets/fast.py +54 -0
- angr/analyses/decompiler/presets/full.py +64 -0
- angr/analyses/decompiler/presets/preset.py +37 -0
- angr/analyses/decompiler/region_identifier.py +21 -7
- angr/analyses/decompiler/region_simplifiers/__init__.py +3 -0
- angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +3 -3
- angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +3 -3
- angr/analyses/decompiler/region_simplifiers/expr_folding.py +2 -2
- angr/analyses/decompiler/region_simplifiers/goto.py +3 -3
- angr/analyses/decompiler/region_simplifiers/if_.py +2 -2
- angr/analyses/decompiler/region_simplifiers/ifelse.py +4 -4
- angr/analyses/decompiler/region_simplifiers/loop.py +4 -4
- angr/analyses/decompiler/region_simplifiers/node_address_finder.py +1 -1
- angr/analyses/decompiler/region_simplifiers/region_simplifier.py +6 -6
- angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +12 -5
- angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +3 -3
- angr/analyses/decompiler/sequence_walker.py +11 -12
- angr/analyses/decompiler/structured_codegen/__init__.py +14 -0
- angr/analyses/decompiler/structured_codegen/base.py +1 -1
- angr/analyses/decompiler/structured_codegen/c.py +13 -13
- angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
- angr/analyses/decompiler/structuring/__init__.py +11 -1
- angr/analyses/decompiler/structuring/dream.py +8 -8
- angr/analyses/decompiler/structuring/phoenix.py +6 -6
- angr/analyses/decompiler/structuring/recursive_structurer.py +7 -7
- angr/analyses/decompiler/structuring/sailr.py +2 -2
- angr/analyses/decompiler/structuring/structurer_base.py +9 -4
- angr/analyses/decompiler/structuring/structurer_nodes.py +18 -9
- angr/analyses/decompiler/utils.py +4 -2
- angr/analyses/disassembly.py +6 -6
- angr/analyses/disassembly_utils.py +1 -1
- angr/analyses/dominance_frontier.py +1 -1
- angr/analyses/find_objects_static.py +5 -5
- angr/analyses/flirt.py +3 -3
- angr/analyses/forward_analysis/__init__.py +9 -0
- angr/analyses/forward_analysis/forward_analysis.py +4 -4
- angr/analyses/forward_analysis/job_info.py +1 -1
- angr/analyses/forward_analysis/visitors/__init__.py +9 -0
- angr/analyses/forward_analysis/visitors/graph.py +2 -2
- angr/analyses/identifier/__init__.py +3 -0
- angr/analyses/identifier/custom_callable.py +2 -3
- angr/analyses/identifier/errors.py +1 -1
- angr/analyses/identifier/functions/__init__.py +4 -4
- angr/analyses/identifier/functions/atoi.py +1 -1
- angr/analyses/identifier/functions/based_atoi.py +1 -1
- angr/analyses/identifier/functions/fdprintf.py +1 -1
- angr/analyses/identifier/functions/free.py +2 -2
- angr/analyses/identifier/functions/int2str.py +1 -1
- angr/analyses/identifier/functions/malloc.py +2 -2
- angr/analyses/identifier/functions/memcmp.py +1 -1
- angr/analyses/identifier/functions/memcpy.py +3 -3
- angr/analyses/identifier/functions/memset.py +1 -1
- angr/analyses/identifier/functions/printf.py +1 -1
- angr/analyses/identifier/functions/recv_until.py +2 -2
- angr/analyses/identifier/functions/skip_calloc.py +2 -2
- angr/analyses/identifier/functions/skip_realloc.py +2 -2
- angr/analyses/identifier/functions/skip_recv_n.py +1 -1
- angr/analyses/identifier/functions/snprintf.py +1 -1
- angr/analyses/identifier/functions/sprintf.py +1 -1
- angr/analyses/identifier/functions/strcmp.py +1 -1
- angr/analyses/identifier/functions/strcpy.py +1 -1
- angr/analyses/identifier/functions/strlen.py +1 -1
- angr/analyses/identifier/functions/strncmp.py +1 -1
- angr/analyses/identifier/functions/strncpy.py +1 -1
- angr/analyses/identifier/functions/strtol.py +1 -1
- angr/analyses/identifier/identify.py +3 -3
- angr/analyses/identifier/runner.py +6 -6
- angr/analyses/init_finder.py +1 -1
- angr/analyses/loop_analysis.py +2 -2
- angr/analyses/propagator/__init__.py +3 -0
- angr/analyses/propagator/engine_ail.py +4 -4
- angr/analyses/propagator/engine_base.py +2 -2
- angr/analyses/propagator/engine_vex.py +2 -2
- angr/analyses/propagator/outdated_definition_walker.py +3 -3
- angr/analyses/propagator/propagator.py +3 -3
- angr/analyses/propagator/top_checker_mixin.py +1 -1
- angr/analyses/proximity_graph.py +3 -3
- angr/analyses/reaching_definitions/__init__.py +6 -6
- angr/analyses/reaching_definitions/dep_graph.py +5 -5
- angr/analyses/reaching_definitions/engine_ail.py +8 -8
- angr/analyses/reaching_definitions/engine_vex.py +18 -13
- angr/analyses/reaching_definitions/heap_allocator.py +3 -3
- angr/analyses/reaching_definitions/rd_state.py +4 -10
- angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
- angr/analyses/reaching_definitions/subject.py +3 -3
- angr/analyses/reassembler.py +5 -5
- angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
- angr/analyses/s_reaching_definitions/__init__.py +11 -1
- angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
- angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
- angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
- angr/analyses/stack_pointer_tracker.py +5 -5
- angr/analyses/static_hooker.py +2 -2
- angr/analyses/typehoon/__init__.py +3 -0
- angr/analyses/typehoon/lifter.py +1 -1
- angr/analyses/typehoon/translator.py +2 -2
- angr/analyses/typehoon/typehoon.py +3 -3
- angr/analyses/variable_recovery/__init__.py +6 -0
- angr/analyses/variable_recovery/engine_ail.py +5 -5
- angr/analyses/variable_recovery/engine_base.py +7 -7
- angr/analyses/variable_recovery/engine_vex.py +7 -7
- angr/analyses/variable_recovery/variable_recovery.py +5 -5
- angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
- angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
- angr/analyses/veritesting.py +8 -8
- angr/analyses/vfg.py +13 -13
- angr/analyses/vsa_ddg.py +3 -3
- angr/analyses/vtable.py +1 -1
- angr/analyses/xrefs.py +3 -3
- angr/angrdb/__init__.py +3 -0
- angr/angrdb/db.py +2 -2
- angr/angrdb/serializers/__init__.py +7 -0
- angr/angrdb/serializers/cfg_model.py +2 -2
- angr/angrdb/serializers/comments.py +2 -2
- angr/angrdb/serializers/funcs.py +2 -2
- angr/angrdb/serializers/kb.py +2 -2
- angr/angrdb/serializers/labels.py +2 -2
- angr/angrdb/serializers/loader.py +2 -2
- angr/angrdb/serializers/structured_code.py +4 -4
- angr/angrdb/serializers/variables.py +3 -3
- angr/angrdb/serializers/xrefs.py +2 -2
- angr/concretization_strategies/__init__.py +17 -0
- angr/concretization_strategies/max.py +1 -1
- angr/concretization_strategies/norepeats_range.py +1 -1
- angr/distributed/__init__.py +6 -1
- angr/distributed/server.py +0 -1
- angr/distributed/worker.py +6 -4
- angr/engines/__init__.py +25 -0
- angr/engines/concrete.py +1 -2
- angr/engines/engine.py +3 -3
- angr/engines/failure.py +2 -2
- angr/engines/light/__init__.py +12 -0
- angr/engines/light/data.py +1 -1
- angr/engines/light/engine.py +6 -6
- angr/engines/pcode/__init__.py +7 -1
- angr/engines/pcode/behavior.py +1 -1
- angr/engines/pcode/cc.py +1 -1
- angr/engines/pcode/emulate.py +4 -4
- angr/engines/pcode/engine.py +3 -3
- angr/engines/pcode/lifter.py +7 -7
- angr/engines/procedure.py +3 -3
- angr/engines/soot/__init__.py +3 -0
- angr/engines/soot/engine.py +8 -8
- angr/engines/soot/expressions/__init__.py +33 -0
- angr/engines/soot/expressions/arrayref.py +1 -1
- angr/engines/soot/expressions/base.py +1 -1
- angr/engines/soot/expressions/cast.py +1 -1
- angr/engines/soot/expressions/condition.py +1 -1
- angr/engines/soot/expressions/constants.py +1 -1
- angr/engines/soot/expressions/invoke.py +2 -2
- angr/engines/soot/expressions/new.py +1 -1
- angr/engines/soot/expressions/newArray.py +1 -1
- angr/engines/soot/expressions/newMultiArray.py +1 -1
- angr/engines/soot/statements/__init__.py +16 -0
- angr/engines/soot/statements/assign.py +1 -1
- angr/engines/soot/statements/base.py +3 -3
- angr/engines/soot/values/__init__.py +14 -0
- angr/engines/soot/values/arrayref.py +1 -1
- angr/engines/soot/values/instancefieldref.py +1 -1
- angr/engines/soot/values/staticfieldref.py +1 -1
- angr/engines/soot/values/thisref.py +2 -2
- angr/engines/successors.py +7 -7
- angr/engines/syscall.py +1 -1
- angr/engines/unicorn.py +11 -11
- angr/engines/vex/__init__.py +18 -3
- angr/engines/vex/claripy/__init__.py +3 -0
- angr/engines/vex/claripy/ccall.py +1 -2
- angr/engines/vex/claripy/datalayer.py +3 -3
- angr/engines/vex/heavy/__init__.py +11 -1
- angr/engines/vex/heavy/heavy.py +6 -6
- angr/engines/vex/heavy/inspect.py +2 -2
- angr/engines/vex/heavy/resilience.py +2 -2
- angr/engines/vex/heavy/super_fastpath.py +3 -3
- angr/engines/vex/lifter.py +5 -5
- angr/engines/vex/light/__init__.py +7 -0
- angr/engines/vex/light/light.py +2 -2
- angr/engines/vex/light/slicing.py +1 -1
- angr/errors.py +0 -4
- angr/exploration_techniques/__init__.py +0 -1
- angr/exploration_techniques/bucketizer.py +9 -10
- angr/exploration_techniques/common.py +2 -2
- angr/exploration_techniques/director.py +4 -4
- angr/exploration_techniques/explorer.py +3 -3
- angr/exploration_techniques/loop_seer.py +3 -3
- angr/exploration_techniques/oppologist.py +3 -3
- angr/exploration_techniques/slicecutor.py +1 -1
- angr/exploration_techniques/spiller.py +1 -1
- angr/exploration_techniques/suggestions.py +4 -4
- angr/exploration_techniques/symbion.py +0 -1
- angr/exploration_techniques/threading.py +2 -2
- angr/exploration_techniques/tracer.py +3 -3
- angr/exploration_techniques/veritesting.py +1 -1
- angr/flirt/__init__.py +0 -1
- angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
- angr/knowledge_plugins/__init__.py +23 -1
- angr/knowledge_plugins/callsite_prototypes.py +2 -2
- angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
- angr/knowledge_plugins/cfg/cfg_model.py +6 -6
- angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
- angr/knowledge_plugins/cfg/memory_data.py +2 -2
- angr/knowledge_plugins/debug_variables.py +2 -2
- angr/knowledge_plugins/functions/__init__.py +6 -0
- angr/knowledge_plugins/functions/function.py +21 -16
- angr/knowledge_plugins/functions/function_manager.py +2 -2
- angr/knowledge_plugins/functions/function_parser.py +3 -3
- angr/knowledge_plugins/functions/soot_function.py +2 -2
- angr/knowledge_plugins/key_definitions/atoms.py +2 -2
- angr/knowledge_plugins/key_definitions/definition.py +3 -3
- angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
- angr/knowledge_plugins/key_definitions/uses.py +2 -2
- angr/knowledge_plugins/propagations/__init__.py +7 -0
- angr/knowledge_plugins/propagations/prop_value.py +1 -1
- angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
- angr/knowledge_plugins/types.py +1 -1
- angr/knowledge_plugins/variables/__init__.py +6 -0
- angr/knowledge_plugins/variables/variable_access.py +3 -3
- angr/knowledge_plugins/variables/variable_manager.py +7 -7
- angr/knowledge_plugins/xrefs/__init__.py +9 -1
- angr/knowledge_plugins/xrefs/xref.py +5 -5
- angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
- angr/lib/angr_native.dylib +0 -0
- angr/misc/__init__.py +12 -2
- angr/misc/loggers.py +2 -2
- angr/procedures/__init__.py +9 -0
- angr/procedures/cgc/receive.py +2 -2
- angr/procedures/cgc/transmit.py +1 -1
- angr/procedures/definitions/__init__.py +8 -8
- angr/procedures/definitions/cgc.py +1 -1
- angr/procedures/definitions/glibc.py +2 -15
- angr/procedures/definitions/gnulib.py +2 -6
- angr/procedures/definitions/libstdcpp.py +2 -2
- angr/procedures/definitions/linux_kernel.py +2 -3
- angr/procedures/definitions/linux_loader.py +1 -1
- angr/procedures/definitions/msvcr.py +2 -2
- angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
- angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
- angr/procedures/definitions/wdk_clfs.py +3 -18
- angr/procedures/definitions/wdk_fltmgr.py +3 -18
- angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
- angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
- angr/procedures/definitions/wdk_gdi32.py +3 -18
- angr/procedures/definitions/wdk_hal.py +3 -18
- angr/procedures/definitions/wdk_ksecdd.py +3 -18
- angr/procedures/definitions/wdk_ndis.py +3 -18
- angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
- angr/procedures/definitions/wdk_offreg.py +3 -18
- angr/procedures/definitions/wdk_pshed.py +3 -18
- angr/procedures/definitions/wdk_secur32.py +3 -18
- angr/procedures/definitions/wdk_vhfum.py +3 -18
- angr/procedures/definitions/win32_aclui.py +3 -18
- angr/procedures/definitions/win32_activeds.py +3 -18
- angr/procedures/definitions/win32_advapi32.py +3 -18
- angr/procedures/definitions/win32_advpack.py +3 -18
- angr/procedures/definitions/win32_amsi.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_apphelp.py +3 -18
- angr/procedures/definitions/win32_authz.py +3 -18
- angr/procedures/definitions/win32_avicap32.py +3 -18
- angr/procedures/definitions/win32_avifil32.py +3 -18
- angr/procedures/definitions/win32_avrt.py +3 -18
- angr/procedures/definitions/win32_bcp47mrm.py +3 -18
- angr/procedures/definitions/win32_bcrypt.py +3 -18
- angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
- angr/procedures/definitions/win32_bluetoothapis.py +3 -18
- angr/procedures/definitions/win32_bthprops.py +3 -3
- angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
- angr/procedures/definitions/win32_cabinet.py +3 -18
- angr/procedures/definitions/win32_certadm.py +3 -18
- angr/procedures/definitions/win32_certpoleng.py +3 -18
- angr/procedures/definitions/win32_cfgmgr32.py +3 -18
- angr/procedures/definitions/win32_chakra.py +3 -18
- angr/procedures/definitions/win32_cldapi.py +3 -18
- angr/procedures/definitions/win32_clfsw32.py +3 -18
- angr/procedures/definitions/win32_clusapi.py +3 -18
- angr/procedures/definitions/win32_comctl32.py +3 -18
- angr/procedures/definitions/win32_comdlg32.py +3 -18
- angr/procedures/definitions/win32_compstui.py +3 -18
- angr/procedures/definitions/win32_computecore.py +3 -18
- angr/procedures/definitions/win32_computenetwork.py +3 -18
- angr/procedures/definitions/win32_computestorage.py +3 -18
- angr/procedures/definitions/win32_comsvcs.py +3 -18
- angr/procedures/definitions/win32_coremessaging.py +3 -3
- angr/procedures/definitions/win32_credui.py +3 -18
- angr/procedures/definitions/win32_crypt32.py +3 -18
- angr/procedures/definitions/win32_cryptnet.py +3 -18
- angr/procedures/definitions/win32_cryptui.py +3 -18
- angr/procedures/definitions/win32_cryptxml.py +3 -18
- angr/procedures/definitions/win32_cscapi.py +3 -18
- angr/procedures/definitions/win32_d2d1.py +3 -18
- angr/procedures/definitions/win32_d3d10.py +3 -18
- angr/procedures/definitions/win32_d3d10_1.py +3 -18
- angr/procedures/definitions/win32_d3d11.py +3 -18
- angr/procedures/definitions/win32_d3d12.py +3 -18
- angr/procedures/definitions/win32_d3d9.py +3 -18
- angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
- angr/procedures/definitions/win32_d3dcsx.py +3 -18
- angr/procedures/definitions/win32_davclnt.py +3 -18
- angr/procedures/definitions/win32_dbgeng.py +3 -18
- angr/procedures/definitions/win32_dbghelp.py +3 -18
- angr/procedures/definitions/win32_dbgmodel.py +3 -18
- angr/procedures/definitions/win32_dciman32.py +3 -18
- angr/procedures/definitions/win32_dcomp.py +3 -18
- angr/procedures/definitions/win32_ddraw.py +3 -18
- angr/procedures/definitions/win32_deviceaccess.py +3 -18
- angr/procedures/definitions/win32_dflayout.py +3 -18
- angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
- angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
- angr/procedures/definitions/win32_dhcpsapi.py +3 -18
- angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
- angr/procedures/definitions/win32_dinput8.py +3 -18
- angr/procedures/definitions/win32_directml.py +3 -18
- angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
- angr/procedures/definitions/win32_dnsapi.py +3 -18
- angr/procedures/definitions/win32_drt.py +3 -18
- angr/procedures/definitions/win32_drtprov.py +3 -18
- angr/procedures/definitions/win32_drttransport.py +3 -18
- angr/procedures/definitions/win32_dsound.py +3 -18
- angr/procedures/definitions/win32_dsparse.py +3 -18
- angr/procedures/definitions/win32_dsprop.py +3 -18
- angr/procedures/definitions/win32_dssec.py +3 -18
- angr/procedures/definitions/win32_dsuiext.py +3 -18
- angr/procedures/definitions/win32_dwmapi.py +3 -18
- angr/procedures/definitions/win32_dwrite.py +3 -18
- angr/procedures/definitions/win32_dxcompiler.py +3 -18
- angr/procedures/definitions/win32_dxcore.py +3 -18
- angr/procedures/definitions/win32_dxgi.py +3 -18
- angr/procedures/definitions/win32_dxva2.py +3 -18
- angr/procedures/definitions/win32_eappcfg.py +3 -18
- angr/procedures/definitions/win32_eappprxy.py +3 -18
- angr/procedures/definitions/win32_efswrt.py +3 -18
- angr/procedures/definitions/win32_elscore.py +3 -18
- angr/procedures/definitions/win32_esent.py +3 -18
- angr/procedures/definitions/win32_evr.py +3 -18
- angr/procedures/definitions/win32_faultrep.py +3 -18
- angr/procedures/definitions/win32_fhsvcctl.py +3 -18
- angr/procedures/definitions/win32_firewallapi.py +3 -18
- angr/procedures/definitions/win32_fltlib.py +3 -18
- angr/procedures/definitions/win32_fontsub.py +3 -18
- angr/procedures/definitions/win32_forceinline.py +3 -18
- angr/procedures/definitions/win32_fwpuclnt.py +3 -18
- angr/procedures/definitions/win32_fxsutility.py +3 -18
- angr/procedures/definitions/win32_gdi32.py +3 -18
- angr/procedures/definitions/win32_gdiplus.py +3 -18
- angr/procedures/definitions/win32_glu32.py +3 -18
- angr/procedures/definitions/win32_gpedit.py +3 -18
- angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
- angr/procedures/definitions/win32_hid.py +3 -18
- angr/procedures/definitions/win32_hlink.py +3 -18
- angr/procedures/definitions/win32_hrtfapo.py +3 -18
- angr/procedures/definitions/win32_httpapi.py +3 -18
- angr/procedures/definitions/win32_icm32.py +3 -18
- angr/procedures/definitions/win32_icmui.py +3 -18
- angr/procedures/definitions/win32_icu.py +3 -18
- angr/procedures/definitions/win32_ieframe.py +3 -18
- angr/procedures/definitions/win32_imagehlp.py +3 -18
- angr/procedures/definitions/win32_imgutil.py +3 -18
- angr/procedures/definitions/win32_imm32.py +3 -18
- angr/procedures/definitions/win32_infocardapi.py +3 -18
- angr/procedures/definitions/win32_inkobjcore.py +3 -18
- angr/procedures/definitions/win32_iphlpapi.py +3 -18
- angr/procedures/definitions/win32_iscsidsc.py +3 -18
- angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
- angr/procedures/definitions/win32_kernel32.py +3 -18
- angr/procedures/definitions/win32_kernelbase.py +3 -18
- angr/procedures/definitions/win32_keycredmgr.py +3 -18
- angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
- angr/procedures/definitions/win32_ksuser.py +3 -18
- angr/procedures/definitions/win32_ktmw32.py +3 -18
- angr/procedures/definitions/win32_licenseprotection.py +3 -18
- angr/procedures/definitions/win32_loadperf.py +3 -18
- angr/procedures/definitions/win32_magnification.py +3 -18
- angr/procedures/definitions/win32_mapi32.py +3 -18
- angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
- angr/procedures/definitions/win32_mdmregistration.py +3 -18
- angr/procedures/definitions/win32_mf.py +3 -18
- angr/procedures/definitions/win32_mfcore.py +3 -18
- angr/procedures/definitions/win32_mfplat.py +3 -18
- angr/procedures/definitions/win32_mfplay.py +3 -18
- angr/procedures/definitions/win32_mfreadwrite.py +3 -18
- angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
- angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
- angr/procedures/definitions/win32_mgmtapi.py +3 -18
- angr/procedures/definitions/win32_mi.py +3 -18
- angr/procedures/definitions/win32_mmdevapi.py +3 -18
- angr/procedures/definitions/win32_mpr.py +3 -18
- angr/procedures/definitions/win32_mprapi.py +3 -18
- angr/procedures/definitions/win32_mqrt.py +3 -18
- angr/procedures/definitions/win32_mrmsupport.py +3 -18
- angr/procedures/definitions/win32_msacm32.py +3 -18
- angr/procedures/definitions/win32_msajapi.py +3 -18
- angr/procedures/definitions/win32_mscms.py +3 -18
- angr/procedures/definitions/win32_mscoree.py +3 -18
- angr/procedures/definitions/win32_msctfmonitor.py +3 -18
- angr/procedures/definitions/win32_msdelta.py +3 -18
- angr/procedures/definitions/win32_msdmo.py +3 -18
- angr/procedures/definitions/win32_msdrm.py +3 -18
- angr/procedures/definitions/win32_msi.py +3 -18
- angr/procedures/definitions/win32_msimg32.py +3 -18
- angr/procedures/definitions/win32_mspatcha.py +3 -18
- angr/procedures/definitions/win32_mspatchc.py +3 -18
- angr/procedures/definitions/win32_msports.py +3 -18
- angr/procedures/definitions/win32_msrating.py +3 -18
- angr/procedures/definitions/win32_mssign32.py +3 -18
- angr/procedures/definitions/win32_mstask.py +3 -18
- angr/procedures/definitions/win32_msvfw32.py +3 -18
- angr/procedures/definitions/win32_mswsock.py +3 -18
- angr/procedures/definitions/win32_mtxdm.py +3 -18
- angr/procedures/definitions/win32_ncrypt.py +3 -18
- angr/procedures/definitions/win32_ndfapi.py +3 -18
- angr/procedures/definitions/win32_netapi32.py +3 -18
- angr/procedures/definitions/win32_netsh.py +3 -18
- angr/procedures/definitions/win32_netshell.py +3 -18
- angr/procedures/definitions/win32_newdev.py +3 -18
- angr/procedures/definitions/win32_ninput.py +3 -18
- angr/procedures/definitions/win32_normaliz.py +3 -18
- angr/procedures/definitions/win32_ntdll.py +3 -18
- angr/procedures/definitions/win32_ntdllk.py +3 -18
- angr/procedures/definitions/win32_ntdsapi.py +3 -18
- angr/procedures/definitions/win32_ntlanman.py +3 -18
- angr/procedures/definitions/win32_odbc32.py +3 -18
- angr/procedures/definitions/win32_odbcbcp.py +3 -18
- angr/procedures/definitions/win32_ole32.py +3 -18
- angr/procedures/definitions/win32_oleacc.py +3 -18
- angr/procedures/definitions/win32_oleaut32.py +3 -18
- angr/procedures/definitions/win32_oledlg.py +3 -18
- angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
- angr/procedures/definitions/win32_opengl32.py +3 -18
- angr/procedures/definitions/win32_opmxbox.py +3 -18
- angr/procedures/definitions/win32_p2p.py +3 -18
- angr/procedures/definitions/win32_p2pgraph.py +3 -18
- angr/procedures/definitions/win32_pdh.py +3 -18
- angr/procedures/definitions/win32_peerdist.py +3 -18
- angr/procedures/definitions/win32_powrprof.py +3 -18
- angr/procedures/definitions/win32_prntvpt.py +3 -18
- angr/procedures/definitions/win32_projectedfslib.py +3 -18
- angr/procedures/definitions/win32_propsys.py +3 -18
- angr/procedures/definitions/win32_psapi.py +3 -18
- angr/procedures/definitions/win32_quartz.py +3 -18
- angr/procedures/definitions/win32_query.py +3 -18
- angr/procedures/definitions/win32_qwave.py +3 -18
- angr/procedures/definitions/win32_rasapi32.py +3 -18
- angr/procedures/definitions/win32_rasdlg.py +3 -18
- angr/procedures/definitions/win32_resutils.py +3 -18
- angr/procedures/definitions/win32_rometadata.py +3 -3
- angr/procedures/definitions/win32_rpcns4.py +3 -18
- angr/procedures/definitions/win32_rpcproxy.py +3 -18
- angr/procedures/definitions/win32_rpcrt4.py +3 -18
- angr/procedures/definitions/win32_rstrtmgr.py +3 -18
- angr/procedures/definitions/win32_rtm.py +3 -18
- angr/procedures/definitions/win32_rtutils.py +3 -18
- angr/procedures/definitions/win32_rtworkq.py +3 -18
- angr/procedures/definitions/win32_sas.py +3 -18
- angr/procedures/definitions/win32_scarddlg.py +3 -18
- angr/procedures/definitions/win32_schannel.py +3 -18
- angr/procedures/definitions/win32_sechost.py +3 -18
- angr/procedures/definitions/win32_secur32.py +3 -18
- angr/procedures/definitions/win32_sensapi.py +3 -18
- angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
- angr/procedures/definitions/win32_setupapi.py +3 -18
- angr/procedures/definitions/win32_sfc.py +3 -18
- angr/procedures/definitions/win32_shdocvw.py +3 -18
- angr/procedures/definitions/win32_shell32.py +3 -18
- angr/procedures/definitions/win32_shlwapi.py +3 -18
- angr/procedures/definitions/win32_slc.py +3 -18
- angr/procedures/definitions/win32_slcext.py +3 -18
- angr/procedures/definitions/win32_slwga.py +3 -18
- angr/procedures/definitions/win32_snmpapi.py +3 -18
- angr/procedures/definitions/win32_spoolss.py +3 -18
- angr/procedures/definitions/win32_srclient.py +3 -18
- angr/procedures/definitions/win32_srpapi.py +3 -18
- angr/procedures/definitions/win32_sspicli.py +3 -18
- angr/procedures/definitions/win32_sti.py +3 -18
- angr/procedures/definitions/win32_t2embed.py +3 -18
- angr/procedures/definitions/win32_tapi32.py +3 -18
- angr/procedures/definitions/win32_tbs.py +3 -18
- angr/procedures/definitions/win32_tdh.py +3 -18
- angr/procedures/definitions/win32_tokenbinding.py +3 -18
- angr/procedures/definitions/win32_traffic.py +3 -18
- angr/procedures/definitions/win32_txfw32.py +3 -18
- angr/procedures/definitions/win32_ualapi.py +3 -18
- angr/procedures/definitions/win32_uiautomationcore.py +3 -18
- angr/procedures/definitions/win32_urlmon.py +3 -18
- angr/procedures/definitions/win32_user32.py +4 -19
- angr/procedures/definitions/win32_userenv.py +3 -18
- angr/procedures/definitions/win32_usp10.py +3 -18
- angr/procedures/definitions/win32_uxtheme.py +3 -18
- angr/procedures/definitions/win32_verifier.py +3 -18
- angr/procedures/definitions/win32_version.py +3 -18
- angr/procedures/definitions/win32_vertdll.py +3 -18
- angr/procedures/definitions/win32_virtdisk.py +3 -18
- angr/procedures/definitions/win32_vmdevicehost.py +3 -18
- angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
- angr/procedures/definitions/win32_vssapi.py +3 -18
- angr/procedures/definitions/win32_wcmapi.py +3 -18
- angr/procedures/definitions/win32_wdsbp.py +3 -18
- angr/procedures/definitions/win32_wdsclientapi.py +3 -18
- angr/procedures/definitions/win32_wdsmc.py +3 -18
- angr/procedures/definitions/win32_wdspxe.py +3 -18
- angr/procedures/definitions/win32_wdstptc.py +3 -18
- angr/procedures/definitions/win32_webauthn.py +3 -18
- angr/procedures/definitions/win32_webservices.py +3 -18
- angr/procedures/definitions/win32_websocket.py +3 -18
- angr/procedures/definitions/win32_wecapi.py +3 -18
- angr/procedures/definitions/win32_wer.py +3 -18
- angr/procedures/definitions/win32_wevtapi.py +3 -18
- angr/procedures/definitions/win32_winbio.py +3 -18
- angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
- angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
- angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
- angr/procedures/definitions/win32_windows_networking.py +3 -18
- angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
- angr/procedures/definitions/win32_windowscodecs.py +3 -18
- angr/procedures/definitions/win32_winfax.py +3 -18
- angr/procedures/definitions/win32_winhttp.py +3 -18
- angr/procedures/definitions/win32_winhvemulation.py +3 -18
- angr/procedures/definitions/win32_winhvplatform.py +3 -18
- angr/procedures/definitions/win32_wininet.py +3 -18
- angr/procedures/definitions/win32_winml.py +3 -18
- angr/procedures/definitions/win32_winmm.py +3 -18
- angr/procedures/definitions/win32_winscard.py +3 -18
- angr/procedures/definitions/win32_winspool.py +3 -3
- angr/procedures/definitions/win32_winspool_drv.py +3 -18
- angr/procedures/definitions/win32_wintrust.py +3 -18
- angr/procedures/definitions/win32_winusb.py +3 -18
- angr/procedures/definitions/win32_wlanapi.py +3 -18
- angr/procedures/definitions/win32_wlanui.py +3 -18
- angr/procedures/definitions/win32_wldap32.py +3 -18
- angr/procedures/definitions/win32_wldp.py +3 -18
- angr/procedures/definitions/win32_wmvcore.py +3 -18
- angr/procedures/definitions/win32_wnvapi.py +3 -18
- angr/procedures/definitions/win32_wofutil.py +3 -18
- angr/procedures/definitions/win32_ws2_32.py +3 -18
- angr/procedures/definitions/win32_wscapi.py +3 -18
- angr/procedures/definitions/win32_wsclient.py +3 -18
- angr/procedures/definitions/win32_wsdapi.py +3 -18
- angr/procedures/definitions/win32_wsmsvc.py +3 -18
- angr/procedures/definitions/win32_wsnmp32.py +3 -18
- angr/procedures/definitions/win32_wtsapi32.py +3 -18
- angr/procedures/definitions/win32_xaudio2_8.py +3 -18
- angr/procedures/definitions/win32_xinput1_4.py +3 -18
- angr/procedures/definitions/win32_xinputuap.py +3 -3
- angr/procedures/definitions/win32_xmllite.py +3 -18
- angr/procedures/definitions/win32_xolehlp.py +3 -18
- angr/procedures/definitions/win32_xpsprint.py +3 -18
- angr/procedures/glibc/scanf.py +2 -2
- angr/procedures/glibc/sscanf.py +1 -1
- angr/procedures/java/__init__.py +6 -3
- angr/procedures/java/unconstrained.py +3 -3
- angr/procedures/java_io/read.py +1 -1
- angr/procedures/java_io/write.py +1 -1
- angr/procedures/java_jni/__init__.py +4 -4
- angr/procedures/java_jni/array_operations.py +2 -2
- angr/procedures/java_jni/field_access.py +3 -3
- angr/procedures/java_jni/method_calls.py +2 -2
- angr/procedures/java_jni/object_operations.py +1 -1
- angr/procedures/java_jni/string_operations.py +1 -1
- angr/procedures/java_lang/character.py +1 -1
- angr/procedures/java_lang/double.py +1 -1
- angr/procedures/java_lang/exit.py +1 -1
- angr/procedures/java_lang/getsimplename.py +1 -1
- angr/procedures/java_lang/integer.py +2 -2
- angr/procedures/java_lang/load_library.py +1 -1
- angr/procedures/java_lang/math.py +1 -1
- angr/procedures/java_lang/string.py +3 -3
- angr/procedures/java_lang/stringbuilder.py +2 -2
- angr/procedures/java_lang/system.py +1 -1
- angr/procedures/java_util/collection.py +2 -2
- angr/procedures/java_util/iterator.py +2 -2
- angr/procedures/java_util/list.py +3 -3
- angr/procedures/java_util/map.py +3 -3
- angr/procedures/java_util/random.py +1 -1
- angr/procedures/java_util/scanner_nextline.py +2 -2
- angr/procedures/libc/fseek.py +1 -1
- angr/procedures/libc/memcpy.py +1 -1
- angr/procedures/libc/strlen.py +12 -4
- angr/procedures/libc/strncmp.py +9 -4
- angr/procedures/linux_kernel/iovec.py +3 -3
- angr/procedures/linux_kernel/mmap.py +1 -1
- angr/procedures/linux_kernel/stat.py +1 -1
- angr/procedures/linux_kernel/sysinfo.py +1 -1
- angr/procedures/posix/bzero.py +1 -1
- angr/procedures/posix/mmap.py +1 -1
- angr/procedures/posix/send.py +1 -1
- angr/procedures/posix/syslog.py +2 -3
- angr/procedures/procedure_dict.py +2 -2
- angr/procedures/stubs/format_parser.py +5 -5
- angr/procedures/tracer/random.py +1 -1
- angr/procedures/tracer/receive.py +1 -1
- angr/procedures/tracer/transmit.py +1 -1
- angr/procedures/uclibc/__uClibc_main.py +1 -1
- angr/protos/__init__.py +8 -0
- angr/sim_options.py +0 -4
- angr/sim_type.py +9 -18
- angr/simos/__init__.py +12 -0
- angr/simos/cgc.py +5 -5
- angr/simos/javavm.py +12 -12
- angr/simos/linux.py +5 -5
- angr/simos/simos.py +11 -15
- angr/simos/userland.py +3 -3
- angr/simos/windows.py +5 -10
- angr/state_plugins/__init__.py +84 -28
- angr/state_plugins/callstack.py +1 -1
- angr/state_plugins/concrete.py +3 -4
- angr/state_plugins/filesystem.py +3 -3
- angr/state_plugins/gdb.py +1 -1
- angr/state_plugins/heap/__init__.py +14 -5
- angr/state_plugins/heap/heap_base.py +5 -4
- angr/state_plugins/heap/heap_brk.py +1 -1
- angr/state_plugins/heap/heap_freelist.py +1 -1
- angr/state_plugins/heap/heap_ptmalloc.py +2 -20
- angr/state_plugins/heap/utils.py +1 -1
- angr/state_plugins/history.py +2 -2
- angr/state_plugins/javavm_classloader.py +3 -3
- angr/state_plugins/jni_references.py +1 -1
- angr/state_plugins/light_registers.py +3 -3
- angr/state_plugins/log.py +1 -1
- angr/state_plugins/plugin.py +3 -2
- angr/state_plugins/posix.py +3 -3
- angr/state_plugins/preconstrainer.py +4 -4
- angr/state_plugins/scratch.py +3 -3
- angr/state_plugins/sim_action_object.py +1 -1
- angr/state_plugins/solver.py +14 -18
- angr/state_plugins/symbolizer.py +2 -3
- angr/state_plugins/uc_manager.py +1 -1
- angr/state_plugins/unicorn_engine.py +4 -4
- angr/state_plugins/view.py +1 -1
- angr/storage/__init__.py +9 -3
- angr/storage/file.py +4 -4
- angr/storage/memory_mixins/__init__.py +88 -6
- angr/storage/memory_mixins/actions_mixin.py +2 -2
- angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
- angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
- angr/storage/memory_mixins/clouseau_mixin.py +1 -1
- angr/storage/memory_mixins/convenient_mappings_mixin.py +2 -2
- angr/storage/memory_mixins/default_filler_mixin.py +3 -3
- angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
- angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
- angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
- angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
- angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
- angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
- angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
- angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
- angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +1 -1
- angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
- angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
- angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
- angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
- angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
- angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
- angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
- angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
- angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
- angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
- angr/storage/memory_mixins/simplification_mixin.py +1 -1
- angr/storage/memory_mixins/size_resolution_mixin.py +1 -1
- angr/storage/memory_mixins/slotted_memory.py +1 -1
- angr/storage/memory_mixins/smart_find_mixin.py +1 -1
- angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
- angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
- angr/storage/memory_object.py +1 -1
- angr/utils/__init__.py +12 -0
- angr/utils/enums_conv.py +1 -1
- angr/utils/library.py +2 -2
- angr/utils/mp.py +1 -1
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/METADATA +6 -7
- angr-9.2.120.dist-info/RECORD +1340 -0
- angr/analyses/s_liveness/__init__.py +0 -2
- angr/analyses/s_propagator/__init__.py +0 -2
- angr/analyses/s_reaching_definitions/s_rda.py +0 -479
- angr/knowledge_base/__init__.py +0 -2
- angr/knowledge_plugins/structured_code/__init__.py +0 -2
- angr/knowledge_plugins/sync/__init__.py +0 -2
- angr/knowledge_plugins/sync/sync_controller.py +0 -324
- angr/misc/range.py +0 -24
- angr/misc/weakpatch.py +0 -59
- angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
- angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
- angr/storage/pcap.py +0 -65
- angr/utils/typing.py +0 -18
- angr-9.2.119.dist-info/RECORD +0 -1345
- /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
angr/state_plugins/plugin.py
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from typing import cast
|
|
3
4
|
|
|
4
|
-
import angr # For type annotations; pylint: disable=unused-import
|
|
5
5
|
import logging
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
import angr
|
|
8
|
+
from angr.misc.ux import once
|
|
8
9
|
|
|
9
10
|
l = logging.getLogger(name=__name__)
|
|
10
11
|
|
angr/state_plugins/posix.py
CHANGED
|
@@ -5,8 +5,8 @@ import claripy
|
|
|
5
5
|
|
|
6
6
|
from .plugin import SimStatePlugin
|
|
7
7
|
from .filesystem import SimMount, Stat
|
|
8
|
-
from
|
|
9
|
-
from
|
|
8
|
+
from angr.storage.file import SimFile, SimPacketsStream, Flags, SimFileDescriptor, SimFileDescriptorDuplex
|
|
9
|
+
from angr import sim_options as options
|
|
10
10
|
|
|
11
11
|
l = logging.getLogger(name=__name__)
|
|
12
12
|
|
|
@@ -700,4 +700,4 @@ from angr.sim_state import SimState
|
|
|
700
700
|
|
|
701
701
|
SimState.register_default("posix", SimSystemPosix)
|
|
702
702
|
|
|
703
|
-
from
|
|
703
|
+
from angr.errors import SimPosixError, SimSolverError, SimMergeError, SimMemoryError
|
|
@@ -4,8 +4,8 @@ import logging
|
|
|
4
4
|
import claripy
|
|
5
5
|
|
|
6
6
|
from .plugin import SimStatePlugin
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from angr import sim_options as o
|
|
8
|
+
from angr.errors import AngrError
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
l = logging.getLogger(name=__name__)
|
|
@@ -55,8 +55,8 @@ class SimStatePreconstrainer(SimStatePlugin):
|
|
|
55
55
|
"""
|
|
56
56
|
if not isinstance(value, claripy.ast.Base):
|
|
57
57
|
value = claripy.BVV(value, len(variable))
|
|
58
|
-
elif value.op
|
|
59
|
-
raise ValueError("Passed a value to preconstrain that was not a BVV or a string")
|
|
58
|
+
elif value.op not in ["BVV", "FPV"]:
|
|
59
|
+
raise ValueError("Passed a value to preconstrain that was not a BVV or FPV or a string")
|
|
60
60
|
|
|
61
61
|
if not variable.is_leaf():
|
|
62
62
|
l.warning(
|
angr/state_plugins/scratch.py
CHANGED
|
@@ -167,10 +167,10 @@ class SimStateScratch(SimStatePlugin):
|
|
|
167
167
|
|
|
168
168
|
# pylint:disable=wrong-import-position
|
|
169
169
|
from .sim_action import SimActionObject, SimActionData
|
|
170
|
-
from
|
|
171
|
-
from
|
|
170
|
+
from angr.errors import SimValueError, SimMissingTempError
|
|
171
|
+
from angr import sim_options as o
|
|
172
172
|
from .inspect import BP_AFTER, BP_BEFORE
|
|
173
173
|
|
|
174
|
-
from
|
|
174
|
+
from angr.sim_state import SimState
|
|
175
175
|
|
|
176
176
|
SimState.register_default("scratch", SimStateScratch)
|
|
@@ -9,7 +9,7 @@ import claripy
|
|
|
9
9
|
from angr import sim_options as o
|
|
10
10
|
from angr.errors import SimActionError
|
|
11
11
|
from .sim_action import SimActionData, SimActionOperation
|
|
12
|
-
from
|
|
12
|
+
from angr.sim_state import SimState
|
|
13
13
|
|
|
14
14
|
if typing.TYPE_CHECKING:
|
|
15
15
|
from claripy.annotation import Annotation
|
angr/state_plugins/solver.py
CHANGED
|
@@ -346,23 +346,19 @@ class SimSolver(SimStatePlugin):
|
|
|
346
346
|
"""
|
|
347
347
|
if o.SYMBOLIC_INITIAL_VALUES in self.state.options:
|
|
348
348
|
# Return a symbolic value
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
**kwargs,
|
|
363
|
-
)
|
|
364
|
-
if uc_alloc_depth is not None:
|
|
365
|
-
self.state.uc_manager.set_alloc_depth(r, uc_alloc_depth)
|
|
349
|
+
l.debug("Creating new unconstrained BV named %s", name)
|
|
350
|
+
r = self.BVS(
|
|
351
|
+
name,
|
|
352
|
+
bits,
|
|
353
|
+
uninitialized=uninitialized,
|
|
354
|
+
key=key,
|
|
355
|
+
eternal=eternal,
|
|
356
|
+
inspect=inspect,
|
|
357
|
+
events=events,
|
|
358
|
+
**kwargs,
|
|
359
|
+
)
|
|
360
|
+
if uc_alloc_depth is not None:
|
|
361
|
+
self.state.uc_manager.set_alloc_depth(r, uc_alloc_depth)
|
|
366
362
|
|
|
367
363
|
return r
|
|
368
364
|
# Return a default value, aka. 0
|
|
@@ -416,7 +412,7 @@ class SimSolver(SimStatePlugin):
|
|
|
416
412
|
or min != r.args[1]
|
|
417
413
|
or max != r.args[2]
|
|
418
414
|
or stride != r.args[3]
|
|
419
|
-
or uninitialized != r.
|
|
415
|
+
or uninitialized != r.uninitialized
|
|
420
416
|
or bool(explicit_name) ^ (r.args[0] == name)
|
|
421
417
|
):
|
|
422
418
|
l.warning("Variable %s being retrieved with different settings than it was tracked with", name)
|
angr/state_plugins/symbolizer.py
CHANGED
|
@@ -4,11 +4,10 @@ import claripy
|
|
|
4
4
|
import struct
|
|
5
5
|
|
|
6
6
|
from .plugin import SimStatePlugin
|
|
7
|
-
from
|
|
7
|
+
from angr.storage.memory_mixins import PagedMemoryMixin
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
l = logging.getLogger(name=__name__)
|
|
11
|
-
l.setLevel("DEBUG")
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
def _mem_write_cb(s):
|
|
@@ -286,6 +285,6 @@ class SimSymbolizer(SimStatePlugin): # pylint:disable=abstract-method
|
|
|
286
285
|
return sc
|
|
287
286
|
|
|
288
287
|
|
|
289
|
-
from
|
|
288
|
+
from angr.sim_state import SimState
|
|
290
289
|
|
|
291
290
|
SimState.register_default("symbolizer", SimSymbolizer)
|
angr/state_plugins/uc_manager.py
CHANGED
|
@@ -17,10 +17,10 @@ import pyvex
|
|
|
17
17
|
from angr.engines.vex.claripy import ccall
|
|
18
18
|
from angr.sim_state import SimState
|
|
19
19
|
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
20
|
+
from angr import sim_options as options
|
|
21
|
+
from angr.engines.vex.claripy.irop import operations as irop_ops
|
|
22
|
+
from angr.errors import SimMemoryError, SimSegfaultError, SimUnicornError, SimUnicornUnsupport, SimValueError
|
|
23
|
+
from angr.misc.testing import is_testing
|
|
24
24
|
from .plugin import SimStatePlugin
|
|
25
25
|
|
|
26
26
|
l = logging.getLogger(name=__name__)
|
angr/state_plugins/view.py
CHANGED
|
@@ -331,7 +331,7 @@ class StructMode:
|
|
|
331
331
|
self.__getattr__(k).store(v)
|
|
332
332
|
|
|
333
333
|
|
|
334
|
-
from
|
|
334
|
+
from angr.sim_type import ALL_TYPES, SimTypeFixedSizeArray, SimTypePointer
|
|
335
335
|
|
|
336
336
|
SimMemView.types = ALL_TYPES # identity purposefully here
|
|
337
337
|
|
angr/storage/__init__.py
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
# misc
|
|
2
1
|
from __future__ import annotations
|
|
3
2
|
|
|
4
3
|
DUMMY_SYMBOLIC_READ_VALUE = 0xC0DEB4BE
|
|
5
4
|
|
|
6
|
-
# imports
|
|
7
|
-
|
|
8
5
|
from .file import SimFile
|
|
9
6
|
from .memory_object import SimMemoryObject
|
|
10
7
|
from .memory_mixins import MemoryMixin, DefaultMemory
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
__all__ = (
|
|
11
|
+
"DUMMY_SYMBOLIC_READ_VALUE",
|
|
12
|
+
"SimFile",
|
|
13
|
+
"SimMemoryObject",
|
|
14
|
+
"MemoryMixin",
|
|
15
|
+
"DefaultMemory",
|
|
16
|
+
)
|
angr/storage/file.py
CHANGED
|
@@ -5,9 +5,9 @@ import itertools
|
|
|
5
5
|
import claripy
|
|
6
6
|
|
|
7
7
|
from .memory_mixins import DefaultMemory
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
8
|
+
from angr.state_plugins.plugin import SimStatePlugin
|
|
9
|
+
from angr.state_plugins.sim_action_object import SimActionObject
|
|
10
|
+
from angr import sim_options
|
|
11
11
|
|
|
12
12
|
l = logging.getLogger(name=__name__)
|
|
13
13
|
|
|
@@ -1209,4 +1209,4 @@ class SimPacketsSlots(SimFileBase):
|
|
|
1209
1209
|
raise SimMergeError("Widening the filesystem is unsupported")
|
|
1210
1210
|
|
|
1211
1211
|
|
|
1212
|
-
from
|
|
1212
|
+
from angr.errors import SimMergeError, SimFileError, SimSolverError
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# pylint:disable=abstract-method,wrong-import-position,unused-argument,missing-class-docstring,arguments-differ
|
|
2
2
|
from __future__ import annotations
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Any
|
|
4
4
|
from collections.abc import Iterable
|
|
5
5
|
|
|
6
6
|
import claripy
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
8
|
+
from angr.state_plugins.plugin import SimStatePlugin
|
|
9
|
+
from angr.errors import SimMemoryError
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class MemoryMixin(SimStatePlugin):
|
|
@@ -188,7 +188,19 @@ from .paged_memory.paged_memory_mixin import (
|
|
|
188
188
|
from .paged_memory.privileged_mixin import PrivilegedPagingMixin
|
|
189
189
|
from .paged_memory.stack_allocation_mixin import StackAllocationMixin
|
|
190
190
|
from .paged_memory.paged_memory_multivalue_mixin import PagedMemoryMultiValueMixin
|
|
191
|
-
from .paged_memory.pages import
|
|
191
|
+
from .paged_memory.pages import (
|
|
192
|
+
CooperationBase,
|
|
193
|
+
MemoryObjectMixin,
|
|
194
|
+
ISPOMixin,
|
|
195
|
+
RefcountMixin,
|
|
196
|
+
PermissionsMixin,
|
|
197
|
+
HistoryTrackingMixin,
|
|
198
|
+
PageBase,
|
|
199
|
+
PageType,
|
|
200
|
+
ListPage,
|
|
201
|
+
MVListPage,
|
|
202
|
+
UltraPage,
|
|
203
|
+
)
|
|
192
204
|
|
|
193
205
|
from .slotted_memory import SlottedMemoryMixin
|
|
194
206
|
from .regioned_memory import (
|
|
@@ -199,8 +211,8 @@ from .regioned_memory import (
|
|
|
199
211
|
MemoryRegionMetaMixin,
|
|
200
212
|
RegionedAddressConcretizationMixin,
|
|
201
213
|
)
|
|
202
|
-
from .
|
|
203
|
-
from .
|
|
214
|
+
from .keyvalue_memory_mixin import KeyValueMemoryMixin
|
|
215
|
+
from .javavm_memory_mixin import JavaVmMemoryMixin
|
|
204
216
|
|
|
205
217
|
|
|
206
218
|
class DefaultMemory(
|
|
@@ -388,3 +400,73 @@ SimState.register_default("fast_memory", FastMemory)
|
|
|
388
400
|
SimState.register_default("abs_memory", AbstractMemory)
|
|
389
401
|
SimState.register_default("keyvalue_memory", KeyValueMemory)
|
|
390
402
|
SimState.register_default("javavm_memory", JavaVmMemory)
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
__all__ = (
|
|
406
|
+
"MemoryMixin",
|
|
407
|
+
"ActionsMixinHigh",
|
|
408
|
+
"ActionsMixinLow",
|
|
409
|
+
"AddressConcretizationMixin",
|
|
410
|
+
"DataNormalizationMixin",
|
|
411
|
+
"InspectMixinHigh",
|
|
412
|
+
"ConditionalMixin",
|
|
413
|
+
"ConvenientMappingsMixin",
|
|
414
|
+
"DefaultFillerMixin",
|
|
415
|
+
"SpecialFillerMixin",
|
|
416
|
+
"ExplicitFillerMixin",
|
|
417
|
+
"DirtyAddrsMixin",
|
|
418
|
+
"HexDumperMixin",
|
|
419
|
+
"LabelMergerMixin",
|
|
420
|
+
"MultiValueMergerMixin",
|
|
421
|
+
"NameResolutionMixin",
|
|
422
|
+
"SimplificationMixin",
|
|
423
|
+
"SimpleInterfaceMixin",
|
|
424
|
+
"SizeNormalizationMixin",
|
|
425
|
+
"SizeConcretizationMixin",
|
|
426
|
+
"SmartFindMixin",
|
|
427
|
+
"SymbolicMergerMixin",
|
|
428
|
+
"TopMergerMixin",
|
|
429
|
+
"UnderconstrainedMixin",
|
|
430
|
+
"UnwrapperMixin",
|
|
431
|
+
"ClemoryBackerMixin",
|
|
432
|
+
"ConcreteBackerMixin",
|
|
433
|
+
"DictBackerMixin",
|
|
434
|
+
"PagedMemoryMixin",
|
|
435
|
+
"ListPagesMixin",
|
|
436
|
+
"UltraPagesMixin",
|
|
437
|
+
"ListPagesWithLabelsMixin",
|
|
438
|
+
"MVListPagesMixin",
|
|
439
|
+
"MVListPagesWithLabelsMixin",
|
|
440
|
+
"PrivilegedPagingMixin",
|
|
441
|
+
"StackAllocationMixin",
|
|
442
|
+
"PagedMemoryMultiValueMixin",
|
|
443
|
+
"CooperationBase",
|
|
444
|
+
"MemoryObjectMixin",
|
|
445
|
+
"ISPOMixin",
|
|
446
|
+
"RefcountMixin",
|
|
447
|
+
"PermissionsMixin",
|
|
448
|
+
"HistoryTrackingMixin",
|
|
449
|
+
"PageBase",
|
|
450
|
+
"PageType",
|
|
451
|
+
"ListPage",
|
|
452
|
+
"MVListPage",
|
|
453
|
+
"UltraPage",
|
|
454
|
+
"SlottedMemoryMixin",
|
|
455
|
+
"RegionedMemoryMixin",
|
|
456
|
+
"RegionCategoryMixin",
|
|
457
|
+
"StaticFindMixin",
|
|
458
|
+
"AbstractMergerMixin",
|
|
459
|
+
"MemoryRegionMetaMixin",
|
|
460
|
+
"RegionedAddressConcretizationMixin",
|
|
461
|
+
"KeyValueMemoryMixin",
|
|
462
|
+
"JavaVmMemoryMixin",
|
|
463
|
+
"DefaultMemory",
|
|
464
|
+
"DefaultListPagesMemory",
|
|
465
|
+
"FastMemory",
|
|
466
|
+
"AbstractMemory",
|
|
467
|
+
"RegionedMemory",
|
|
468
|
+
"LabeledMemory",
|
|
469
|
+
"MultiValuedMemory",
|
|
470
|
+
"KeyValueMemory",
|
|
471
|
+
"JavaVmMemory",
|
|
472
|
+
)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
import claripy
|
|
3
3
|
|
|
4
|
-
from
|
|
5
|
-
from
|
|
4
|
+
from angr.state_plugins.sim_action import SimActionData, SimActionObject
|
|
5
|
+
from angr import sim_options as o
|
|
6
6
|
from . import MemoryMixin
|
|
7
7
|
|
|
8
8
|
|
|
@@ -2,12 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
import claripy
|
|
3
3
|
|
|
4
4
|
from . import MemoryMixin
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
5
|
+
from angr import sim_options as options
|
|
6
|
+
from angr import concretization_strategies
|
|
7
|
+
from angr.sim_state_options import SimStateOptions
|
|
8
|
+
from angr.state_plugins.inspect import BP_BEFORE, BP_AFTER
|
|
9
|
+
from angr.errors import SimMergeError, SimUnsatError, SimMemoryAddressError, SimMemoryError
|
|
10
|
+
from angr.storage import DUMMY_SYMBOLIC_READ_VALUE
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class MultiwriteAnnotation(claripy.Annotation):
|
|
@@ -5,8 +5,8 @@ import logging
|
|
|
5
5
|
import claripy
|
|
6
6
|
|
|
7
7
|
from angr import sim_options as options
|
|
8
|
-
from
|
|
9
|
-
from
|
|
8
|
+
from angr.utils.cowdict import ChainMapCOW
|
|
9
|
+
from angr.errors import SimMemoryError, SimMemoryMissingError
|
|
10
10
|
from . import MemoryMixin
|
|
11
11
|
|
|
12
12
|
l = logging.getLogger(name=__name__)
|
|
@@ -4,9 +4,9 @@ import logging
|
|
|
4
4
|
import claripy
|
|
5
5
|
|
|
6
6
|
from . import MemoryMixin
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
7
|
+
from angr import sim_options as options
|
|
8
|
+
from angr.misc.ux import once
|
|
9
|
+
from angr.errors import SimMemoryMissingError
|
|
10
10
|
|
|
11
11
|
l = logging.getLogger(__name__)
|
|
12
12
|
|
|
@@ -5,9 +5,9 @@ import os
|
|
|
5
5
|
|
|
6
6
|
import claripy
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
8
|
+
from angr import concretization_strategies
|
|
9
|
+
from angr.errors import SimUnsatError, SimMemoryAddressError
|
|
10
|
+
from angr.engines.soot.values import (
|
|
11
11
|
SimSootValue_ArrayRef,
|
|
12
12
|
SimSootValue_ArrayBaseRef,
|
|
13
13
|
SimSootValue_InstanceFieldRef,
|
|
@@ -16,13 +16,18 @@ from ....engines.soot.values import (
|
|
|
16
16
|
SimSootValue_StaticFieldRef,
|
|
17
17
|
SimSootValue_StringRef,
|
|
18
18
|
)
|
|
19
|
-
from
|
|
19
|
+
from . import MemoryMixin
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
l = logging.getLogger(name=__name__)
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
# pylint: disable=too-many-positional-arguments
|
|
26
|
+
|
|
27
|
+
|
|
25
28
|
class JavaVmMemoryMixin(MemoryMixin):
|
|
29
|
+
"""A memory mixin for JavaVM memory."""
|
|
30
|
+
|
|
26
31
|
def __init__(
|
|
27
32
|
self,
|
|
28
33
|
memory_id="mem",
|
|
@@ -38,7 +43,7 @@ class JavaVmMemoryMixin(MemoryMixin):
|
|
|
38
43
|
|
|
39
44
|
self._stack = [] if stack is None else stack
|
|
40
45
|
# delayed import
|
|
41
|
-
from
|
|
46
|
+
from . import KeyValueMemory # pylint: disable=import-outside-toplevel
|
|
42
47
|
|
|
43
48
|
self.heap = KeyValueMemory("mem") if heap is None else heap
|
|
44
49
|
self.vm_static_table = KeyValueMemory("mem") if vm_static_table is None else vm_static_table
|
|
@@ -81,7 +86,7 @@ class JavaVmMemoryMixin(MemoryMixin):
|
|
|
81
86
|
else:
|
|
82
87
|
l.error("Unknown addr type %s", addr)
|
|
83
88
|
|
|
84
|
-
def load(self, addr, frame=0, none_if_missing=False): # pylint: disable=arguments-differ
|
|
89
|
+
def load(self, addr, frame=0, none_if_missing=False): # pylint: disable=arguments-differ,arguments-renamed
|
|
85
90
|
if type(addr) is SimSootValue_Local:
|
|
86
91
|
cstack = self._stack[-1 + (-1 * frame)]
|
|
87
92
|
return cstack.load(addr.id, none_if_missing=none_if_missing)
|
|
@@ -118,7 +123,7 @@ class JavaVmMemoryMixin(MemoryMixin):
|
|
|
118
123
|
return None
|
|
119
124
|
|
|
120
125
|
def push_stack_frame(self):
|
|
121
|
-
from
|
|
126
|
+
from . import KeyValueMemory # pylint: disable=import-outside-toplevel
|
|
122
127
|
|
|
123
128
|
self._stack.append(KeyValueMemory("mem"))
|
|
124
129
|
|
|
@@ -379,11 +384,9 @@ class JavaVmMemoryMixin(MemoryMixin):
|
|
|
379
384
|
def merge(self, others, merge_conditions, common_ancestor=None): # pylint: disable=unused-argument
|
|
380
385
|
l.warning("Merging is not implemented for JavaVM memory!")
|
|
381
386
|
|
|
382
|
-
def widen(self, others): # pylint: disable=unused-argument
|
|
387
|
+
def widen(self, others): # pylint: disable=no-self-use,unused-argument
|
|
383
388
|
l.warning("Widening is not implemented for JavaVM memory!")
|
|
384
389
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
): # pylint: disable=unused-argument
|
|
390
|
+
# pylint: disable=no-self-use,unused-argument
|
|
391
|
+
def _find(self, addr, what, max_search=None, max_symbolic_bytes=None, default=None):
|
|
388
392
|
l.warning("Find is not implemented for JavaVM memory!")
|
|
389
|
-
return
|
angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py}
RENAMED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
from . import MemoryMixin
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class TypedVariable:
|
|
7
|
+
"""TypedVariable is a simple class that holds a value and a type."""
|
|
8
|
+
|
|
6
9
|
__slots__ = (
|
|
7
10
|
"type",
|
|
8
11
|
"value",
|
|
@@ -14,18 +17,20 @@ class TypedVariable:
|
|
|
14
17
|
|
|
15
18
|
|
|
16
19
|
class KeyValueMemoryMixin(MemoryMixin):
|
|
20
|
+
"""KeyValueMemoryMixin is a mixin that provides a simple key-value store for memory."""
|
|
21
|
+
|
|
17
22
|
def __init__(self, *args, **kwargs):
|
|
18
23
|
super().__init__(*args, **kwargs)
|
|
19
24
|
|
|
20
25
|
self._store = {}
|
|
21
26
|
|
|
22
|
-
def load(self,
|
|
23
|
-
if none_if_missing and
|
|
27
|
+
def load(self, addr, size=None, none_if_missing=False, **kwargs): # pylint: disable=unused-argument
|
|
28
|
+
if none_if_missing and addr not in self._store:
|
|
24
29
|
return None
|
|
25
|
-
return self._store[
|
|
30
|
+
return self._store[addr].value
|
|
26
31
|
|
|
27
|
-
def store(self,
|
|
28
|
-
self._store[
|
|
32
|
+
def store(self, addr, data, type_=None, **kwargs):
|
|
33
|
+
self._store[addr] = TypedVariable(type_, data)
|
|
29
34
|
|
|
30
35
|
@MemoryMixin.memo
|
|
31
36
|
def copy(self, memo):
|
|
@@ -15,7 +15,7 @@ class NameResolutionMixin(MemoryMixin):
|
|
|
15
15
|
|
|
16
16
|
def _resolve_location_name(self, name, is_write=False):
|
|
17
17
|
# Delayed load so SimMemory does not rely on SimEngines
|
|
18
|
-
from
|
|
18
|
+
from angr.engines.vex.claripy.ccall import _get_flags
|
|
19
19
|
|
|
20
20
|
if self.category == "reg":
|
|
21
21
|
if self.state.arch.name in ("X86", "AMD64"):
|
|
@@ -64,4 +64,4 @@ class NameResolutionMixin(MemoryMixin):
|
|
|
64
64
|
return super().load(addr, size=size, **kwargs)
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
from
|
|
67
|
+
from angr.errors import SimMemoryError
|
|
@@ -9,7 +9,7 @@ import claripy
|
|
|
9
9
|
|
|
10
10
|
from angr.storage.memory_mixins import MemoryMixin
|
|
11
11
|
from angr.storage.memory_mixins.paged_memory.pages import PageType, ListPage, UltraPage, MVListPage
|
|
12
|
-
from
|
|
12
|
+
from angr.errors import SimMemoryError
|
|
13
13
|
|
|
14
14
|
# yeet
|
|
15
15
|
ffi = cffi.FFI()
|
|
@@ -30,3 +30,18 @@ PageType = typing.TypeVar("PageType", bound=PageBase)
|
|
|
30
30
|
from .list_page import ListPage
|
|
31
31
|
from .mv_list_page import MVListPage
|
|
32
32
|
from .ultra_page import UltraPage
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
__all__ = (
|
|
36
|
+
"CooperationBase",
|
|
37
|
+
"MemoryObjectMixin",
|
|
38
|
+
"ISPOMixin",
|
|
39
|
+
"RefcountMixin",
|
|
40
|
+
"PermissionsMixin",
|
|
41
|
+
"HistoryTrackingMixin",
|
|
42
|
+
"PageBase",
|
|
43
|
+
"PageType",
|
|
44
|
+
"ListPage",
|
|
45
|
+
"MVListPage",
|
|
46
|
+
"UltraPage",
|
|
47
|
+
)
|
|
@@ -5,7 +5,7 @@ from typing import Union, Any
|
|
|
5
5
|
from collections.abc import Callable
|
|
6
6
|
|
|
7
7
|
from angr.utils.dynamic_dictlist import DynamicDictList
|
|
8
|
-
from
|
|
8
|
+
from angr.storage.memory_object import SimMemoryObject, SimLabeledMemoryObject
|
|
9
9
|
from . import PageBase
|
|
10
10
|
from .cooperation import MemoryObjectSetMixin
|
|
11
11
|
|
|
@@ -2,8 +2,8 @@ from __future__ import annotations
|
|
|
2
2
|
import logging
|
|
3
3
|
|
|
4
4
|
from .paged_memory_mixin import PagedMemoryMixin
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from angr.errors import SimSegfaultException, SimMemoryError
|
|
6
|
+
from angr.sim_options import STRICT_PAGE_ACCESS
|
|
7
7
|
|
|
8
8
|
l = logging.getLogger(__name__)
|
|
9
9
|
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from .regioned_memory_mixin import RegionedMemoryMixin
|
|
3
4
|
from .region_category_mixin import RegionCategoryMixin
|
|
4
5
|
from .static_find_mixin import StaticFindMixin
|
|
5
6
|
from .abstract_merger_mixin import AbstractMergerMixin
|
|
6
7
|
from .region_meta_mixin import MemoryRegionMetaMixin
|
|
7
8
|
from .regioned_address_concretization_mixin import RegionedAddressConcretizationMixin
|
|
9
|
+
|
|
10
|
+
__all__ = (
|
|
11
|
+
"RegionedMemoryMixin",
|
|
12
|
+
"RegionCategoryMixin",
|
|
13
|
+
"StaticFindMixin",
|
|
14
|
+
"AbstractMergerMixin",
|
|
15
|
+
"MemoryRegionMetaMixin",
|
|
16
|
+
"RegionedAddressConcretizationMixin",
|
|
17
|
+
)
|