angr 9.2.118__py3-none-macosx_11_0_arm64.whl → 9.2.120__py3-none-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of angr might be problematic. Click here for more details.
- angr/__init__.py +217 -2
- angr/__main__.py +14 -4
- angr/analyses/__init__.py +54 -0
- angr/analyses/analysis.py +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.dylib +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,7 +1,7 @@
|
|
|
1
1
|
# pylint:disable=abstract-method,ungrouped-imports
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
from typing import TYPE_CHECKING
|
|
4
|
+
from typing import Any, TYPE_CHECKING
|
|
5
5
|
import re
|
|
6
6
|
import logging
|
|
7
7
|
from collections import defaultdict
|
|
@@ -9,11 +9,11 @@ from collections import defaultdict
|
|
|
9
9
|
import pyvex
|
|
10
10
|
|
|
11
11
|
from angr.analyses import ForwardAnalysis, visitors
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
12
|
+
from angr.utils.constants import is_alignment_mask
|
|
13
|
+
from angr.analyses import AnalysesHub
|
|
14
|
+
from angr.knowledge_plugins import Function
|
|
15
|
+
from angr.block import BlockNode
|
|
16
|
+
from angr.errors import SimTranslationError
|
|
17
17
|
from .analysis import Analysis
|
|
18
18
|
import contextlib
|
|
19
19
|
|
|
@@ -179,7 +179,13 @@ class FrozenStackPointerTrackerState:
|
|
|
179
179
|
|
|
180
180
|
__slots__ = "regs", "memory", "is_tracking_memory", "resilient"
|
|
181
181
|
|
|
182
|
-
def __init__(
|
|
182
|
+
def __init__(
|
|
183
|
+
self,
|
|
184
|
+
regs,
|
|
185
|
+
memory,
|
|
186
|
+
is_tracking_memory,
|
|
187
|
+
resilient,
|
|
188
|
+
):
|
|
183
189
|
self.regs = regs
|
|
184
190
|
self.memory = memory
|
|
185
191
|
self.is_tracking_memory = is_tracking_memory
|
|
@@ -193,8 +199,10 @@ class FrozenStackPointerTrackerState:
|
|
|
193
199
|
return hash((FrozenStackPointerTrackerState, self.regs, self.memory, self.is_tracking_memory))
|
|
194
200
|
return hash((FrozenStackPointerTrackerState, self.regs, self.is_tracking_memory))
|
|
195
201
|
|
|
196
|
-
def merge(
|
|
197
|
-
|
|
202
|
+
def merge(
|
|
203
|
+
self, other, addr: int, reg_merge_cache: dict[tuple[int, int], Any], mem_merge_cache: dict[tuple[int, int], Any]
|
|
204
|
+
):
|
|
205
|
+
return self.unfreeze().merge(other.unfreeze(), addr, reg_merge_cache, mem_merge_cache).freeze()
|
|
198
206
|
|
|
199
207
|
def __eq__(self, other):
|
|
200
208
|
if type(other) is FrozenStackPointerTrackerState or isinstance(other, FrozenStackPointerTrackerState):
|
|
@@ -278,16 +286,18 @@ class StackPointerTrackerState:
|
|
|
278
286
|
return hash((StackPointerTrackerState, self.regs, self.memory, self.is_tracking_memory))
|
|
279
287
|
return hash((StackPointerTrackerState, self.regs, self.is_tracking_memory))
|
|
280
288
|
|
|
281
|
-
def merge(
|
|
289
|
+
def merge(
|
|
290
|
+
self, other, addr: int, reg_merge_cache: dict[tuple[int, int], Any], mem_merge_cache: dict[tuple[int, int], Any]
|
|
291
|
+
):
|
|
282
292
|
return StackPointerTrackerState(
|
|
283
|
-
regs=_dict_merge(self.regs, other.regs, self.resilient),
|
|
284
|
-
memory=_dict_merge(self.memory, other.memory, self.resilient),
|
|
293
|
+
regs=_dict_merge(self.regs, other.regs, self.resilient, addr, reg_merge_cache),
|
|
294
|
+
memory=_dict_merge(self.memory, other.memory, self.resilient, addr, mem_merge_cache),
|
|
285
295
|
is_tracking_memory=self.is_tracking_memory and other.is_tracking_memory,
|
|
286
296
|
resilient=self.resilient or other.resilient,
|
|
287
297
|
)
|
|
288
298
|
|
|
289
299
|
|
|
290
|
-
def _dict_merge(d1, d2, resilient: bool):
|
|
300
|
+
def _dict_merge(d1, d2, resilient: bool, addr: int, merge_cache: dict[tuple[int, int], Any]):
|
|
291
301
|
all_keys = set(d1.keys()) | set(d2.keys())
|
|
292
302
|
merged = {}
|
|
293
303
|
for k in all_keys:
|
|
@@ -299,7 +309,12 @@ def _dict_merge(d1, d2, resilient: bool):
|
|
|
299
309
|
merged[k] = d1[k]
|
|
300
310
|
else: # d1[k] != d2[k]
|
|
301
311
|
if resilient and isinstance(d1[k], OffsetVal) and isinstance(d2[k], OffsetVal):
|
|
302
|
-
|
|
312
|
+
if (addr, k) in merge_cache:
|
|
313
|
+
merged[k] = merge_cache[(addr, k)]
|
|
314
|
+
else:
|
|
315
|
+
v = min(d1[k], d2[k])
|
|
316
|
+
merge_cache[(addr, k)] = v
|
|
317
|
+
merged[k] = v
|
|
303
318
|
else:
|
|
304
319
|
merged[k] = TOP
|
|
305
320
|
return merged
|
|
@@ -350,6 +365,9 @@ class StackPointerTracker(Analysis, ForwardAnalysis):
|
|
|
350
365
|
self._reg_value_at_block_start = defaultdict(dict)
|
|
351
366
|
self.cross_insn_opt = cross_insn_opt
|
|
352
367
|
self._resilient = resilient
|
|
368
|
+
# in resilience mode, cache previously merged values to ensure we reach a fixed point
|
|
369
|
+
self._reg_merge_cache = {}
|
|
370
|
+
self._mem_merge_cache = {}
|
|
353
371
|
|
|
354
372
|
if initial_reg_values:
|
|
355
373
|
self._reg_value_at_block_start[func.addr if func is not None else block.addr] = initial_reg_values
|
|
@@ -492,7 +510,7 @@ class StackPointerTracker(Analysis, ForwardAnalysis):
|
|
|
492
510
|
def _set_state(self, addr, new_val, pre_or_post):
|
|
493
511
|
previous_val = self._state_for(addr, pre_or_post)
|
|
494
512
|
if previous_val is not None:
|
|
495
|
-
new_val = previous_val.merge(new_val)
|
|
513
|
+
new_val = previous_val.merge(new_val, addr, self._reg_merge_cache, self._mem_merge_cache)
|
|
496
514
|
if addr not in self.states:
|
|
497
515
|
self.states[addr] = {}
|
|
498
516
|
self.states[addr][pre_or_post] = new_val
|
|
@@ -808,7 +826,7 @@ class StackPointerTracker(Analysis, ForwardAnalysis):
|
|
|
808
826
|
def _merge_states(self, node, *states: StackPointerTrackerState):
|
|
809
827
|
merged_state = states[0]
|
|
810
828
|
for other in states[1:]:
|
|
811
|
-
merged_state = merged_state.merge(other)
|
|
829
|
+
merged_state = merged_state.merge(other, node.addr, self._reg_merge_cache, self._mem_merge_cache)
|
|
812
830
|
return merged_state, merged_state == states[0]
|
|
813
831
|
|
|
814
832
|
def _find_callees(self, node) -> list[Function]:
|
angr/analyses/static_hooker.py
CHANGED
angr/analyses/typehoon/lifter.py
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
|
+
# pylint:disable=unused-argument,no-self-use
|
|
1
2
|
from __future__ import annotations
|
|
2
3
|
from itertools import count
|
|
3
4
|
|
|
4
|
-
from
|
|
5
|
-
from
|
|
5
|
+
from angr import sim_type
|
|
6
|
+
from angr.sim_type import SimType
|
|
6
7
|
from . import typeconsts
|
|
7
8
|
from .typeconsts import TypeConstant
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class SimTypeTempRef(sim_type.SimType):
|
|
12
|
+
"""
|
|
13
|
+
Represents a temporary reference to another type. TypeVariableReference is translated to SimTypeTempRef.
|
|
14
|
+
"""
|
|
15
|
+
|
|
11
16
|
def __init__(self, typevar):
|
|
12
17
|
super().__init__()
|
|
13
18
|
self.typevar = typevar
|
|
14
19
|
|
|
15
|
-
def c_repr(self):
|
|
20
|
+
def c_repr(self, **kwargs):
|
|
16
21
|
return "<SimTypeTempRef>"
|
|
17
22
|
|
|
18
23
|
|
|
@@ -141,7 +146,10 @@ class TypeTranslator:
|
|
|
141
146
|
return sim_type.SimTypeLongLong(signed=False).with_arch(self.arch)
|
|
142
147
|
|
|
143
148
|
def _translate_Int128(self, tc): # pylint:disable=unused-argument
|
|
144
|
-
return sim_type.
|
|
149
|
+
return sim_type.SimTypeInt128(signed=False).with_arch(self.arch)
|
|
150
|
+
|
|
151
|
+
def _translate_Int256(self, tc): # pylint:disable=unused-argument
|
|
152
|
+
return sim_type.SimTypeInt256(signed=False).with_arch(self.arch)
|
|
145
153
|
|
|
146
154
|
def _translate_TypeVariableReference(self, tc):
|
|
147
155
|
if tc.typevar in self.translated:
|
|
@@ -176,6 +184,12 @@ class TypeTranslator:
|
|
|
176
184
|
# SimType handlers
|
|
177
185
|
#
|
|
178
186
|
|
|
187
|
+
def _translate_SimTypeInt128(self, st: sim_type.SimTypeChar) -> typeconsts.Int128:
|
|
188
|
+
return typeconsts.Int128()
|
|
189
|
+
|
|
190
|
+
def _translate_SimTypeInt256(self, st: sim_type.SimTypeChar) -> typeconsts.Int256:
|
|
191
|
+
return typeconsts.Int256()
|
|
192
|
+
|
|
179
193
|
def _translate_SimTypeInt(self, st: sim_type.SimTypeInt) -> typeconsts.Int32:
|
|
180
194
|
return typeconsts.Int32()
|
|
181
195
|
|
|
@@ -220,6 +234,7 @@ TypeConstHandlers = {
|
|
|
220
234
|
typeconsts.Int32: TypeTranslator._translate_Int32,
|
|
221
235
|
typeconsts.Int64: TypeTranslator._translate_Int64,
|
|
222
236
|
typeconsts.Int128: TypeTranslator._translate_Int128,
|
|
237
|
+
typeconsts.Int256: TypeTranslator._translate_Int256,
|
|
223
238
|
typeconsts.TypeVariableReference: TypeTranslator._translate_TypeVariableReference,
|
|
224
239
|
}
|
|
225
240
|
|
|
@@ -230,6 +245,8 @@ SimTypeHandlers = {
|
|
|
230
245
|
sim_type.SimTypeLong: TypeTranslator._translate_SimTypeLong,
|
|
231
246
|
sim_type.SimTypeLongLong: TypeTranslator._translate_SimTypeLongLong,
|
|
232
247
|
sim_type.SimTypeChar: TypeTranslator._translate_SimTypeChar,
|
|
248
|
+
sim_type.SimTypeInt128: TypeTranslator._translate_SimTypeInt128,
|
|
249
|
+
sim_type.SimTypeInt256: TypeTranslator._translate_SimTypeInt256,
|
|
233
250
|
sim_type.SimStruct: TypeTranslator._translate_SimStruct,
|
|
234
251
|
sim_type.SimTypeArray: TypeTranslator._translate_SimTypeArray,
|
|
235
252
|
}
|
|
@@ -100,6 +100,13 @@ class Int128(Int):
|
|
|
100
100
|
return "int128"
|
|
101
101
|
|
|
102
102
|
|
|
103
|
+
class Int256(Int):
|
|
104
|
+
SIZE = 32
|
|
105
|
+
|
|
106
|
+
def __repr__(self, memo=None):
|
|
107
|
+
return "int256"
|
|
108
|
+
|
|
109
|
+
|
|
103
110
|
class FloatBase(TypeConstant):
|
|
104
111
|
def __repr__(self, memo=None):
|
|
105
112
|
return "floatbase"
|
|
@@ -282,6 +289,7 @@ def int_type(bits: int) -> Int | None:
|
|
|
282
289
|
32: Int32,
|
|
283
290
|
64: Int64,
|
|
284
291
|
128: Int128,
|
|
292
|
+
256: Int256,
|
|
285
293
|
}
|
|
286
294
|
if bits in mapping:
|
|
287
295
|
return mapping[bits]()
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
5
|
+
from angr.sim_type import SimStruct, SimTypePointer, SimTypeArray
|
|
6
|
+
from angr.errors import AngrRuntimeError
|
|
7
|
+
from angr.analyses.analysis import Analysis, AnalysesHub
|
|
8
8
|
from .simple_solver import SimpleSolver
|
|
9
9
|
from .translator import TypeTranslator
|
|
10
10
|
from .typeconsts import Struct, Pointer, TypeConstant, Array, TopType
|
|
@@ -9,11 +9,11 @@ from unique_log_filter import UniqueLogFilter
|
|
|
9
9
|
|
|
10
10
|
from angr.procedures import SIM_LIBRARIES, SIM_TYPE_COLLECTIONS
|
|
11
11
|
from angr.utils.constants import MAX_POINTSTO_BITS
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
12
|
+
from angr.calling_conventions import SimRegArg
|
|
13
|
+
from angr.sim_type import SimTypeFunction, dereference_simtype
|
|
14
|
+
from angr.engines.light import SimEngineLightAILMixin
|
|
15
|
+
from angr.analyses.typehoon import typeconsts, typevars
|
|
16
|
+
from angr.analyses.typehoon.lifter import TypeLifter
|
|
17
17
|
from .engine_base import SimEngineVRBase, RichR
|
|
18
18
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
@@ -6,13 +6,13 @@ import logging
|
|
|
6
6
|
import ailment
|
|
7
7
|
import claripy
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
9
|
+
from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
|
|
10
|
+
from angr.engines.light import SimEngineLight, ArithmeticExpression
|
|
11
|
+
from angr.errors import SimEngineError, SimMemoryMissingError
|
|
12
|
+
from angr.sim_variable import SimVariable, SimStackVariable, SimRegisterVariable, SimMemoryVariable
|
|
13
|
+
from angr.code_location import CodeLocation
|
|
14
|
+
from angr.analyses.typehoon import typevars, typeconsts
|
|
15
|
+
from angr.analyses.typehoon.typevars import TypeVariable, DerivedTypeVariable, AddN, SubN, Load, Store
|
|
16
16
|
|
|
17
17
|
if TYPE_CHECKING:
|
|
18
18
|
from .variable_recovery_base import VariableRecoveryStateBase
|
|
@@ -6,13 +6,13 @@ import claripy
|
|
|
6
6
|
import pyvex
|
|
7
7
|
from archinfo.arch_arm import is_arm_arch
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
9
|
+
from angr.errors import SimMemoryMissingError
|
|
10
|
+
from angr.calling_conventions import SimRegArg, SimStackArg, default_cc
|
|
11
|
+
from angr.engines.vex.claripy.datalayer import value as claripy_value
|
|
12
|
+
from angr.engines.light import SimEngineLightVEXMixin
|
|
13
|
+
from angr.knowledge_plugins import Function
|
|
14
|
+
from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
|
|
15
|
+
from angr.analyses.typehoon import typevars, typeconsts
|
|
16
16
|
from .engine_base import SimEngineVRBase, RichR
|
|
17
17
|
from .irsb_scanner import VEXIRSBScanner
|
|
18
18
|
|
|
@@ -254,10 +254,13 @@ class SimEngineVRVEX(
|
|
|
254
254
|
typevar = typevars.DerivedTypeVariable(r0.typevar, typevars.AddN(r1.data.concrete_value))
|
|
255
255
|
|
|
256
256
|
sum_ = r0.data + r1.data
|
|
257
|
+
tc = set()
|
|
258
|
+
if r0.typevar is not None and r1.typevar is not None:
|
|
259
|
+
tc.add(typevars.Subtype(r0.typevar, r1.typevar))
|
|
257
260
|
return RichR(
|
|
258
261
|
sum_,
|
|
259
262
|
typevar=typevar,
|
|
260
|
-
type_constraints=
|
|
263
|
+
type_constraints=tc,
|
|
261
264
|
)
|
|
262
265
|
|
|
263
266
|
def _handle_Sub(self, expr):
|
|
@@ -501,6 +504,9 @@ class SimEngineVRVEX(
|
|
|
501
504
|
def _handle_Clz(self, expr):
|
|
502
505
|
return RichR(self.state.top(expr.result_size(self.tyenv)))
|
|
503
506
|
|
|
507
|
+
def _handle_Ctz(self, expr):
|
|
508
|
+
return RichR(self.state.top(expr.result_size(self.tyenv)))
|
|
509
|
+
|
|
504
510
|
def _handle_Mull(self, expr):
|
|
505
511
|
return RichR(self.state.top(expr.result_size(self.tyenv)))
|
|
506
512
|
|
|
@@ -553,15 +559,6 @@ class SimEngineVRVEX(
|
|
|
553
559
|
_, _ = self._expr(expr.args[0]), self._expr(expr.args[1])
|
|
554
560
|
return RichR(self.state.top(expr.result_size(self.tyenv)))
|
|
555
561
|
|
|
556
|
-
def _handle_Clz(self, expr):
|
|
557
|
-
arg0 = expr.args[0]
|
|
558
|
-
expr_0 = self._expr(arg0)
|
|
559
|
-
if expr_0 is None:
|
|
560
|
-
return None
|
|
561
|
-
if self.state.is_top(expr_0.data):
|
|
562
|
-
return RichR(self.state.top(expr_0.data.size()))
|
|
563
|
-
return RichR(self.state.top(expr_0.data.size()))
|
|
564
|
-
|
|
565
562
|
_handle_CmpEQ_v = _handle_Cmp_v
|
|
566
563
|
_handle_CmpNE_v = _handle_Cmp_v
|
|
567
564
|
_handle_CmpLE_v = _handle_Cmp_v
|
|
@@ -6,11 +6,11 @@ import claripy
|
|
|
6
6
|
|
|
7
7
|
from angr.analyses import ForwardAnalysis, visitors
|
|
8
8
|
from angr.analyses import AnalysesHub
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
9
|
+
from angr.errors import SimMemoryMissingError
|
|
10
|
+
from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
|
|
11
|
+
from angr import BP, BP_AFTER
|
|
12
|
+
from angr.sim_variable import SimRegisterVariable, SimStackVariable
|
|
13
|
+
from angr.code_location import CodeLocation
|
|
14
14
|
from .variable_recovery_base import VariableRecoveryBase, VariableRecoveryStateBase
|
|
15
15
|
from .annotations import StackLocationAnnotation
|
|
16
16
|
|
|
@@ -10,13 +10,13 @@ from claripy.annotation import Annotation
|
|
|
10
10
|
from archinfo import Arch
|
|
11
11
|
from ailment.expression import BinaryOp, StackBaseOffset
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
13
|
+
from angr.utils.cowdict import DefaultChainMapCOW
|
|
14
|
+
from angr.engines.light import SpOffset
|
|
15
|
+
from angr.sim_variable import SimVariable
|
|
16
|
+
from angr.errors import AngrRuntimeError
|
|
17
|
+
from angr.storage.memory_mixins import MultiValuedMemory
|
|
18
|
+
from angr.analyses.analysis import Analysis
|
|
19
|
+
from angr.analyses.typehoon.typevars import TypeVariables, TypeVariable
|
|
20
20
|
|
|
21
21
|
if TYPE_CHECKING:
|
|
22
22
|
from angr.storage import SimMemoryObject
|
|
@@ -12,14 +12,14 @@ import ailment
|
|
|
12
12
|
from ailment.expression import VirtualVariable
|
|
13
13
|
|
|
14
14
|
import angr.errors
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
20
|
-
from
|
|
15
|
+
from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
|
|
16
|
+
from angr.block import Block
|
|
17
|
+
from angr.errors import AngrVariableRecoveryError, SimEngineError
|
|
18
|
+
from angr.knowledge_plugins import Function
|
|
19
|
+
from angr.sim_variable import SimStackVariable, SimRegisterVariable, SimVariable, SimMemoryVariable
|
|
20
|
+
from angr.engines.vex.claripy.irop import vexop_to_simop
|
|
21
21
|
from angr.analyses import ForwardAnalysis, visitors
|
|
22
|
-
from
|
|
22
|
+
from angr.analyses.typehoon.typevars import Equivalence, TypeVariable, TypeVariables
|
|
23
23
|
from .variable_recovery_base import VariableRecoveryBase, VariableRecoveryStateBase
|
|
24
24
|
from .engine_vex import SimEngineVRVEX
|
|
25
25
|
from .engine_ail import SimEngineVRAIL
|
angr/analyses/veritesting.py
CHANGED
|
@@ -5,12 +5,12 @@ from functools import cmp_to_key
|
|
|
5
5
|
|
|
6
6
|
import networkx
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
8
|
+
from angr import SIM_PROCEDURES
|
|
9
|
+
from angr import options as o
|
|
10
|
+
from angr.knowledge_base import KnowledgeBase
|
|
11
|
+
from angr.errors import AngrError, AngrCFGError
|
|
12
|
+
from angr.sim_manager import SimulationManager
|
|
13
|
+
from angr.utils.graph import shallow_reverse
|
|
14
14
|
from . import Analysis, CFGEmulated
|
|
15
15
|
|
|
16
16
|
l = logging.getLogger(name=__name__)
|
|
@@ -624,6 +624,6 @@ from angr.analyses import AnalysesHub
|
|
|
624
624
|
|
|
625
625
|
AnalysesHub.register_default("Veritesting", Veritesting)
|
|
626
626
|
|
|
627
|
-
from
|
|
628
|
-
from
|
|
627
|
+
from angr.errors import SimValueError, SimSolverModeError, SimError
|
|
628
|
+
from angr.sim_options import BYPASS_VERITESTING_EXCEPTIONS
|
|
629
629
|
from claripy import ClaripyError
|
angr/analyses/vfg.py
CHANGED
|
@@ -12,10 +12,10 @@ import networkx
|
|
|
12
12
|
from angr.utils.graph import GraphUtils
|
|
13
13
|
from angr.analyses import ForwardAnalysis
|
|
14
14
|
from .cfg.cfg_job_base import BlockID, FunctionKey, CFGJobBase
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
15
|
+
from angr import sim_options
|
|
16
|
+
from angr.engines.procedure import ProcedureEngine
|
|
17
|
+
from angr.engines import SimSuccessors
|
|
18
|
+
from angr.errors import (
|
|
19
19
|
AngrDelayJobNotice,
|
|
20
20
|
AngrSkipJobNotice,
|
|
21
21
|
AngrVFGError,
|
|
@@ -26,14 +26,14 @@ from ..errors import (
|
|
|
26
26
|
SimIRSBError,
|
|
27
27
|
SimError,
|
|
28
28
|
)
|
|
29
|
-
from
|
|
30
|
-
from
|
|
31
|
-
from
|
|
32
|
-
from
|
|
29
|
+
from angr.procedures import SIM_PROCEDURES
|
|
30
|
+
from angr.state_plugins.callstack import CallStack
|
|
31
|
+
from angr.analyses import AnalysesHub
|
|
32
|
+
from angr.sim_state import SimState
|
|
33
33
|
from . import Analysis, CFGEmulated
|
|
34
34
|
|
|
35
35
|
if TYPE_CHECKING:
|
|
36
|
-
from
|
|
36
|
+
from angr.knowledge_base import KnowledgeBase
|
|
37
37
|
|
|
38
38
|
l = logging.getLogger(name=__name__)
|
|
39
39
|
|
|
@@ -249,8 +249,8 @@ class VFGNode:
|
|
|
249
249
|
|
|
250
250
|
def __eq__(self, o):
|
|
251
251
|
return (
|
|
252
|
-
type(self)
|
|
253
|
-
and self.key == o.key
|
|
252
|
+
type(self) is type(o)
|
|
253
|
+
and self.key == o.key
|
|
254
254
|
and self.addr == o.addr
|
|
255
255
|
and self.state == o.state
|
|
256
256
|
and self.actions == o.actions
|
|
@@ -1508,7 +1508,7 @@ class VFG(ForwardAnalysis[SimState, VFGNode, VFGJob, BlockID], Analysis): # pyl
|
|
|
1508
1508
|
successor_state.registers.store(arch.sp_offset, reg_sp_expr)
|
|
1509
1509
|
|
|
1510
1510
|
# Clear the return value with a TOP
|
|
1511
|
-
top_si = claripy.
|
|
1511
|
+
top_si = claripy.BVS("unnamed", arch.bits)
|
|
1512
1512
|
successor_state.registers.store(arch.ret_offset, top_si)
|
|
1513
1513
|
|
|
1514
1514
|
if job.call_skipped:
|
|
@@ -1686,7 +1686,7 @@ class VFG(ForwardAnalysis[SimState, VFGNode, VFGJob, BlockID], Analysis): # pyl
|
|
|
1686
1686
|
reg_sp_expr = successor_state.registers.load(reg_sp_offset, size=arch.bytes, endness=arch.register_endness)
|
|
1687
1687
|
|
|
1688
1688
|
reg_sp_val = successor_state.solver.min(reg_sp_expr)
|
|
1689
|
-
reg_sp_si = claripy.
|
|
1689
|
+
reg_sp_si = claripy.BVV(reg_sp_val, successor_state.arch.bits)
|
|
1690
1690
|
|
|
1691
1691
|
reg_sp_val = reg_sp_val - arch.bytes # TODO: Is it OK?
|
|
1692
1692
|
new_stack_region_id = successor_state.memory.stack_id(successor_ip)
|
angr/analyses/vsa_ddg.py
CHANGED
|
@@ -5,9 +5,9 @@ from collections import defaultdict
|
|
|
5
5
|
import networkx
|
|
6
6
|
from . import Analysis, VFG
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
8
|
+
from angr.code_location import CodeLocation
|
|
9
|
+
from angr.errors import AngrDDGError
|
|
10
|
+
from angr.sim_variable import SimRegisterVariable, SimMemoryVariable
|
|
11
11
|
|
|
12
12
|
l = logging.getLogger(name=__name__)
|
|
13
13
|
|
angr/analyses/vtable.py
CHANGED
angr/analyses/xrefs.py
CHANGED
|
@@ -5,9 +5,9 @@ import claripy
|
|
|
5
5
|
import pyvex
|
|
6
6
|
|
|
7
7
|
from angr.analyses import visitors, ForwardAnalysis
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
8
|
+
from angr.knowledge_plugins.xrefs import XRef, XRefType
|
|
9
|
+
from angr.knowledge_plugins.functions.function import Function
|
|
10
|
+
from angr.engines.light import SimEngineLight, SimEngineLightVEXMixin
|
|
11
11
|
from .propagator.vex_vars import VEXTmp
|
|
12
12
|
from .propagator.values import Top
|
|
13
13
|
from . import register_analysis, PropagatorAnalysis
|
angr/angrdb/__init__.py
CHANGED
angr/angrdb/db.py
CHANGED
|
@@ -7,8 +7,8 @@ from sqlalchemy import create_engine
|
|
|
7
7
|
from sqlalchemy.orm import sessionmaker
|
|
8
8
|
from sqlalchemy.exc import DatabaseError
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
10
|
+
from angr.errors import AngrCorruptDBError, AngrIncompatibleDBError, AngrDBError
|
|
11
|
+
from angr.project import Project
|
|
12
12
|
from .models import Base, DbInformation
|
|
13
13
|
from .serializers import LoaderSerializer, KnowledgeBaseSerializer
|
|
14
14
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# pylint:disable=unused-import
|
|
2
2
|
from __future__ import annotations
|
|
3
|
-
from
|
|
4
|
-
from
|
|
3
|
+
from angr.angrdb.models import DbCFGModel
|
|
4
|
+
from angr.knowledge_plugins.cfg.cfg_model import CFGModel
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class CFGModelSerializer:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# pylint:disable=unused-import
|
|
2
2
|
from __future__ import annotations
|
|
3
|
-
from
|
|
4
|
-
from
|
|
3
|
+
from angr.angrdb.models import DbComment
|
|
4
|
+
from angr.knowledge_plugins.comments import Comments
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class CommentsSerializer:
|
angr/angrdb/serializers/funcs.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
-
from
|
|
5
|
-
from
|
|
4
|
+
from angr.knowledge_plugins import FunctionManager, Function
|
|
5
|
+
from angr.angrdb.models import DbFunction
|
|
6
6
|
|
|
7
7
|
if TYPE_CHECKING:
|
|
8
8
|
from angr.knowledge_base import KnowledgeBase
|
angr/angrdb/serializers/kb.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
from
|
|
3
|
-
from
|
|
2
|
+
from angr.knowledge_base import KnowledgeBase
|
|
3
|
+
from angr.angrdb.models import DbKnowledgeBase
|
|
4
4
|
from .cfg_model import CFGModelSerializer
|
|
5
5
|
from .funcs import FunctionManagerSerializer
|
|
6
6
|
from .xrefs import XRefsSerializer
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# pylint:disable=unused-import
|
|
2
2
|
from __future__ import annotations
|
|
3
|
-
from
|
|
4
|
-
from
|
|
3
|
+
from angr.angrdb.models import DbLabel
|
|
4
|
+
from angr.knowledge_plugins.labels import Labels
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class LabelsSerializer:
|
|
@@ -7,8 +7,8 @@ import logging
|
|
|
7
7
|
|
|
8
8
|
import cle
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
10
|
+
from angr.errors import AngrCorruptDBError, AngrDBError
|
|
11
|
+
from angr.angrdb.models import DbObject
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
_l = logging.getLogger(__name__)
|