angr 9.2.118__py3-none-manylinux2014_aarch64.whl → 9.2.120__py3-none-manylinux2014_aarch64.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/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
angr/engines/soot/engine.py
CHANGED
|
@@ -10,13 +10,13 @@ from archinfo.arch_soot import (
|
|
|
10
10
|
SootMethodDescriptor,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
13
|
+
from angr import sim_options as o
|
|
14
|
+
from angr.errors import SimEngineError, SimTranslationError
|
|
15
15
|
from cle import CLEError
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
16
|
+
from angr.state_plugins.inspect import BP_AFTER, BP_BEFORE
|
|
17
|
+
from angr.sim_type import SimTypeFunction, parse_type
|
|
18
|
+
from angr.engines.engine import SuccessorsMixin
|
|
19
|
+
from angr.engines.procedure import ProcedureMixin
|
|
20
20
|
from .exceptions import BlockTerminationNotice, IncorrectLocationException
|
|
21
21
|
from .statements import SimSootStmt_Return, SimSootStmt_ReturnVoid, translate_stmt
|
|
22
22
|
from .values import SimSootValue_Local, SimSootValue_ParamRef
|
|
@@ -136,7 +136,7 @@ class SootMixin(SuccessorsMixin, ProcedureMixin):
|
|
|
136
136
|
next_addr = self._get_next_linear_instruction(state, stmt_idx)
|
|
137
137
|
l.debug("Advancing execution linearly to %s", next_addr)
|
|
138
138
|
if next_addr is not None:
|
|
139
|
-
successors.add_successor(state.copy(), next_addr, claripy.true, "Ijk_Boring")
|
|
139
|
+
successors.add_successor(state.copy(), next_addr, claripy.true(), "Ijk_Boring")
|
|
140
140
|
|
|
141
141
|
def _handle_soot_stmt(self, state, successors, stmt_idx, stmt):
|
|
142
142
|
# execute statement
|
|
@@ -174,7 +174,7 @@ class SootMixin(SuccessorsMixin, ProcedureMixin):
|
|
|
174
174
|
# add invoke state as the successor and terminate execution
|
|
175
175
|
# prematurely, since Soot does not guarantee that an invoke stmt
|
|
176
176
|
# terminates a block
|
|
177
|
-
successors.add_successor(invoke_state, addr, claripy.true, "Ijk_Call")
|
|
177
|
+
successors.add_successor(invoke_state, addr, claripy.true(), "Ijk_Call")
|
|
178
178
|
return True
|
|
179
179
|
|
|
180
180
|
# add jmp exit
|
|
@@ -199,12 +199,12 @@ class SootMixin(SuccessorsMixin, ProcedureMixin):
|
|
|
199
199
|
def _add_return_exit(cls, state, successors, return_val=None):
|
|
200
200
|
ret_state = state.copy()
|
|
201
201
|
cls.prepare_return_state(ret_state, return_val)
|
|
202
|
-
successors.add_successor(ret_state, state.callstack.ret_addr, claripy.true, "Ijk_Ret")
|
|
202
|
+
successors.add_successor(ret_state, state.callstack.ret_addr, claripy.true(), "Ijk_Ret")
|
|
203
203
|
successors.processed = True
|
|
204
204
|
|
|
205
205
|
def _get_sim_procedure(self, addr):
|
|
206
206
|
# Delayed import
|
|
207
|
-
from
|
|
207
|
+
from angr.procedures import SIM_PROCEDURES
|
|
208
208
|
|
|
209
209
|
if addr in self.project._sim_procedures:
|
|
210
210
|
return self.project._sim_procedures[addr]
|
|
@@ -226,7 +226,7 @@ class SootMixin(SuccessorsMixin, ProcedureMixin):
|
|
|
226
226
|
|
|
227
227
|
def get_unconstrained_simprocedure(self):
|
|
228
228
|
# Delayed import
|
|
229
|
-
from
|
|
229
|
+
from angr.procedures import SIM_PROCEDURES
|
|
230
230
|
|
|
231
231
|
# TODO: fix method prototype
|
|
232
232
|
procedure_cls = SIM_PROCEDURES["angr.unconstrained"]["unconstrained()"]
|
|
@@ -320,7 +320,7 @@ class SootMixin(SuccessorsMixin, ProcedureMixin):
|
|
|
320
320
|
# TODO symbolic exit code?
|
|
321
321
|
exit_code = claripy.BVV(exit_code, state.arch.bits)
|
|
322
322
|
state.history.add_event("terminate", exit_code=exit_code)
|
|
323
|
-
successors.add_successor(state, state.regs.ip, claripy.true, "Ijk_Exit")
|
|
323
|
+
successors.add_successor(state, state.regs.ip, claripy.true(), "Ijk_Exit")
|
|
324
324
|
successors.processed = True
|
|
325
325
|
raise BlockTerminationNotice
|
|
326
326
|
|
|
@@ -342,7 +342,7 @@ class SootMixin(SuccessorsMixin, ProcedureMixin):
|
|
|
342
342
|
|
|
343
343
|
# set successor flags
|
|
344
344
|
ret_state.regs._ip = ret_state.callstack.ret_addr
|
|
345
|
-
ret_state.scratch.guard = claripy.true
|
|
345
|
+
ret_state.scratch.guard = claripy.true()
|
|
346
346
|
ret_state.history.jumpkind = "Ijk_Ret"
|
|
347
347
|
|
|
348
348
|
# if available, lookup the return value in native memory
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import logging
|
|
3
4
|
|
|
4
5
|
l = logging.getLogger("angr.engines.soot.expressions")
|
|
@@ -55,3 +56,35 @@ from .thisref import SimSootExpr_ThisRef
|
|
|
55
56
|
from .paramref import SimSootExpr_ParamRef
|
|
56
57
|
from .unsupported import SimSootExpr_Unsupported
|
|
57
58
|
from .instanceOf import SimSootExpr_InstanceOf
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
__all__ = (
|
|
62
|
+
"translate_expr",
|
|
63
|
+
"SimSootExpr_ArrayRef",
|
|
64
|
+
"SimSootExpr_Binop",
|
|
65
|
+
"SimSootExpr_Cast",
|
|
66
|
+
"SimSootExpr_Condition",
|
|
67
|
+
"SimSootExpr_IntConstant",
|
|
68
|
+
"SimSootExpr_LongConstant",
|
|
69
|
+
"SimSootExpr_FloatConstant",
|
|
70
|
+
"SimSootExpr_DoubleConstant",
|
|
71
|
+
"SimSootExpr_StringConstant",
|
|
72
|
+
"SimSootExpr_ClassConstant",
|
|
73
|
+
"SimSootExpr_NullConstant",
|
|
74
|
+
"SimSootExpr_InstanceFieldRef",
|
|
75
|
+
"SimSootExpr_SpecialInvoke",
|
|
76
|
+
"SimSootExpr_StaticInvoke",
|
|
77
|
+
"SimSootExpr_VirtualInvoke",
|
|
78
|
+
"SimSootExpr_InterfaceInvoke",
|
|
79
|
+
"SimSootExpr_Length",
|
|
80
|
+
"SimSootExpr_Local",
|
|
81
|
+
"SimSootExpr_New",
|
|
82
|
+
"SimSootExpr_NewArray",
|
|
83
|
+
"SimSootExpr_NewMultiArray",
|
|
84
|
+
"SimSootExpr_Phi",
|
|
85
|
+
"SimSootExpr_StaticFieldRef",
|
|
86
|
+
"SimSootExpr_ThisRef",
|
|
87
|
+
"SimSootExpr_ParamRef",
|
|
88
|
+
"SimSootExpr_Unsupported",
|
|
89
|
+
"SimSootExpr_InstanceOf",
|
|
90
|
+
)
|
|
@@ -4,7 +4,7 @@ import logging
|
|
|
4
4
|
from archinfo import ArchSoot
|
|
5
5
|
|
|
6
6
|
from .base import SimSootExpr
|
|
7
|
-
from
|
|
7
|
+
from angr.engines.soot.values.thisref import SimSootValue_ThisRef
|
|
8
8
|
|
|
9
9
|
l = logging.getLogger("angr.engines.soot.expressions.cast")
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ import operator
|
|
|
4
4
|
from archinfo.arch_soot import SootNullConstant
|
|
5
5
|
import claripy
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from angr.engines.soot.values import SimSootValue_StringRef, SimSootValue_ThisRef
|
|
8
8
|
from .base import SimSootExpr
|
|
9
9
|
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@ class SimSootExpr_Condition(SimSootExpr):
|
|
|
19
19
|
elif isinstance(v1.expr, (SootNullConstant, SimSootValue_StringRef)) or isinstance(
|
|
20
20
|
v2.expr, (SootNullConstant, SimSootValue_StringRef)
|
|
21
21
|
):
|
|
22
|
-
self.expr = claripy.true if operator_func(v1.expr, v2.expr) else claripy.false
|
|
22
|
+
self.expr = claripy.true() if operator_func(v1.expr, v2.expr) else claripy.false()
|
|
23
23
|
else:
|
|
24
24
|
self.expr = operator_func(v1.expr, v2.expr)
|
|
25
25
|
|
|
@@ -3,7 +3,7 @@ import claripy
|
|
|
3
3
|
from archinfo.arch_soot import SootClassDescriptor, SootNullConstant
|
|
4
4
|
from claripy import FSORT_DOUBLE, FSORT_FLOAT
|
|
5
5
|
|
|
6
|
-
from
|
|
6
|
+
from angr.engines.soot.values import SimSootValue_StringRef
|
|
7
7
|
from .base import SimSootExpr
|
|
8
8
|
|
|
9
9
|
|
|
@@ -2,8 +2,8 @@ from __future__ import annotations
|
|
|
2
2
|
from archinfo.arch_soot import SootArgument, SootMethodDescriptor
|
|
3
3
|
|
|
4
4
|
from . import translate_expr
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from angr.engines.soot.method_dispatcher import resolve_method
|
|
6
|
+
from angr.engines.soot.exceptions import SootMethodNotLoadedException
|
|
7
7
|
from .base import SimSootExpr
|
|
8
8
|
|
|
9
9
|
|
|
@@ -5,7 +5,7 @@ import claripy
|
|
|
5
5
|
|
|
6
6
|
from .base import SimSootExpr
|
|
7
7
|
from .newArray import SimSootExpr_NewArray
|
|
8
|
-
from
|
|
8
|
+
from angr.engines.soot.values import SimSootValue_ArrayBaseRef
|
|
9
9
|
|
|
10
10
|
l = logging.getLogger("angr.engines.soot.expressions.newmultiarray")
|
|
11
11
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import logging
|
|
3
4
|
|
|
4
5
|
l = logging.getLogger("angr.engines.soot.statements")
|
|
@@ -28,3 +29,18 @@ from .invoke import SimSootStmt_Invoke
|
|
|
28
29
|
from .if_ import SimSootStmt_If
|
|
29
30
|
from .switch import SimSootStmt_TableSwitch, SimSootStmt_LookupSwitch
|
|
30
31
|
from .throw import SimSootStmt_Throw
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
__all__ = (
|
|
35
|
+
"translate_stmt",
|
|
36
|
+
"SimSootStmt_Assign",
|
|
37
|
+
"SimSootStmt_Return",
|
|
38
|
+
"SimSootStmt_ReturnVoid",
|
|
39
|
+
"SimSootStmt_Identity",
|
|
40
|
+
"SimSootStmt_Goto",
|
|
41
|
+
"SimSootStmt_Invoke",
|
|
42
|
+
"SimSootStmt_If",
|
|
43
|
+
"SimSootStmt_TableSwitch",
|
|
44
|
+
"SimSootStmt_LookupSwitch",
|
|
45
|
+
"SimSootStmt_Throw",
|
|
46
|
+
)
|
|
@@ -3,9 +3,9 @@ import logging
|
|
|
3
3
|
|
|
4
4
|
from archinfo.arch_soot import SootAddressDescriptor
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
6
|
+
from angr.engines.soot.exceptions import IncorrectLocationException
|
|
7
|
+
from angr.engines.soot.expressions import translate_expr
|
|
8
|
+
from angr.engines.soot.values import translate_value
|
|
9
9
|
|
|
10
10
|
l = logging.getLogger("angr.engines.soot.statements.if")
|
|
11
11
|
|
|
@@ -11,4 +11,4 @@ l = logging.getLogger("angr.engines.soot.statements.goto")
|
|
|
11
11
|
class SimSootStmt_Goto(SimSootStmt):
|
|
12
12
|
def _execute(self):
|
|
13
13
|
jmp_target = self._get_bb_addr_from_instr(instr=self.stmt.target)
|
|
14
|
-
self._add_jmp_target(target=jmp_target, condition=claripy.true)
|
|
14
|
+
self._add_jmp_target(target=jmp_target, condition=claripy.true())
|
|
@@ -15,5 +15,5 @@ class SimSootStmt_If(SimSootStmt):
|
|
|
15
15
|
self._add_jmp_target(target=jmp_target, condition=jmp_condition)
|
|
16
16
|
self._add_jmp_target(
|
|
17
17
|
target=None, # if target is None, engine goes on linearly
|
|
18
|
-
condition=(jmp_condition == claripy.false),
|
|
18
|
+
condition=(jmp_condition == claripy.false()),
|
|
19
19
|
)
|
|
@@ -12,4 +12,4 @@ l = logging.getLogger(name=__name__)
|
|
|
12
12
|
class SimSootStmt_Throw(SimSootStmt):
|
|
13
13
|
def _execute(self):
|
|
14
14
|
# TODO: implement simprocedure to throw exception
|
|
15
|
-
self._add_jmp_target(target=SootAddressTerminator(), condition=claripy.true)
|
|
15
|
+
self._add_jmp_target(target=SootAddressTerminator(), condition=claripy.true())
|
|
@@ -24,3 +24,17 @@ from .staticfieldref import SimSootValue_StaticFieldRef
|
|
|
24
24
|
from .instancefieldref import SimSootValue_InstanceFieldRef
|
|
25
25
|
from .constants import SimSootValue_IntConstant
|
|
26
26
|
from .strref import SimSootValue_StringRef
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
__all__ = (
|
|
30
|
+
"translate_value",
|
|
31
|
+
"SimSootValue_Local",
|
|
32
|
+
"SimSootValue_ParamRef",
|
|
33
|
+
"SimSootValue_ArrayRef",
|
|
34
|
+
"SimSootValue_ArrayBaseRef",
|
|
35
|
+
"SimSootValue_ThisRef",
|
|
36
|
+
"SimSootValue_StaticFieldRef",
|
|
37
|
+
"SimSootValue_InstanceFieldRef",
|
|
38
|
+
"SimSootValue_IntConstant",
|
|
39
|
+
"SimSootValue_StringRef",
|
|
40
|
+
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from . import translate_value
|
|
3
3
|
from .base import SimSootValue
|
|
4
|
-
from
|
|
4
|
+
from angr.engines.soot.field_dispatcher import resolve_field
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class SimSootValue_InstanceFieldRef(SimSootValue):
|
|
@@ -6,8 +6,8 @@ from archinfo.arch_soot import SootAddressTerminator, SootArgument
|
|
|
6
6
|
from .base import SimSootValue
|
|
7
7
|
from .instancefieldref import SimSootValue_InstanceFieldRef
|
|
8
8
|
from .local import SimSootValue_Local
|
|
9
|
-
from
|
|
10
|
-
from
|
|
9
|
+
from angr.engines.soot.method_dispatcher import resolve_method
|
|
10
|
+
from angr import sim_options as options
|
|
11
11
|
|
|
12
12
|
l = logging.getLogger("angr.engines.soot.values.thisref")
|
|
13
13
|
|
angr/engines/successors.py
CHANGED
|
@@ -320,7 +320,7 @@ class SimSuccessors:
|
|
|
320
320
|
skip_max_targets_warning = False
|
|
321
321
|
if o.NO_IP_CONCRETIZATION in state.options:
|
|
322
322
|
# Don't try to concretize the IP
|
|
323
|
-
cond_and_targets = [(claripy.true, target)]
|
|
323
|
+
cond_and_targets = [(claripy.true(), target)]
|
|
324
324
|
max_targets = 0
|
|
325
325
|
skip_max_targets_warning = True # don't warn
|
|
326
326
|
elif o.KEEP_IP_SYMBOLIC in state.options:
|
|
@@ -532,10 +532,10 @@ class SimSuccessors:
|
|
|
532
532
|
|
|
533
533
|
|
|
534
534
|
# pylint: disable=wrong-import-position
|
|
535
|
-
from
|
|
536
|
-
from
|
|
537
|
-
from
|
|
538
|
-
from
|
|
539
|
-
from
|
|
540
|
-
from
|
|
541
|
-
from
|
|
535
|
+
from angr.state_plugins.inspect import BP_BEFORE, BP_AFTER
|
|
536
|
+
from angr.errors import SimSolverModeError, AngrUnsupportedSyscallError, AngrSyscallError, SimValueError, SimUnsatError
|
|
537
|
+
from angr.calling_conventions import SYSCALL_CC
|
|
538
|
+
from angr.state_plugins.sim_action_object import _raw_ast
|
|
539
|
+
from angr.state_plugins.callstack import CallStack
|
|
540
|
+
from angr.storage import DUMMY_SYMBOLIC_READ_VALUE
|
|
541
|
+
from angr import sim_options as o
|
angr/engines/syscall.py
CHANGED
angr/engines/unicorn.py
CHANGED
|
@@ -6,14 +6,14 @@ import logging
|
|
|
6
6
|
import archinfo
|
|
7
7
|
import claripy
|
|
8
8
|
|
|
9
|
-
from
|
|
9
|
+
from angr.errors import SimIRSBError, SimIRSBNoDecodeError, SimValueError
|
|
10
10
|
from .engine import SuccessorsMixin
|
|
11
11
|
from .vex.heavy.heavy import VEXEarlyExit
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
12
|
+
from angr import sim_options as o
|
|
13
|
+
from angr.misc.ux import once
|
|
14
|
+
from angr.state_plugins.inspect import BP_AFTER, BP_BEFORE
|
|
15
|
+
from angr.state_plugins.unicorn_engine import STOP, _UC_NATIVE, unicorn as uc_module
|
|
16
|
+
from angr.utils.constants import DEFAULT_STATEMENT
|
|
17
17
|
|
|
18
18
|
# pylint: disable=arguments-differ
|
|
19
19
|
|
|
@@ -184,7 +184,7 @@ class SimEngineUnicorn(SuccessorsMixin):
|
|
|
184
184
|
|
|
185
185
|
self._instr_mem_write_addrs = set() # pylint:disable=attribute-defined-outside-init
|
|
186
186
|
for block_details in self.state.unicorn._get_details_of_blocks_with_symbolic_vex_stmts():
|
|
187
|
-
self.state.scratch.guard = claripy.true
|
|
187
|
+
self.state.scratch.guard = claripy.true()
|
|
188
188
|
try:
|
|
189
189
|
if self.state.os_name == "CGC" and block_details["block_addr"] in {
|
|
190
190
|
self.state.unicorn.cgc_random_addr,
|
|
@@ -394,9 +394,9 @@ class SimEngineUnicorn(SuccessorsMixin):
|
|
|
394
394
|
if not self.__check(**kwargs):
|
|
395
395
|
return super().process_successors(successors, **kwargs)
|
|
396
396
|
|
|
397
|
-
extra_stop_points = kwargs.get("extra_stop_points"
|
|
398
|
-
last_block_details = kwargs.get("last_block_details"
|
|
399
|
-
step = kwargs.get("step"
|
|
397
|
+
extra_stop_points = kwargs.get("extra_stop_points")
|
|
398
|
+
last_block_details = kwargs.get("last_block_details")
|
|
399
|
+
step = kwargs.get("step")
|
|
400
400
|
if extra_stop_points is None:
|
|
401
401
|
extra_stop_points = set(self.project._sim_procedures)
|
|
402
402
|
else:
|
|
@@ -425,8 +425,8 @@ class SimEngineUnicorn(SuccessorsMixin):
|
|
|
425
425
|
|
|
426
426
|
# initialize unicorn plugin
|
|
427
427
|
try:
|
|
428
|
-
syscall_data = kwargs.get("syscall_data"
|
|
429
|
-
fd_bytes = kwargs.get("fd_bytes"
|
|
428
|
+
syscall_data = kwargs.get("syscall_data")
|
|
429
|
+
fd_bytes = kwargs.get("fd_bytes")
|
|
430
430
|
state.unicorn.setup(syscall_data=syscall_data, fd_bytes=fd_bytes)
|
|
431
431
|
except SimValueError:
|
|
432
432
|
# it's trying to set a symbolic register somehow
|
|
@@ -481,7 +481,7 @@ class SimEngineUnicorn(SuccessorsMixin):
|
|
|
481
481
|
|
|
482
482
|
if state.unicorn.jumpkind.startswith("Ijk_Sys"):
|
|
483
483
|
state.ip = state.unicorn._syscall_pc
|
|
484
|
-
successors.add_successor(state, state.ip, claripy.true, state.unicorn.jumpkind)
|
|
484
|
+
successors.add_successor(state, state.ip, claripy.true(), state.unicorn.jumpkind)
|
|
485
485
|
|
|
486
486
|
successors.description = description
|
|
487
487
|
successors.processed = True
|
angr/engines/vex/__init__.py
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from .
|
|
4
|
-
from .
|
|
2
|
+
|
|
3
|
+
from .claripy import ClaripyDataMixin
|
|
4
|
+
from .light import VEXMixin, VEXResilienceMixin, VEXSlicingMixin
|
|
5
|
+
from .heavy import TrackActionsMixin, HeavyVEXMixin, SimInspectMixin, HeavyResilienceMixin, SuperFastpathMixin
|
|
5
6
|
from .lifter import VEXLifter
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
__all__ = (
|
|
10
|
+
"ClaripyDataMixin",
|
|
11
|
+
"VEXMixin",
|
|
12
|
+
"VEXResilienceMixin",
|
|
13
|
+
"VEXSlicingMixin",
|
|
14
|
+
"TrackActionsMixin",
|
|
15
|
+
"HeavyVEXMixin",
|
|
16
|
+
"SimInspectMixin",
|
|
17
|
+
"HeavyResilienceMixin",
|
|
18
|
+
"SuperFastpathMixin",
|
|
19
|
+
"VEXLifter",
|
|
20
|
+
)
|
|
@@ -7,7 +7,6 @@ from angr.state_plugins.sim_action_object import _raw_ast, SimActionObject
|
|
|
7
7
|
from angr import errors
|
|
8
8
|
|
|
9
9
|
l = logging.getLogger(name=__name__)
|
|
10
|
-
# l.setLevel(logging.DEBUG)
|
|
11
10
|
|
|
12
11
|
# pylint: disable=R0911
|
|
13
12
|
# pylint: disable=W0613
|
|
@@ -57,7 +56,7 @@ def op_concretize(op):
|
|
|
57
56
|
|
|
58
57
|
|
|
59
58
|
def strip_simaction(val):
|
|
60
|
-
if
|
|
59
|
+
if isinstance(val, SimActionObject):
|
|
61
60
|
return _raw_ast(val)
|
|
62
61
|
return val
|
|
63
62
|
|
|
@@ -6,9 +6,9 @@ import pyvex
|
|
|
6
6
|
|
|
7
7
|
from . import irop
|
|
8
8
|
from . import ccall
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
9
|
+
from angr.engines.vex.light import VEXMixin
|
|
10
|
+
from angr import errors
|
|
11
|
+
from angr import sim_options as o
|
|
12
12
|
|
|
13
13
|
l = logging.getLogger(__name__)
|
|
14
14
|
zero = claripy.BVV(0, 32)
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from .actions import TrackActionsMixin
|
|
2
4
|
from .heavy import HeavyVEXMixin
|
|
3
5
|
from .inspect import SimInspectMixin
|
|
4
|
-
from .actions import TrackActionsMixin
|
|
5
6
|
from .resilience import HeavyResilienceMixin
|
|
6
7
|
from .super_fastpath import SuperFastpathMixin
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
__all__ = (
|
|
11
|
+
"TrackActionsMixin",
|
|
12
|
+
"HeavyVEXMixin",
|
|
13
|
+
"SimInspectMixin",
|
|
14
|
+
"HeavyResilienceMixin",
|
|
15
|
+
"SuperFastpathMixin",
|
|
16
|
+
)
|
angr/engines/vex/heavy/heavy.py
CHANGED
|
@@ -4,12 +4,12 @@ import claripy
|
|
|
4
4
|
import pyvex
|
|
5
5
|
|
|
6
6
|
from angr.engines.engine import SuccessorsMixin
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
7
|
+
from angr.engines.vex.light import VEXMixin
|
|
8
|
+
from angr.engines.vex.lifter import VEXLifter
|
|
9
|
+
from angr.engines.vex.claripy.datalayer import ClaripyDataMixin, symbol
|
|
10
|
+
from angr.utils.constants import DEFAULT_STATEMENT
|
|
11
|
+
from angr import sim_options as o
|
|
12
|
+
from angr import errors
|
|
13
13
|
from . import dirty
|
|
14
14
|
|
|
15
15
|
l = logging.getLogger(__name__)
|
|
@@ -116,7 +116,7 @@ class HeavyVEXMixin(SuccessorsMixin, ClaripyDataMixin, SimStateStorageMixin, VEX
|
|
|
116
116
|
successors.sort = "IRSB"
|
|
117
117
|
successors.description = "IRSB"
|
|
118
118
|
self.state.history.recent_block_count = 1
|
|
119
|
-
self.state.scratch.guard = claripy.true
|
|
119
|
+
self.state.scratch.guard = claripy.true()
|
|
120
120
|
self.state.scratch.sim_procedure = None
|
|
121
121
|
addr = successors.addr
|
|
122
122
|
self.state.scratch.bbl_addr = addr
|
|
@@ -216,7 +216,7 @@ class HeavyVEXMixin(SuccessorsMixin, ClaripyDataMixin, SimStateStorageMixin, VEX
|
|
|
216
216
|
l.debug("%s adding postcall exit.", self)
|
|
217
217
|
|
|
218
218
|
ret_state = exit_state.copy()
|
|
219
|
-
guard = claripy.true if o.TRUE_RET_EMULATION_GUARD in self.state.options else claripy.false
|
|
219
|
+
guard = claripy.true() if o.TRUE_RET_EMULATION_GUARD in self.state.options else claripy.false()
|
|
220
220
|
ret_target = claripy.BVV(successors.addr + irsb.size, ret_state.arch.bits)
|
|
221
221
|
ret_state.registers.store(
|
|
222
222
|
ret_state.arch.ret_offset, ret_state.solver.Unconstrained("fake_ret_value", ret_state.arch.bits)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
from
|
|
3
|
-
from
|
|
2
|
+
from angr.engines.vex.light import VEXMixin
|
|
3
|
+
from angr.state_plugins import BP_BEFORE, BP_AFTER, NO_OVERRIDE
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class SimInspectMixin(VEXMixin):
|
|
@@ -4,8 +4,8 @@ import pyvex
|
|
|
4
4
|
from angr import sim_options as o
|
|
5
5
|
|
|
6
6
|
from .concretizers import concretizers
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from angr.engines.vex.light.resilience import VEXResilienceMixin, raiseme
|
|
8
|
+
from angr.engines.vex.claripy.datalayer import ClaripyDataMixin, symbol, value
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class HeavyResilienceMixin(VEXResilienceMixin, ClaripyDataMixin):
|
|
@@ -2,9 +2,9 @@ from __future__ import annotations
|
|
|
2
2
|
import pyvex
|
|
3
3
|
import claripy
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
5
|
+
from angr import sim_options as o
|
|
6
|
+
from angr.errors import SimMissingTempError
|
|
7
|
+
from angr.engines.vex.light.slicing import VEXSlicingMixin
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class SuperFastpathMixin(VEXSlicingMixin):
|
angr/engines/vex/lifter.py
CHANGED
|
@@ -8,11 +8,11 @@ import cle
|
|
|
8
8
|
from archinfo import ArchARM
|
|
9
9
|
import claripy
|
|
10
10
|
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
11
|
+
from angr.engines.engine import SimEngineBase
|
|
12
|
+
from angr.state_plugins.inspect import BP_AFTER, BP_BEFORE, NO_OVERRIDE
|
|
13
|
+
from angr.misc.ux import once
|
|
14
|
+
from angr.errors import SimEngineError, SimTranslationError, SimError
|
|
15
|
+
from angr import sim_options as o
|
|
16
16
|
|
|
17
17
|
l = logging.getLogger(__name__)
|
|
18
18
|
|
angr/engines/vex/light/light.py
CHANGED
|
@@ -3,8 +3,8 @@ import logging
|
|
|
3
3
|
|
|
4
4
|
import pyvex
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
6
|
+
from angr.engines.engine import SimEngineBase
|
|
7
|
+
from angr.utils.constants import DEFAULT_STATEMENT
|
|
8
8
|
|
|
9
9
|
l = logging.getLogger(name=__name__)
|
|
10
10
|
|