angr 9.2.118__py3-none-win_amd64.whl → 9.2.120__py3-none-win_amd64.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 +47 -5
- 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 +136 -24
- 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 +9 -9
- angr/analyses/decompiler/block_simplifier.py +3 -3
- angr/analyses/decompiler/callsite_maker.py +5 -3
- angr/analyses/decompiler/clinic.py +46 -36
- angr/analyses/decompiler/condition_processor.py +48 -21
- angr/analyses/decompiler/counters/__init__.py +11 -0
- angr/analyses/decompiler/decompiler.py +27 -10
- angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
- angr/analyses/decompiler/jumptable_entry_condition_rewriter.py +1 -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/ail_merge_graph.py +7 -4
- angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +13 -9
- 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/inlined_string_transformation_simplifier.py +19 -19
- 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 +22 -15
- angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
- angr/analyses/decompiler/structuring/__init__.py +11 -1
- angr/analyses/decompiler/structuring/dream.py +16 -15
- angr/analyses/decompiler/structuring/phoenix.py +9 -9
- 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 +6 -5
- 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/function_handler.py +6 -2
- 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 +34 -16
- 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 +21 -4
- angr/analyses/typehoon/typeconsts.py +8 -0
- 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 +14 -17
- 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/calling_conventions.py +69 -24
- angr/concretization_strategies/__init__.py +17 -0
- angr/concretization_strategies/max.py +1 -1
- angr/concretization_strategies/norepeats.py +3 -3
- 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 +2 -3
- 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 +12 -17
- 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 +5 -5
- 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 +13 -13
- 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 +2 -2
- 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/statements/goto.py +1 -1
- angr/engines/soot/statements/if_.py +1 -1
- angr/engines/soot/statements/throw.py +1 -1
- 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 +8 -8
- angr/engines/syscall.py +1 -1
- angr/engines/unicorn.py +13 -13
- 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 +8 -8
- 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 +4 -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/driller_core.py +2 -3
- 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 +6 -6
- 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 +8 -7
- angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
- angr/knowledge_plugins/cfg/memory_data.py +3 -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.dll +0 -0
- angr/misc/__init__.py +12 -2
- angr/misc/loggers.py +2 -2
- angr/misc/telemetry.py +54 -0
- 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 +4 -4
- angr/procedures/java_io/read.py +1 -1
- angr/procedures/java_io/write.py +1 -1
- angr/procedures/java_jni/__init__.py +25 -17
- 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 +2 -2
- angr/procedures/java_lang/character.py +1 -1
- angr/procedures/java_lang/double.py +2 -2
- 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 +4 -4
- 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 +3 -3
- 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/linux_kernel/vsyscall.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/Redirect.py +1 -1
- angr/procedures/stubs/UserHook.py +1 -1
- angr/procedures/stubs/format_parser.py +6 -6
- 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_procedure.py +5 -5
- angr/sim_state.py +21 -34
- angr/sim_type.py +51 -18
- angr/simos/__init__.py +12 -0
- angr/simos/cgc.py +5 -5
- angr/simos/javavm.py +18 -23
- angr/simos/linux.py +6 -6
- angr/simos/simos.py +12 -16
- angr/simos/userland.py +3 -3
- angr/simos/windows.py +6 -11
- angr/state_hierarchy.py +1 -1
- 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 +6 -6
- angr/state_plugins/scratch.py +4 -4
- angr/state_plugins/sim_action_object.py +1 -1
- angr/state_plugins/solver.py +15 -19
- angr/state_plugins/symbolizer.py +2 -3
- angr/state_plugins/trace_additions.py +8 -8
- 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 +16 -16
- angr/storage/memory_mixins/__init__.py +88 -6
- angr/storage/memory_mixins/actions_mixin.py +3 -3
- 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 +8 -10
- 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/multi_value_merger_mixin.py +5 -5
- 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 +2 -2
- 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 +2 -2
- angr/storage/memory_mixins/slotted_memory.py +1 -1
- angr/storage/memory_mixins/smart_find_mixin.py +3 -3
- angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
- angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
- angr/storage/memory_object.py +8 -10
- 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/utils/timing.py +30 -18
- {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/METADATA +8 -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.118.dist-info/RECORD +0 -1344
- /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
- {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
- {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
- {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
- {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
|
@@ -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
|
|
|
@@ -46,7 +46,7 @@ class ActionsMixinHigh(MemoryMixin):
|
|
|
46
46
|
self.state, region_type, kind, addr=addr, data=data, size=ref_size, condition=condition, fallback=fallback
|
|
47
47
|
)
|
|
48
48
|
|
|
49
|
-
action.added_constraints = claripy.true
|
|
49
|
+
action.added_constraints = claripy.true()
|
|
50
50
|
return action
|
|
51
51
|
|
|
52
52
|
def _add_constraints(self, c, action=None, **kwargs):
|
|
@@ -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__)
|
|
@@ -63,7 +63,7 @@ class ConvenientMappingsMixin(MemoryMixin):
|
|
|
63
63
|
self._updated_mappings.remove((v, id(self._name_mapping)))
|
|
64
64
|
|
|
65
65
|
if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
|
|
66
|
-
h = old_obj.
|
|
66
|
+
h = old_obj.hash()
|
|
67
67
|
self._mark_updated_mapping(self._hash_mapping, h)
|
|
68
68
|
self._hash_mapping[h].difference_update(range(addr, addr + size))
|
|
69
69
|
if len(self._hash_mapping[h]) == 0:
|
|
@@ -82,7 +82,7 @@ class ConvenientMappingsMixin(MemoryMixin):
|
|
|
82
82
|
|
|
83
83
|
if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
|
|
84
84
|
# add the new variables to the hash->addrs mapping
|
|
85
|
-
h = data.
|
|
85
|
+
h = data.hash()
|
|
86
86
|
self._mark_updated_mapping(self._hash_mapping, h)
|
|
87
87
|
if h not in self._hash_mapping:
|
|
88
88
|
self._hash_mapping[h] = set()
|
|
@@ -148,7 +148,7 @@ class ConvenientMappingsMixin(MemoryMixin):
|
|
|
148
148
|
self._name_mapping.pop(v, None)
|
|
149
149
|
|
|
150
150
|
if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
|
|
151
|
-
h = hash(
|
|
151
|
+
h = old_obj.hash()
|
|
152
152
|
self._mark_updated_mapping(self._hash_mapping, h)
|
|
153
153
|
self._hash_mapping[h].discard(actual_addr)
|
|
154
154
|
if len(self._hash_mapping[h]) == 0:
|
|
@@ -166,7 +166,7 @@ class ConvenientMappingsMixin(MemoryMixin):
|
|
|
166
166
|
|
|
167
167
|
if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
|
|
168
168
|
# add the new variables to the hash->addrs mapping
|
|
169
|
-
h = hash(
|
|
169
|
+
h = new_obj.hash()
|
|
170
170
|
self._mark_updated_mapping(self._hash_mapping, h)
|
|
171
171
|
if h not in self._hash_mapping:
|
|
172
172
|
self._hash_mapping[h] = set()
|
|
@@ -208,10 +208,8 @@ class ConvenientMappingsMixin(MemoryMixin):
|
|
|
208
208
|
for e in self._hash_mapping[h]:
|
|
209
209
|
try:
|
|
210
210
|
present = self.load(e, size=1)
|
|
211
|
-
if h == present.
|
|
212
|
-
present.op == "Extract"
|
|
213
|
-
and present.args[0] - present.args[1] == 7
|
|
214
|
-
and h == present.args[2].cache_key
|
|
211
|
+
if h == present.hash() or (
|
|
212
|
+
present.op == "Extract" and present.args[0] - present.args[1] == 7 and h == present.args[2].hash()
|
|
215
213
|
):
|
|
216
214
|
yield e
|
|
217
215
|
else:
|
|
@@ -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):
|
|
@@ -41,16 +41,16 @@ class MultiValueMergerMixin(MemoryMixin):
|
|
|
41
41
|
ret_val = self._top_func(merged_size * self.state.arch.byte_width)
|
|
42
42
|
else:
|
|
43
43
|
# strip annotations from each value and see how many raw values there are in total
|
|
44
|
-
# We have to use
|
|
44
|
+
# We have to use hash manually to determine uniqueness here, because if __hash__ collides,
|
|
45
45
|
# python implicitly calls __eq__ to determine if the two objects are actually the same
|
|
46
46
|
# and that just results in a new AST for a BV. Python then tries to convert that AST to a bool
|
|
47
47
|
# which fails with the safeguard in claripy.ast.bool.Bool.__bool__.
|
|
48
|
-
|
|
49
|
-
if len(
|
|
48
|
+
stripped_values_dict = {v.hash(): v for v in values_set}
|
|
49
|
+
if len(stripped_values_dict) > 1:
|
|
50
50
|
ret_val = self._top_func(merged_size * self.state.arch.byte_width)
|
|
51
51
|
else:
|
|
52
|
-
# Get the AST back from the
|
|
53
|
-
ret_val = next(iter(
|
|
52
|
+
# Get the AST back from the hash dict
|
|
53
|
+
ret_val = stripped_values_dict[next(iter(stripped_values_dict))]
|
|
54
54
|
|
|
55
55
|
# migrate annotations
|
|
56
56
|
annotations = []
|
|
@@ -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
|
|
|
@@ -8,7 +8,7 @@ from sortedcontainers import SortedDict
|
|
|
8
8
|
|
|
9
9
|
import claripy
|
|
10
10
|
|
|
11
|
-
from
|
|
11
|
+
from angr.errors import SimMemoryError
|
|
12
12
|
from . import PageBase
|
|
13
13
|
from .cooperation import MemoryObjectMixin, SimMemoryObject
|
|
14
14
|
|
|
@@ -464,7 +464,7 @@ class UltraPage(MemoryObjectMixin, PageBase):
|
|
|
464
464
|
if replaced_object is not None:
|
|
465
465
|
self._replace_memory_object(mo, replaced_object, memory=memory)
|
|
466
466
|
|
|
467
|
-
def _replace_memory_object(self, old: SimMemoryObject, new_content: claripy.Bits, memory=None):
|
|
467
|
+
def _replace_memory_object(self, old: SimMemoryObject, new_content: claripy.ast.Bits, memory=None):
|
|
468
468
|
"""
|
|
469
469
|
Replaces the memory object `old` with a new memory object containing `new_content`.
|
|
470
470
|
|
|
@@ -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
|
+
)
|
|
@@ -3,8 +3,8 @@ from sortedcontainers import SortedDict
|
|
|
3
3
|
|
|
4
4
|
import claripy
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
6
|
+
from angr.errors import SimRegionMapError
|
|
7
|
+
from angr.state_plugins import SimStatePlugin
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class AddressWrapper:
|
|
@@ -3,10 +3,10 @@ from collections.abc import Generator
|
|
|
3
3
|
|
|
4
4
|
import claripy
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
6
|
+
from angr.sim_options import HYBRID_SOLVER, APPROXIMATE_FIRST
|
|
7
|
+
from angr import concretization_strategies
|
|
8
|
+
from angr.errors import SimMergeError, SimMemoryAddressError
|
|
9
|
+
from angr.storage.memory_mixins import MemoryMixin
|
|
10
10
|
from .abstract_address_descriptor import AbstractAddressDescriptor
|
|
11
11
|
from .region_data import AddressWrapper
|
|
12
12
|
|
|
@@ -8,20 +8,15 @@ import claripy
|
|
|
8
8
|
from claripy.annotation import RegionAnnotation
|
|
9
9
|
from claripy.ast import Bool, Bits, BV
|
|
10
10
|
|
|
11
|
-
from
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
CONSERVATIVE_WRITE_STRATEGY,
|
|
16
|
-
)
|
|
17
|
-
from ....state_plugins.sim_action_object import _raw_ast
|
|
18
|
-
from ....errors import SimMemoryError, SimAbstractMemoryError
|
|
19
|
-
from .. import MemoryMixin
|
|
11
|
+
from angr.sim_options import AVOID_MULTIVALUED_READS, CONSERVATIVE_READ_STRATEGY, CONSERVATIVE_WRITE_STRATEGY
|
|
12
|
+
from angr.state_plugins.sim_action_object import _raw_ast
|
|
13
|
+
from angr.errors import SimMemoryError, SimAbstractMemoryError
|
|
14
|
+
from angr.storage.memory_mixins import MemoryMixin
|
|
20
15
|
from .region_data import AddressWrapper, RegionMap
|
|
21
16
|
from .abstract_address_descriptor import AbstractAddressDescriptor
|
|
22
17
|
|
|
23
18
|
if TYPE_CHECKING:
|
|
24
|
-
from
|
|
19
|
+
from angr.sim_state import SimState
|
|
25
20
|
|
|
26
21
|
|
|
27
22
|
_l = logging.getLogger(name=__name__)
|
|
@@ -59,7 +54,7 @@ class RegionedMemoryMixin(MemoryMixin):
|
|
|
59
54
|
|
|
60
55
|
if regioned_memory_cls is None:
|
|
61
56
|
# delayed import
|
|
62
|
-
from
|
|
57
|
+
from angr.storage.memory_mixins import RegionedMemory # pylint:disable=import-outside-toplevel
|
|
63
58
|
|
|
64
59
|
regioned_memory_cls = RegionedMemory
|
|
65
60
|
|
|
@@ -126,13 +121,7 @@ class RegionedMemoryMixin(MemoryMixin):
|
|
|
126
121
|
**kwargs,
|
|
127
122
|
)
|
|
128
123
|
|
|
129
|
-
if val is None
|
|
130
|
-
if KEEP_MEMORY_READS_DISCRETE in self.state.options:
|
|
131
|
-
val = self.state.solver.DSIS(to_conv=new_val, max_card=100000)
|
|
132
|
-
else:
|
|
133
|
-
val = new_val
|
|
134
|
-
else:
|
|
135
|
-
val = val.union(new_val)
|
|
124
|
+
val = new_val if val is None else val.union(new_val)
|
|
136
125
|
|
|
137
126
|
if val is None:
|
|
138
127
|
# address_wrappers is empty - we cannot concretize the address in static mode.
|
|
@@ -358,7 +347,6 @@ class RegionedMemoryMixin(MemoryMixin):
|
|
|
358
347
|
|
|
359
348
|
:param addr:
|
|
360
349
|
:param is_write:
|
|
361
|
-
:param convert_to_valueset:
|
|
362
350
|
:param target_region:
|
|
363
351
|
:return:
|
|
364
352
|
"""
|
|
@@ -4,7 +4,7 @@ import logging
|
|
|
4
4
|
import claripy
|
|
5
5
|
|
|
6
6
|
from . import MemoryMixin
|
|
7
|
-
from
|
|
7
|
+
from angr.errors import SimMemoryLimitError, SimMemoryError, SimUnsatError
|
|
8
8
|
|
|
9
9
|
l = logging.getLogger(__name__)
|
|
10
10
|
|
|
@@ -136,7 +136,7 @@ class SizeConcretizationMixin(MemoryMixin):
|
|
|
136
136
|
conc_sizes = [min(cs, self._max_symbolic_size) for cs in conc_sizes]
|
|
137
137
|
|
|
138
138
|
if condition is None:
|
|
139
|
-
condition = claripy.true
|
|
139
|
+
condition = claripy.true()
|
|
140
140
|
for conc_size in conc_sizes:
|
|
141
141
|
if conc_size == 0:
|
|
142
142
|
continue
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
import claripy
|
|
3
3
|
|
|
4
4
|
from . import MemoryMixin
|
|
5
|
-
from
|
|
5
|
+
from angr.errors import SimSegfaultException
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class SmartFindMixin(MemoryMixin):
|
|
@@ -99,7 +99,7 @@ class SmartFindMixin(MemoryMixin):
|
|
|
99
99
|
able to handle wide characters
|
|
100
100
|
"""
|
|
101
101
|
if condition is None:
|
|
102
|
-
condition = claripy.true
|
|
102
|
+
condition = claripy.true()
|
|
103
103
|
chunk = None
|
|
104
104
|
chunk_progress = chunk_size
|
|
105
105
|
|
|
@@ -139,7 +139,7 @@ class SmartFindMixin(MemoryMixin):
|
|
|
139
139
|
|
|
140
140
|
def _find_condition(self, target_addr): # pylint:disable=unused-argument,no-self-use
|
|
141
141
|
# TODO: fill this in in order to make each load have the correct condition associated with it
|
|
142
|
-
return claripy.true
|
|
142
|
+
return claripy.true()
|
|
143
143
|
|
|
144
144
|
def _find_compare(self, element, target):
|
|
145
145
|
comparison = element == target
|
|
@@ -24,4 +24,4 @@ class UnwrapperMixin(MemoryMixin):
|
|
|
24
24
|
return super().copy_contents(_raw_ast(dst), _raw_ast(src), _raw_ast(size), _raw_ast(condition), **kwargs)
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
from
|
|
27
|
+
from angr.state_plugins.sim_action_object import _raw_ast
|