angr 9.2.119__py3-none-win_amd64.whl → 9.2.120__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of angr might be problematic. Click here for more details.
- angr/__init__.py +217 -2
- angr/__main__.py +14 -4
- angr/analyses/__init__.py +54 -0
- angr/analyses/analysis.py +8 -8
- angr/analyses/backward_slice.py +4 -4
- angr/analyses/bindiff.py +2 -2
- angr/analyses/callee_cleanup_finder.py +1 -1
- angr/analyses/calling_convention.py +21 -15
- angr/analyses/cdg.py +1 -1
- angr/analyses/cfg/__init__.py +12 -1
- angr/analyses/cfg/cfb.py +2 -2
- angr/analyses/cfg/cfg.py +1 -1
- angr/analyses/cfg/cfg_base.py +28 -11
- angr/analyses/cfg/cfg_emulated.py +18 -18
- angr/analyses/cfg/cfg_fast.py +1 -1
- angr/analyses/cfg/cfg_fast_soot.py +5 -5
- angr/analyses/cfg/cfg_job_base.py +3 -3
- angr/analyses/cfg/indirect_jump_resolvers/__init__.py +13 -0
- angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py +1 -1
- angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py +2 -2
- angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py +4 -4
- angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +21 -18
- angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py +5 -5
- angr/analyses/cfg/indirect_jump_resolvers/resolver.py +2 -2
- angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py +1 -1
- angr/analyses/cfg_slice_to_sink/__init__.py +8 -0
- angr/analyses/class_identifier.py +2 -2
- angr/analyses/code_tagging.py +2 -2
- angr/analyses/complete_calling_conventions.py +3 -3
- angr/analyses/congruency_check.py +1 -2
- angr/analyses/data_dep/__init__.py +13 -0
- angr/analyses/data_dep/data_dependency_analysis.py +5 -5
- angr/analyses/datagraph_meta.py +1 -1
- angr/analyses/ddg.py +3 -3
- angr/analyses/decompiler/__init__.py +25 -0
- angr/analyses/decompiler/ail_simplifier.py +8 -8
- angr/analyses/decompiler/block_simplifier.py +3 -3
- angr/analyses/decompiler/callsite_maker.py +5 -3
- angr/analyses/decompiler/clinic.py +25 -26
- angr/analyses/decompiler/condition_processor.py +7 -5
- angr/analyses/decompiler/counters/__init__.py +11 -0
- angr/analyses/decompiler/decompiler.py +24 -10
- angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
- angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
- angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
- angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
- angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
- angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
- angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +7 -7
- angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
- angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
- angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
- angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
- angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
- angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +6 -6
- angr/analyses/decompiler/optimization_passes/ite_region_converter.py +2 -2
- angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +7 -3
- angr/analyses/decompiler/optimization_passes/optimization_pass.py +34 -28
- angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +2 -2
- angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +1 -1
- angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +3 -3
- angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +5 -5
- angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +1 -1
- angr/analyses/decompiler/peephole_optimizations/__init__.py +61 -19
- angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +1 -1
- angr/analyses/decompiler/presets/__init__.py +20 -0
- angr/analyses/decompiler/presets/basic.py +30 -0
- angr/analyses/decompiler/presets/fast.py +54 -0
- angr/analyses/decompiler/presets/full.py +64 -0
- angr/analyses/decompiler/presets/preset.py +37 -0
- angr/analyses/decompiler/region_identifier.py +21 -7
- angr/analyses/decompiler/region_simplifiers/__init__.py +3 -0
- angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +3 -3
- angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +3 -3
- angr/analyses/decompiler/region_simplifiers/expr_folding.py +2 -2
- angr/analyses/decompiler/region_simplifiers/goto.py +3 -3
- angr/analyses/decompiler/region_simplifiers/if_.py +2 -2
- angr/analyses/decompiler/region_simplifiers/ifelse.py +4 -4
- angr/analyses/decompiler/region_simplifiers/loop.py +4 -4
- angr/analyses/decompiler/region_simplifiers/node_address_finder.py +1 -1
- angr/analyses/decompiler/region_simplifiers/region_simplifier.py +6 -6
- angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +12 -5
- angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +3 -3
- angr/analyses/decompiler/sequence_walker.py +11 -12
- angr/analyses/decompiler/structured_codegen/__init__.py +14 -0
- angr/analyses/decompiler/structured_codegen/base.py +1 -1
- angr/analyses/decompiler/structured_codegen/c.py +13 -13
- angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
- angr/analyses/decompiler/structuring/__init__.py +11 -1
- angr/analyses/decompiler/structuring/dream.py +8 -8
- angr/analyses/decompiler/structuring/phoenix.py +6 -6
- angr/analyses/decompiler/structuring/recursive_structurer.py +7 -7
- angr/analyses/decompiler/structuring/sailr.py +2 -2
- angr/analyses/decompiler/structuring/structurer_base.py +9 -4
- angr/analyses/decompiler/structuring/structurer_nodes.py +18 -9
- angr/analyses/decompiler/utils.py +4 -2
- angr/analyses/disassembly.py +6 -6
- angr/analyses/disassembly_utils.py +1 -1
- angr/analyses/dominance_frontier.py +1 -1
- angr/analyses/find_objects_static.py +5 -5
- angr/analyses/flirt.py +3 -3
- angr/analyses/forward_analysis/__init__.py +9 -0
- angr/analyses/forward_analysis/forward_analysis.py +4 -4
- angr/analyses/forward_analysis/job_info.py +1 -1
- angr/analyses/forward_analysis/visitors/__init__.py +9 -0
- angr/analyses/forward_analysis/visitors/graph.py +2 -2
- angr/analyses/identifier/__init__.py +3 -0
- angr/analyses/identifier/custom_callable.py +2 -3
- angr/analyses/identifier/errors.py +1 -1
- angr/analyses/identifier/functions/__init__.py +4 -4
- angr/analyses/identifier/functions/atoi.py +1 -1
- angr/analyses/identifier/functions/based_atoi.py +1 -1
- angr/analyses/identifier/functions/fdprintf.py +1 -1
- angr/analyses/identifier/functions/free.py +2 -2
- angr/analyses/identifier/functions/int2str.py +1 -1
- angr/analyses/identifier/functions/malloc.py +2 -2
- angr/analyses/identifier/functions/memcmp.py +1 -1
- angr/analyses/identifier/functions/memcpy.py +3 -3
- angr/analyses/identifier/functions/memset.py +1 -1
- angr/analyses/identifier/functions/printf.py +1 -1
- angr/analyses/identifier/functions/recv_until.py +2 -2
- angr/analyses/identifier/functions/skip_calloc.py +2 -2
- angr/analyses/identifier/functions/skip_realloc.py +2 -2
- angr/analyses/identifier/functions/skip_recv_n.py +1 -1
- angr/analyses/identifier/functions/snprintf.py +1 -1
- angr/analyses/identifier/functions/sprintf.py +1 -1
- angr/analyses/identifier/functions/strcmp.py +1 -1
- angr/analyses/identifier/functions/strcpy.py +1 -1
- angr/analyses/identifier/functions/strlen.py +1 -1
- angr/analyses/identifier/functions/strncmp.py +1 -1
- angr/analyses/identifier/functions/strncpy.py +1 -1
- angr/analyses/identifier/functions/strtol.py +1 -1
- angr/analyses/identifier/identify.py +3 -3
- angr/analyses/identifier/runner.py +6 -6
- angr/analyses/init_finder.py +1 -1
- angr/analyses/loop_analysis.py +2 -2
- angr/analyses/propagator/__init__.py +3 -0
- angr/analyses/propagator/engine_ail.py +4 -4
- angr/analyses/propagator/engine_base.py +2 -2
- angr/analyses/propagator/engine_vex.py +2 -2
- angr/analyses/propagator/outdated_definition_walker.py +3 -3
- angr/analyses/propagator/propagator.py +3 -3
- angr/analyses/propagator/top_checker_mixin.py +1 -1
- angr/analyses/proximity_graph.py +3 -3
- angr/analyses/reaching_definitions/__init__.py +6 -6
- angr/analyses/reaching_definitions/dep_graph.py +5 -5
- angr/analyses/reaching_definitions/engine_ail.py +8 -8
- angr/analyses/reaching_definitions/engine_vex.py +18 -13
- angr/analyses/reaching_definitions/heap_allocator.py +3 -3
- angr/analyses/reaching_definitions/rd_state.py +4 -10
- angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
- angr/analyses/reaching_definitions/subject.py +3 -3
- angr/analyses/reassembler.py +5 -5
- angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
- angr/analyses/s_reaching_definitions/__init__.py +11 -1
- angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
- angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
- angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
- angr/analyses/stack_pointer_tracker.py +5 -5
- angr/analyses/static_hooker.py +2 -2
- angr/analyses/typehoon/__init__.py +3 -0
- angr/analyses/typehoon/lifter.py +1 -1
- angr/analyses/typehoon/translator.py +2 -2
- angr/analyses/typehoon/typehoon.py +3 -3
- angr/analyses/variable_recovery/__init__.py +6 -0
- angr/analyses/variable_recovery/engine_ail.py +5 -5
- angr/analyses/variable_recovery/engine_base.py +7 -7
- angr/analyses/variable_recovery/engine_vex.py +7 -7
- angr/analyses/variable_recovery/variable_recovery.py +5 -5
- angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
- angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
- angr/analyses/veritesting.py +8 -8
- angr/analyses/vfg.py +13 -13
- angr/analyses/vsa_ddg.py +3 -3
- angr/analyses/vtable.py +1 -1
- angr/analyses/xrefs.py +3 -3
- angr/angrdb/__init__.py +3 -0
- angr/angrdb/db.py +2 -2
- angr/angrdb/serializers/__init__.py +7 -0
- angr/angrdb/serializers/cfg_model.py +2 -2
- angr/angrdb/serializers/comments.py +2 -2
- angr/angrdb/serializers/funcs.py +2 -2
- angr/angrdb/serializers/kb.py +2 -2
- angr/angrdb/serializers/labels.py +2 -2
- angr/angrdb/serializers/loader.py +2 -2
- angr/angrdb/serializers/structured_code.py +4 -4
- angr/angrdb/serializers/variables.py +3 -3
- angr/angrdb/serializers/xrefs.py +2 -2
- angr/concretization_strategies/__init__.py +17 -0
- angr/concretization_strategies/max.py +1 -1
- angr/concretization_strategies/norepeats_range.py +1 -1
- angr/distributed/__init__.py +6 -1
- angr/distributed/server.py +0 -1
- angr/distributed/worker.py +6 -4
- angr/engines/__init__.py +25 -0
- angr/engines/concrete.py +1 -2
- angr/engines/engine.py +3 -3
- angr/engines/failure.py +2 -2
- angr/engines/light/__init__.py +12 -0
- angr/engines/light/data.py +1 -1
- angr/engines/light/engine.py +6 -6
- angr/engines/pcode/__init__.py +7 -1
- angr/engines/pcode/behavior.py +1 -1
- angr/engines/pcode/cc.py +1 -1
- angr/engines/pcode/emulate.py +4 -4
- angr/engines/pcode/engine.py +3 -3
- angr/engines/pcode/lifter.py +7 -7
- angr/engines/procedure.py +3 -3
- angr/engines/soot/__init__.py +3 -0
- angr/engines/soot/engine.py +8 -8
- angr/engines/soot/expressions/__init__.py +33 -0
- angr/engines/soot/expressions/arrayref.py +1 -1
- angr/engines/soot/expressions/base.py +1 -1
- angr/engines/soot/expressions/cast.py +1 -1
- angr/engines/soot/expressions/condition.py +1 -1
- angr/engines/soot/expressions/constants.py +1 -1
- angr/engines/soot/expressions/invoke.py +2 -2
- angr/engines/soot/expressions/new.py +1 -1
- angr/engines/soot/expressions/newArray.py +1 -1
- angr/engines/soot/expressions/newMultiArray.py +1 -1
- angr/engines/soot/statements/__init__.py +16 -0
- angr/engines/soot/statements/assign.py +1 -1
- angr/engines/soot/statements/base.py +3 -3
- angr/engines/soot/values/__init__.py +14 -0
- angr/engines/soot/values/arrayref.py +1 -1
- angr/engines/soot/values/instancefieldref.py +1 -1
- angr/engines/soot/values/staticfieldref.py +1 -1
- angr/engines/soot/values/thisref.py +2 -2
- angr/engines/successors.py +7 -7
- angr/engines/syscall.py +1 -1
- angr/engines/unicorn.py +11 -11
- angr/engines/vex/__init__.py +18 -3
- angr/engines/vex/claripy/__init__.py +3 -0
- angr/engines/vex/claripy/ccall.py +1 -2
- angr/engines/vex/claripy/datalayer.py +3 -3
- angr/engines/vex/heavy/__init__.py +11 -1
- angr/engines/vex/heavy/heavy.py +6 -6
- angr/engines/vex/heavy/inspect.py +2 -2
- angr/engines/vex/heavy/resilience.py +2 -2
- angr/engines/vex/heavy/super_fastpath.py +3 -3
- angr/engines/vex/lifter.py +5 -5
- angr/engines/vex/light/__init__.py +7 -0
- angr/engines/vex/light/light.py +2 -2
- angr/engines/vex/light/slicing.py +1 -1
- angr/errors.py +0 -4
- angr/exploration_techniques/__init__.py +0 -1
- angr/exploration_techniques/bucketizer.py +9 -10
- angr/exploration_techniques/common.py +2 -2
- angr/exploration_techniques/director.py +4 -4
- angr/exploration_techniques/explorer.py +3 -3
- angr/exploration_techniques/loop_seer.py +3 -3
- angr/exploration_techniques/oppologist.py +3 -3
- angr/exploration_techniques/slicecutor.py +1 -1
- angr/exploration_techniques/spiller.py +1 -1
- angr/exploration_techniques/suggestions.py +4 -4
- angr/exploration_techniques/symbion.py +0 -1
- angr/exploration_techniques/threading.py +2 -2
- angr/exploration_techniques/tracer.py +3 -3
- angr/exploration_techniques/veritesting.py +1 -1
- angr/flirt/__init__.py +0 -1
- angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
- angr/knowledge_plugins/__init__.py +23 -1
- angr/knowledge_plugins/callsite_prototypes.py +2 -2
- angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
- angr/knowledge_plugins/cfg/cfg_model.py +6 -6
- angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
- angr/knowledge_plugins/cfg/memory_data.py +2 -2
- angr/knowledge_plugins/debug_variables.py +2 -2
- angr/knowledge_plugins/functions/__init__.py +6 -0
- angr/knowledge_plugins/functions/function.py +21 -16
- angr/knowledge_plugins/functions/function_manager.py +2 -2
- angr/knowledge_plugins/functions/function_parser.py +3 -3
- angr/knowledge_plugins/functions/soot_function.py +2 -2
- angr/knowledge_plugins/key_definitions/atoms.py +2 -2
- angr/knowledge_plugins/key_definitions/definition.py +3 -3
- angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
- angr/knowledge_plugins/key_definitions/uses.py +2 -2
- angr/knowledge_plugins/propagations/__init__.py +7 -0
- angr/knowledge_plugins/propagations/prop_value.py +1 -1
- angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
- angr/knowledge_plugins/types.py +1 -1
- angr/knowledge_plugins/variables/__init__.py +6 -0
- angr/knowledge_plugins/variables/variable_access.py +3 -3
- angr/knowledge_plugins/variables/variable_manager.py +7 -7
- angr/knowledge_plugins/xrefs/__init__.py +9 -1
- angr/knowledge_plugins/xrefs/xref.py +5 -5
- angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
- angr/lib/angr_native.dll +0 -0
- angr/misc/__init__.py +12 -2
- angr/misc/loggers.py +2 -2
- angr/procedures/__init__.py +9 -0
- angr/procedures/cgc/receive.py +2 -2
- angr/procedures/cgc/transmit.py +1 -1
- angr/procedures/definitions/__init__.py +8 -8
- angr/procedures/definitions/cgc.py +1 -1
- angr/procedures/definitions/glibc.py +2 -15
- angr/procedures/definitions/gnulib.py +2 -6
- angr/procedures/definitions/libstdcpp.py +2 -2
- angr/procedures/definitions/linux_kernel.py +2 -3
- angr/procedures/definitions/linux_loader.py +1 -1
- angr/procedures/definitions/msvcr.py +2 -2
- angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
- angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
- angr/procedures/definitions/wdk_clfs.py +3 -18
- angr/procedures/definitions/wdk_fltmgr.py +3 -18
- angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
- angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
- angr/procedures/definitions/wdk_gdi32.py +3 -18
- angr/procedures/definitions/wdk_hal.py +3 -18
- angr/procedures/definitions/wdk_ksecdd.py +3 -18
- angr/procedures/definitions/wdk_ndis.py +3 -18
- angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
- angr/procedures/definitions/wdk_offreg.py +3 -18
- angr/procedures/definitions/wdk_pshed.py +3 -18
- angr/procedures/definitions/wdk_secur32.py +3 -18
- angr/procedures/definitions/wdk_vhfum.py +3 -18
- angr/procedures/definitions/win32_aclui.py +3 -18
- angr/procedures/definitions/win32_activeds.py +3 -18
- angr/procedures/definitions/win32_advapi32.py +3 -18
- angr/procedures/definitions/win32_advpack.py +3 -18
- angr/procedures/definitions/win32_amsi.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
- angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
- angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
- angr/procedures/definitions/win32_apphelp.py +3 -18
- angr/procedures/definitions/win32_authz.py +3 -18
- angr/procedures/definitions/win32_avicap32.py +3 -18
- angr/procedures/definitions/win32_avifil32.py +3 -18
- angr/procedures/definitions/win32_avrt.py +3 -18
- angr/procedures/definitions/win32_bcp47mrm.py +3 -18
- angr/procedures/definitions/win32_bcrypt.py +3 -18
- angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
- angr/procedures/definitions/win32_bluetoothapis.py +3 -18
- angr/procedures/definitions/win32_bthprops.py +3 -3
- angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
- angr/procedures/definitions/win32_cabinet.py +3 -18
- angr/procedures/definitions/win32_certadm.py +3 -18
- angr/procedures/definitions/win32_certpoleng.py +3 -18
- angr/procedures/definitions/win32_cfgmgr32.py +3 -18
- angr/procedures/definitions/win32_chakra.py +3 -18
- angr/procedures/definitions/win32_cldapi.py +3 -18
- angr/procedures/definitions/win32_clfsw32.py +3 -18
- angr/procedures/definitions/win32_clusapi.py +3 -18
- angr/procedures/definitions/win32_comctl32.py +3 -18
- angr/procedures/definitions/win32_comdlg32.py +3 -18
- angr/procedures/definitions/win32_compstui.py +3 -18
- angr/procedures/definitions/win32_computecore.py +3 -18
- angr/procedures/definitions/win32_computenetwork.py +3 -18
- angr/procedures/definitions/win32_computestorage.py +3 -18
- angr/procedures/definitions/win32_comsvcs.py +3 -18
- angr/procedures/definitions/win32_coremessaging.py +3 -3
- angr/procedures/definitions/win32_credui.py +3 -18
- angr/procedures/definitions/win32_crypt32.py +3 -18
- angr/procedures/definitions/win32_cryptnet.py +3 -18
- angr/procedures/definitions/win32_cryptui.py +3 -18
- angr/procedures/definitions/win32_cryptxml.py +3 -18
- angr/procedures/definitions/win32_cscapi.py +3 -18
- angr/procedures/definitions/win32_d2d1.py +3 -18
- angr/procedures/definitions/win32_d3d10.py +3 -18
- angr/procedures/definitions/win32_d3d10_1.py +3 -18
- angr/procedures/definitions/win32_d3d11.py +3 -18
- angr/procedures/definitions/win32_d3d12.py +3 -18
- angr/procedures/definitions/win32_d3d9.py +3 -18
- angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
- angr/procedures/definitions/win32_d3dcsx.py +3 -18
- angr/procedures/definitions/win32_davclnt.py +3 -18
- angr/procedures/definitions/win32_dbgeng.py +3 -18
- angr/procedures/definitions/win32_dbghelp.py +3 -18
- angr/procedures/definitions/win32_dbgmodel.py +3 -18
- angr/procedures/definitions/win32_dciman32.py +3 -18
- angr/procedures/definitions/win32_dcomp.py +3 -18
- angr/procedures/definitions/win32_ddraw.py +3 -18
- angr/procedures/definitions/win32_deviceaccess.py +3 -18
- angr/procedures/definitions/win32_dflayout.py +3 -18
- angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
- angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
- angr/procedures/definitions/win32_dhcpsapi.py +3 -18
- angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
- angr/procedures/definitions/win32_dinput8.py +3 -18
- angr/procedures/definitions/win32_directml.py +3 -18
- angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
- angr/procedures/definitions/win32_dnsapi.py +3 -18
- angr/procedures/definitions/win32_drt.py +3 -18
- angr/procedures/definitions/win32_drtprov.py +3 -18
- angr/procedures/definitions/win32_drttransport.py +3 -18
- angr/procedures/definitions/win32_dsound.py +3 -18
- angr/procedures/definitions/win32_dsparse.py +3 -18
- angr/procedures/definitions/win32_dsprop.py +3 -18
- angr/procedures/definitions/win32_dssec.py +3 -18
- angr/procedures/definitions/win32_dsuiext.py +3 -18
- angr/procedures/definitions/win32_dwmapi.py +3 -18
- angr/procedures/definitions/win32_dwrite.py +3 -18
- angr/procedures/definitions/win32_dxcompiler.py +3 -18
- angr/procedures/definitions/win32_dxcore.py +3 -18
- angr/procedures/definitions/win32_dxgi.py +3 -18
- angr/procedures/definitions/win32_dxva2.py +3 -18
- angr/procedures/definitions/win32_eappcfg.py +3 -18
- angr/procedures/definitions/win32_eappprxy.py +3 -18
- angr/procedures/definitions/win32_efswrt.py +3 -18
- angr/procedures/definitions/win32_elscore.py +3 -18
- angr/procedures/definitions/win32_esent.py +3 -18
- angr/procedures/definitions/win32_evr.py +3 -18
- angr/procedures/definitions/win32_faultrep.py +3 -18
- angr/procedures/definitions/win32_fhsvcctl.py +3 -18
- angr/procedures/definitions/win32_firewallapi.py +3 -18
- angr/procedures/definitions/win32_fltlib.py +3 -18
- angr/procedures/definitions/win32_fontsub.py +3 -18
- angr/procedures/definitions/win32_forceinline.py +3 -18
- angr/procedures/definitions/win32_fwpuclnt.py +3 -18
- angr/procedures/definitions/win32_fxsutility.py +3 -18
- angr/procedures/definitions/win32_gdi32.py +3 -18
- angr/procedures/definitions/win32_gdiplus.py +3 -18
- angr/procedures/definitions/win32_glu32.py +3 -18
- angr/procedures/definitions/win32_gpedit.py +3 -18
- angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
- angr/procedures/definitions/win32_hid.py +3 -18
- angr/procedures/definitions/win32_hlink.py +3 -18
- angr/procedures/definitions/win32_hrtfapo.py +3 -18
- angr/procedures/definitions/win32_httpapi.py +3 -18
- angr/procedures/definitions/win32_icm32.py +3 -18
- angr/procedures/definitions/win32_icmui.py +3 -18
- angr/procedures/definitions/win32_icu.py +3 -18
- angr/procedures/definitions/win32_ieframe.py +3 -18
- angr/procedures/definitions/win32_imagehlp.py +3 -18
- angr/procedures/definitions/win32_imgutil.py +3 -18
- angr/procedures/definitions/win32_imm32.py +3 -18
- angr/procedures/definitions/win32_infocardapi.py +3 -18
- angr/procedures/definitions/win32_inkobjcore.py +3 -18
- angr/procedures/definitions/win32_iphlpapi.py +3 -18
- angr/procedures/definitions/win32_iscsidsc.py +3 -18
- angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
- angr/procedures/definitions/win32_kernel32.py +3 -18
- angr/procedures/definitions/win32_kernelbase.py +3 -18
- angr/procedures/definitions/win32_keycredmgr.py +3 -18
- angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
- angr/procedures/definitions/win32_ksuser.py +3 -18
- angr/procedures/definitions/win32_ktmw32.py +3 -18
- angr/procedures/definitions/win32_licenseprotection.py +3 -18
- angr/procedures/definitions/win32_loadperf.py +3 -18
- angr/procedures/definitions/win32_magnification.py +3 -18
- angr/procedures/definitions/win32_mapi32.py +3 -18
- angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
- angr/procedures/definitions/win32_mdmregistration.py +3 -18
- angr/procedures/definitions/win32_mf.py +3 -18
- angr/procedures/definitions/win32_mfcore.py +3 -18
- angr/procedures/definitions/win32_mfplat.py +3 -18
- angr/procedures/definitions/win32_mfplay.py +3 -18
- angr/procedures/definitions/win32_mfreadwrite.py +3 -18
- angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
- angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
- angr/procedures/definitions/win32_mgmtapi.py +3 -18
- angr/procedures/definitions/win32_mi.py +3 -18
- angr/procedures/definitions/win32_mmdevapi.py +3 -18
- angr/procedures/definitions/win32_mpr.py +3 -18
- angr/procedures/definitions/win32_mprapi.py +3 -18
- angr/procedures/definitions/win32_mqrt.py +3 -18
- angr/procedures/definitions/win32_mrmsupport.py +3 -18
- angr/procedures/definitions/win32_msacm32.py +3 -18
- angr/procedures/definitions/win32_msajapi.py +3 -18
- angr/procedures/definitions/win32_mscms.py +3 -18
- angr/procedures/definitions/win32_mscoree.py +3 -18
- angr/procedures/definitions/win32_msctfmonitor.py +3 -18
- angr/procedures/definitions/win32_msdelta.py +3 -18
- angr/procedures/definitions/win32_msdmo.py +3 -18
- angr/procedures/definitions/win32_msdrm.py +3 -18
- angr/procedures/definitions/win32_msi.py +3 -18
- angr/procedures/definitions/win32_msimg32.py +3 -18
- angr/procedures/definitions/win32_mspatcha.py +3 -18
- angr/procedures/definitions/win32_mspatchc.py +3 -18
- angr/procedures/definitions/win32_msports.py +3 -18
- angr/procedures/definitions/win32_msrating.py +3 -18
- angr/procedures/definitions/win32_mssign32.py +3 -18
- angr/procedures/definitions/win32_mstask.py +3 -18
- angr/procedures/definitions/win32_msvfw32.py +3 -18
- angr/procedures/definitions/win32_mswsock.py +3 -18
- angr/procedures/definitions/win32_mtxdm.py +3 -18
- angr/procedures/definitions/win32_ncrypt.py +3 -18
- angr/procedures/definitions/win32_ndfapi.py +3 -18
- angr/procedures/definitions/win32_netapi32.py +3 -18
- angr/procedures/definitions/win32_netsh.py +3 -18
- angr/procedures/definitions/win32_netshell.py +3 -18
- angr/procedures/definitions/win32_newdev.py +3 -18
- angr/procedures/definitions/win32_ninput.py +3 -18
- angr/procedures/definitions/win32_normaliz.py +3 -18
- angr/procedures/definitions/win32_ntdll.py +3 -18
- angr/procedures/definitions/win32_ntdllk.py +3 -18
- angr/procedures/definitions/win32_ntdsapi.py +3 -18
- angr/procedures/definitions/win32_ntlanman.py +3 -18
- angr/procedures/definitions/win32_odbc32.py +3 -18
- angr/procedures/definitions/win32_odbcbcp.py +3 -18
- angr/procedures/definitions/win32_ole32.py +3 -18
- angr/procedures/definitions/win32_oleacc.py +3 -18
- angr/procedures/definitions/win32_oleaut32.py +3 -18
- angr/procedures/definitions/win32_oledlg.py +3 -18
- angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
- angr/procedures/definitions/win32_opengl32.py +3 -18
- angr/procedures/definitions/win32_opmxbox.py +3 -18
- angr/procedures/definitions/win32_p2p.py +3 -18
- angr/procedures/definitions/win32_p2pgraph.py +3 -18
- angr/procedures/definitions/win32_pdh.py +3 -18
- angr/procedures/definitions/win32_peerdist.py +3 -18
- angr/procedures/definitions/win32_powrprof.py +3 -18
- angr/procedures/definitions/win32_prntvpt.py +3 -18
- angr/procedures/definitions/win32_projectedfslib.py +3 -18
- angr/procedures/definitions/win32_propsys.py +3 -18
- angr/procedures/definitions/win32_psapi.py +3 -18
- angr/procedures/definitions/win32_quartz.py +3 -18
- angr/procedures/definitions/win32_query.py +3 -18
- angr/procedures/definitions/win32_qwave.py +3 -18
- angr/procedures/definitions/win32_rasapi32.py +3 -18
- angr/procedures/definitions/win32_rasdlg.py +3 -18
- angr/procedures/definitions/win32_resutils.py +3 -18
- angr/procedures/definitions/win32_rometadata.py +3 -3
- angr/procedures/definitions/win32_rpcns4.py +3 -18
- angr/procedures/definitions/win32_rpcproxy.py +3 -18
- angr/procedures/definitions/win32_rpcrt4.py +3 -18
- angr/procedures/definitions/win32_rstrtmgr.py +3 -18
- angr/procedures/definitions/win32_rtm.py +3 -18
- angr/procedures/definitions/win32_rtutils.py +3 -18
- angr/procedures/definitions/win32_rtworkq.py +3 -18
- angr/procedures/definitions/win32_sas.py +3 -18
- angr/procedures/definitions/win32_scarddlg.py +3 -18
- angr/procedures/definitions/win32_schannel.py +3 -18
- angr/procedures/definitions/win32_sechost.py +3 -18
- angr/procedures/definitions/win32_secur32.py +3 -18
- angr/procedures/definitions/win32_sensapi.py +3 -18
- angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
- angr/procedures/definitions/win32_setupapi.py +3 -18
- angr/procedures/definitions/win32_sfc.py +3 -18
- angr/procedures/definitions/win32_shdocvw.py +3 -18
- angr/procedures/definitions/win32_shell32.py +3 -18
- angr/procedures/definitions/win32_shlwapi.py +3 -18
- angr/procedures/definitions/win32_slc.py +3 -18
- angr/procedures/definitions/win32_slcext.py +3 -18
- angr/procedures/definitions/win32_slwga.py +3 -18
- angr/procedures/definitions/win32_snmpapi.py +3 -18
- angr/procedures/definitions/win32_spoolss.py +3 -18
- angr/procedures/definitions/win32_srclient.py +3 -18
- angr/procedures/definitions/win32_srpapi.py +3 -18
- angr/procedures/definitions/win32_sspicli.py +3 -18
- angr/procedures/definitions/win32_sti.py +3 -18
- angr/procedures/definitions/win32_t2embed.py +3 -18
- angr/procedures/definitions/win32_tapi32.py +3 -18
- angr/procedures/definitions/win32_tbs.py +3 -18
- angr/procedures/definitions/win32_tdh.py +3 -18
- angr/procedures/definitions/win32_tokenbinding.py +3 -18
- angr/procedures/definitions/win32_traffic.py +3 -18
- angr/procedures/definitions/win32_txfw32.py +3 -18
- angr/procedures/definitions/win32_ualapi.py +3 -18
- angr/procedures/definitions/win32_uiautomationcore.py +3 -18
- angr/procedures/definitions/win32_urlmon.py +3 -18
- angr/procedures/definitions/win32_user32.py +4 -19
- angr/procedures/definitions/win32_userenv.py +3 -18
- angr/procedures/definitions/win32_usp10.py +3 -18
- angr/procedures/definitions/win32_uxtheme.py +3 -18
- angr/procedures/definitions/win32_verifier.py +3 -18
- angr/procedures/definitions/win32_version.py +3 -18
- angr/procedures/definitions/win32_vertdll.py +3 -18
- angr/procedures/definitions/win32_virtdisk.py +3 -18
- angr/procedures/definitions/win32_vmdevicehost.py +3 -18
- angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
- angr/procedures/definitions/win32_vssapi.py +3 -18
- angr/procedures/definitions/win32_wcmapi.py +3 -18
- angr/procedures/definitions/win32_wdsbp.py +3 -18
- angr/procedures/definitions/win32_wdsclientapi.py +3 -18
- angr/procedures/definitions/win32_wdsmc.py +3 -18
- angr/procedures/definitions/win32_wdspxe.py +3 -18
- angr/procedures/definitions/win32_wdstptc.py +3 -18
- angr/procedures/definitions/win32_webauthn.py +3 -18
- angr/procedures/definitions/win32_webservices.py +3 -18
- angr/procedures/definitions/win32_websocket.py +3 -18
- angr/procedures/definitions/win32_wecapi.py +3 -18
- angr/procedures/definitions/win32_wer.py +3 -18
- angr/procedures/definitions/win32_wevtapi.py +3 -18
- angr/procedures/definitions/win32_winbio.py +3 -18
- angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
- angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
- angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
- angr/procedures/definitions/win32_windows_networking.py +3 -18
- angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
- angr/procedures/definitions/win32_windowscodecs.py +3 -18
- angr/procedures/definitions/win32_winfax.py +3 -18
- angr/procedures/definitions/win32_winhttp.py +3 -18
- angr/procedures/definitions/win32_winhvemulation.py +3 -18
- angr/procedures/definitions/win32_winhvplatform.py +3 -18
- angr/procedures/definitions/win32_wininet.py +3 -18
- angr/procedures/definitions/win32_winml.py +3 -18
- angr/procedures/definitions/win32_winmm.py +3 -18
- angr/procedures/definitions/win32_winscard.py +3 -18
- angr/procedures/definitions/win32_winspool.py +3 -3
- angr/procedures/definitions/win32_winspool_drv.py +3 -18
- angr/procedures/definitions/win32_wintrust.py +3 -18
- angr/procedures/definitions/win32_winusb.py +3 -18
- angr/procedures/definitions/win32_wlanapi.py +3 -18
- angr/procedures/definitions/win32_wlanui.py +3 -18
- angr/procedures/definitions/win32_wldap32.py +3 -18
- angr/procedures/definitions/win32_wldp.py +3 -18
- angr/procedures/definitions/win32_wmvcore.py +3 -18
- angr/procedures/definitions/win32_wnvapi.py +3 -18
- angr/procedures/definitions/win32_wofutil.py +3 -18
- angr/procedures/definitions/win32_ws2_32.py +3 -18
- angr/procedures/definitions/win32_wscapi.py +3 -18
- angr/procedures/definitions/win32_wsclient.py +3 -18
- angr/procedures/definitions/win32_wsdapi.py +3 -18
- angr/procedures/definitions/win32_wsmsvc.py +3 -18
- angr/procedures/definitions/win32_wsnmp32.py +3 -18
- angr/procedures/definitions/win32_wtsapi32.py +3 -18
- angr/procedures/definitions/win32_xaudio2_8.py +3 -18
- angr/procedures/definitions/win32_xinput1_4.py +3 -18
- angr/procedures/definitions/win32_xinputuap.py +3 -3
- angr/procedures/definitions/win32_xmllite.py +3 -18
- angr/procedures/definitions/win32_xolehlp.py +3 -18
- angr/procedures/definitions/win32_xpsprint.py +3 -18
- angr/procedures/glibc/scanf.py +2 -2
- angr/procedures/glibc/sscanf.py +1 -1
- angr/procedures/java/__init__.py +6 -3
- angr/procedures/java/unconstrained.py +3 -3
- angr/procedures/java_io/read.py +1 -1
- angr/procedures/java_io/write.py +1 -1
- angr/procedures/java_jni/__init__.py +4 -4
- angr/procedures/java_jni/array_operations.py +2 -2
- angr/procedures/java_jni/field_access.py +3 -3
- angr/procedures/java_jni/method_calls.py +2 -2
- angr/procedures/java_jni/object_operations.py +1 -1
- angr/procedures/java_jni/string_operations.py +1 -1
- angr/procedures/java_lang/character.py +1 -1
- angr/procedures/java_lang/double.py +1 -1
- angr/procedures/java_lang/exit.py +1 -1
- angr/procedures/java_lang/getsimplename.py +1 -1
- angr/procedures/java_lang/integer.py +2 -2
- angr/procedures/java_lang/load_library.py +1 -1
- angr/procedures/java_lang/math.py +1 -1
- angr/procedures/java_lang/string.py +3 -3
- angr/procedures/java_lang/stringbuilder.py +2 -2
- angr/procedures/java_lang/system.py +1 -1
- angr/procedures/java_util/collection.py +2 -2
- angr/procedures/java_util/iterator.py +2 -2
- angr/procedures/java_util/list.py +3 -3
- angr/procedures/java_util/map.py +3 -3
- angr/procedures/java_util/random.py +1 -1
- angr/procedures/java_util/scanner_nextline.py +2 -2
- angr/procedures/libc/fseek.py +1 -1
- angr/procedures/libc/memcpy.py +1 -1
- angr/procedures/libc/strlen.py +12 -4
- angr/procedures/libc/strncmp.py +9 -4
- angr/procedures/linux_kernel/iovec.py +3 -3
- angr/procedures/linux_kernel/mmap.py +1 -1
- angr/procedures/linux_kernel/stat.py +1 -1
- angr/procedures/linux_kernel/sysinfo.py +1 -1
- angr/procedures/posix/bzero.py +1 -1
- angr/procedures/posix/mmap.py +1 -1
- angr/procedures/posix/send.py +1 -1
- angr/procedures/posix/syslog.py +2 -3
- angr/procedures/procedure_dict.py +2 -2
- angr/procedures/stubs/format_parser.py +5 -5
- angr/procedures/tracer/random.py +1 -1
- angr/procedures/tracer/receive.py +1 -1
- angr/procedures/tracer/transmit.py +1 -1
- angr/procedures/uclibc/__uClibc_main.py +1 -1
- angr/protos/__init__.py +8 -0
- angr/sim_options.py +0 -4
- angr/sim_type.py +9 -18
- angr/simos/__init__.py +12 -0
- angr/simos/cgc.py +5 -5
- angr/simos/javavm.py +12 -12
- angr/simos/linux.py +5 -5
- angr/simos/simos.py +11 -15
- angr/simos/userland.py +3 -3
- angr/simos/windows.py +5 -10
- angr/state_plugins/__init__.py +84 -28
- angr/state_plugins/callstack.py +1 -1
- angr/state_plugins/concrete.py +3 -4
- angr/state_plugins/filesystem.py +3 -3
- angr/state_plugins/gdb.py +1 -1
- angr/state_plugins/heap/__init__.py +14 -5
- angr/state_plugins/heap/heap_base.py +5 -4
- angr/state_plugins/heap/heap_brk.py +1 -1
- angr/state_plugins/heap/heap_freelist.py +1 -1
- angr/state_plugins/heap/heap_ptmalloc.py +2 -20
- angr/state_plugins/heap/utils.py +1 -1
- angr/state_plugins/history.py +2 -2
- angr/state_plugins/javavm_classloader.py +3 -3
- angr/state_plugins/jni_references.py +1 -1
- angr/state_plugins/light_registers.py +3 -3
- angr/state_plugins/log.py +1 -1
- angr/state_plugins/plugin.py +3 -2
- angr/state_plugins/posix.py +3 -3
- angr/state_plugins/preconstrainer.py +4 -4
- angr/state_plugins/scratch.py +3 -3
- angr/state_plugins/sim_action_object.py +1 -1
- angr/state_plugins/solver.py +14 -18
- angr/state_plugins/symbolizer.py +2 -3
- angr/state_plugins/uc_manager.py +1 -1
- angr/state_plugins/unicorn_engine.py +4 -4
- angr/state_plugins/view.py +1 -1
- angr/storage/__init__.py +9 -3
- angr/storage/file.py +4 -4
- angr/storage/memory_mixins/__init__.py +88 -6
- angr/storage/memory_mixins/actions_mixin.py +2 -2
- angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
- angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
- angr/storage/memory_mixins/clouseau_mixin.py +1 -1
- angr/storage/memory_mixins/convenient_mappings_mixin.py +2 -2
- angr/storage/memory_mixins/default_filler_mixin.py +3 -3
- angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
- angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
- angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
- angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
- angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
- angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
- angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
- angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
- angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +1 -1
- angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
- angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
- angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
- angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
- angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
- angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
- angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
- angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
- angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
- angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
- angr/storage/memory_mixins/simplification_mixin.py +1 -1
- angr/storage/memory_mixins/size_resolution_mixin.py +1 -1
- angr/storage/memory_mixins/slotted_memory.py +1 -1
- angr/storage/memory_mixins/smart_find_mixin.py +1 -1
- angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
- angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
- angr/storage/memory_object.py +1 -1
- angr/utils/__init__.py +12 -0
- angr/utils/enums_conv.py +1 -1
- angr/utils/library.py +2 -2
- angr/utils/mp.py +1 -1
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/METADATA +6 -7
- angr-9.2.120.dist-info/RECORD +1340 -0
- angr/analyses/s_liveness/__init__.py +0 -2
- angr/analyses/s_propagator/__init__.py +0 -2
- angr/analyses/s_reaching_definitions/s_rda.py +0 -479
- angr/knowledge_base/__init__.py +0 -2
- angr/knowledge_plugins/structured_code/__init__.py +0 -2
- angr/knowledge_plugins/sync/__init__.py +0 -2
- angr/knowledge_plugins/sync/sync_controller.py +0 -324
- angr/misc/range.py +0 -24
- angr/misc/weakpatch.py +0 -59
- angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
- angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
- angr/storage/pcap.py +0 -65
- angr/utils/typing.py +0 -18
- angr-9.2.119.dist-info/RECORD +0 -1345
- /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
- {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
angr/protos/__init__.py
CHANGED
angr/sim_options.py
CHANGED
|
@@ -232,10 +232,6 @@ KEEP_IP_SYMBOLIC = "KEEP_IP_SYMBOLIC"
|
|
|
232
232
|
# Do not try to concretize a symbolic IP. With this option, all states with symbolic IPs will be seen as unconstrained.
|
|
233
233
|
NO_IP_CONCRETIZATION = "NO_IP_CONCRETIZATION"
|
|
234
234
|
|
|
235
|
-
# Do not union values from different locations when reading from the memory for a reduced loss in precision
|
|
236
|
-
# It is only applied to SimAbstractMemory
|
|
237
|
-
KEEP_MEMORY_READS_DISCRETE = "KEEP_MEMORY_READS_DISCRETE"
|
|
238
|
-
|
|
239
235
|
# Raise a SimSegfaultError on illegal memory accesses
|
|
240
236
|
STRICT_PAGE_ACCESS = "STRICT_PAGE_ACCESS"
|
|
241
237
|
|
angr/sim_type.py
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
# pylint:disable=abstract-method,line-too-long,missing-class-docstring,wrong-import-position
|
|
2
2
|
from __future__ import annotations
|
|
3
|
-
from __future__ import annotations
|
|
4
3
|
|
|
5
4
|
import contextlib
|
|
6
|
-
from collections import OrderedDict, defaultdict, ChainMap
|
|
7
5
|
import copy
|
|
8
6
|
import re
|
|
9
|
-
from typing import Literal, Optional, Any, Union, TYPE_CHECKING, cast, overload
|
|
10
|
-
from collections.abc import Iterable
|
|
11
7
|
import logging
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
except ImportError:
|
|
16
|
-
CppHeaderParser = None
|
|
8
|
+
from collections import OrderedDict, defaultdict, ChainMap
|
|
9
|
+
from collections.abc import Iterable
|
|
10
|
+
from typing import Literal, Any, TYPE_CHECKING, cast, overload
|
|
17
11
|
|
|
18
12
|
from archinfo import Endness, Arch
|
|
19
13
|
import claripy
|
|
14
|
+
import CppHeaderParser
|
|
15
|
+
import pycparser
|
|
20
16
|
|
|
21
17
|
from angr.errors import AngrMissingTypeError, AngrTypeError
|
|
18
|
+
from angr.sim_state import SimState
|
|
22
19
|
from .misc.ux import deprecated
|
|
23
20
|
|
|
24
21
|
if TYPE_CHECKING:
|
|
@@ -26,12 +23,7 @@ if TYPE_CHECKING:
|
|
|
26
23
|
from angr.procedures.definitions import SimTypeCollection
|
|
27
24
|
from angr.storage.memory_mixins import _Coerce
|
|
28
25
|
|
|
29
|
-
StoreType =
|
|
30
|
-
else:
|
|
31
|
-
try:
|
|
32
|
-
import pycparser
|
|
33
|
-
except ImportError:
|
|
34
|
-
pycparser = None
|
|
26
|
+
StoreType = _Coerce
|
|
35
27
|
|
|
36
28
|
|
|
37
29
|
l = logging.getLogger(name=__name__)
|
|
@@ -69,7 +61,7 @@ class SimType:
|
|
|
69
61
|
return self_type.__eq__(other, avoid=avoid) # pylint:disable=unnecessary-dunder-call
|
|
70
62
|
|
|
71
63
|
def __eq__(self, other, avoid=None):
|
|
72
|
-
if type(self)
|
|
64
|
+
if type(self) is not type(other):
|
|
73
65
|
return False
|
|
74
66
|
|
|
75
67
|
for attr in self._fields:
|
|
@@ -3499,7 +3491,7 @@ def parse_cpp_file(cpp_decl, with_param_names: bool = False):
|
|
|
3499
3491
|
func_decls: dict[str, SimTypeCppFunction] = {}
|
|
3500
3492
|
for the_func in h.functions:
|
|
3501
3493
|
# FIXME: We always assume that there is a "this" pointer but it is not the case for static methods.
|
|
3502
|
-
proto = cast(
|
|
3494
|
+
proto = cast(SimTypeCppFunction | None, _cpp_decl_to_type(the_func, {}, opaque_classes=True))
|
|
3503
3495
|
if proto is not None and the_func["class"]:
|
|
3504
3496
|
func_name = cast(str, the_func["class"] + "::" + the_func["name"])
|
|
3505
3497
|
proto.args = (
|
|
@@ -3599,4 +3591,3 @@ struct timeval {
|
|
|
3599
3591
|
)
|
|
3600
3592
|
|
|
3601
3593
|
from .state_plugins.view import SimMemView
|
|
3602
|
-
from .state_plugins import SimState
|
angr/simos/__init__.py
CHANGED
|
@@ -31,3 +31,15 @@ register_simos("windows", SimWindows)
|
|
|
31
31
|
register_simos("cgc", SimCGC)
|
|
32
32
|
register_simos("javavm", SimJavaVM)
|
|
33
33
|
register_simos("snimmuc_nxp", SimSnimmucNxp)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
__all__ = (
|
|
37
|
+
"SimOS",
|
|
38
|
+
"SimUserland",
|
|
39
|
+
"SimLinux",
|
|
40
|
+
"SimCGC",
|
|
41
|
+
"SimWindows",
|
|
42
|
+
"SimJavaVM",
|
|
43
|
+
"SimSnimmucNxp",
|
|
44
|
+
"os_mapping",
|
|
45
|
+
)
|
angr/simos/cgc.py
CHANGED
|
@@ -4,9 +4,9 @@ import logging
|
|
|
4
4
|
import claripy
|
|
5
5
|
from cle import BackedCGC
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
7
|
+
from angr.procedures import SIM_LIBRARIES as L
|
|
8
|
+
from angr.state_plugins import SimActionData
|
|
9
|
+
from angr import sim_options as o
|
|
10
10
|
from .userland import SimUserland
|
|
11
11
|
|
|
12
12
|
_l = logging.getLogger(name=__name__)
|
|
@@ -27,9 +27,9 @@ class SimCGC(SimUserland):
|
|
|
27
27
|
:param allocate_stack_page_count: Number of pages to pre-allocate for stack
|
|
28
28
|
"""
|
|
29
29
|
# default stack as specified in the cgc abi
|
|
30
|
-
if kwargs.get("stack_end"
|
|
30
|
+
if kwargs.get("stack_end") is None:
|
|
31
31
|
kwargs["stack_end"] = 0xBAAAB000
|
|
32
|
-
if kwargs.get("stack_size"
|
|
32
|
+
if kwargs.get("stack_size") is None:
|
|
33
33
|
kwargs["stack_size"] = 1024 * 1024 * 8
|
|
34
34
|
|
|
35
35
|
s = super().state_blank(**kwargs) # pylint:disable=invalid-name
|
angr/simos/javavm.py
CHANGED
|
@@ -9,19 +9,19 @@ from claripy.ast.bv import BV
|
|
|
9
9
|
|
|
10
10
|
from angr import SIM_PROCEDURES, options
|
|
11
11
|
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
12
|
+
from angr.calling_conventions import default_cc, SimCCSoot
|
|
13
|
+
from angr.engines.soot import SootMixin
|
|
14
|
+
from angr.engines.soot.expressions import SimSootExpr_NewArray
|
|
15
|
+
from angr.engines.soot.values import (
|
|
16
16
|
SimSootValue_ArrayRef,
|
|
17
17
|
SimSootValue_StringRef,
|
|
18
18
|
SimSootValue_ThisRef,
|
|
19
19
|
SimSootValue_StaticFieldRef,
|
|
20
20
|
)
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
21
|
+
from angr.errors import AngrSimOSError
|
|
22
|
+
from angr.procedures.java_jni import jni_functions
|
|
23
|
+
from angr.sim_state import SimState
|
|
24
|
+
from angr.sim_type import SimTypeFunction, SimTypeNum
|
|
25
25
|
from .simos import SimOS
|
|
26
26
|
|
|
27
27
|
l = logging.getLogger("angr.simos.JavaVM")
|
|
@@ -102,11 +102,11 @@ class SimJavaVM(SimOS):
|
|
|
102
102
|
#
|
|
103
103
|
|
|
104
104
|
def state_blank(self, addr=None, **kwargs): # pylint: disable=arguments-differ
|
|
105
|
-
if not kwargs.get("mode"
|
|
105
|
+
if not kwargs.get("mode"):
|
|
106
106
|
kwargs["mode"] = self.project._default_analysis_mode
|
|
107
|
-
if not kwargs.get("arch"
|
|
107
|
+
if not kwargs.get("arch"):
|
|
108
108
|
kwargs["arch"] = self.arch
|
|
109
|
-
if not kwargs.get("os_name"
|
|
109
|
+
if not kwargs.get("os_name"):
|
|
110
110
|
kwargs["os_name"] = self.name
|
|
111
111
|
|
|
112
112
|
if self.is_javavm_with_jni_support:
|
|
@@ -161,7 +161,7 @@ class SimJavaVM(SimOS):
|
|
|
161
161
|
|
|
162
162
|
# initialize class containing the current method
|
|
163
163
|
state.javavm_classloader.get_class(
|
|
164
|
-
state.addr.method.class_name, init_class=True, step_func=kwargs.get("step_function"
|
|
164
|
+
state.addr.method.class_name, init_class=True, step_func=kwargs.get("step_function")
|
|
165
165
|
)
|
|
166
166
|
|
|
167
167
|
# initialize the Java environment
|
angr/simos/linux.py
CHANGED
|
@@ -11,11 +11,11 @@ from cle.address_translator import AT
|
|
|
11
11
|
from cle.backends.elf.relocation.arm64 import R_AARCH64_TLSDESC
|
|
12
12
|
from archinfo import ArchX86, ArchAMD64, ArchARM, ArchAArch64, ArchMIPS32, ArchMIPS64, ArchPPC32, ArchPPC64
|
|
13
13
|
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
14
|
+
from angr.tablespecs import StringTableSpec
|
|
15
|
+
from angr.procedures import SIM_PROCEDURES as P, SIM_LIBRARIES as L
|
|
16
|
+
from angr.state_plugins import SimFilesystem, SimHostFilesystem
|
|
17
|
+
from angr.storage.file import SimFile, SimFileBase
|
|
18
|
+
from angr.errors import AngrSyscallError
|
|
19
19
|
from .userland import SimUserland
|
|
20
20
|
|
|
21
21
|
_l = logging.getLogger(name=__name__)
|
angr/simos/simos.py
CHANGED
|
@@ -6,17 +6,13 @@ from archinfo import ArchMIPS32, ArchS390X
|
|
|
6
6
|
import claripy
|
|
7
7
|
|
|
8
8
|
import angr
|
|
9
|
-
from
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from ..calling_conventions import default_cc
|
|
17
|
-
from ..procedures import SIM_PROCEDURES as P
|
|
18
|
-
from .. import sim_options as o
|
|
19
|
-
from ..storage.file import SimFileStream, SimFileBase
|
|
9
|
+
from angr.errors import AngrCallableError, AngrCallableMultistateError, AngrSimOSError
|
|
10
|
+
from angr.sim_state import SimState
|
|
11
|
+
from angr.state_plugins import SimSystemPosix
|
|
12
|
+
from angr.calling_conventions import default_cc
|
|
13
|
+
from angr.procedures import SIM_PROCEDURES as P
|
|
14
|
+
from angr import sim_options as o
|
|
15
|
+
from angr.storage.file import SimFileStream, SimFileBase
|
|
20
16
|
|
|
21
17
|
|
|
22
18
|
_l = logging.getLogger(name=__name__)
|
|
@@ -112,20 +108,20 @@ class SimOS:
|
|
|
112
108
|
Any additional arguments will be passed to the SimState constructor
|
|
113
109
|
"""
|
|
114
110
|
# TODO: move ALL of this into the SimState constructor
|
|
115
|
-
if kwargs.get("mode"
|
|
111
|
+
if kwargs.get("mode") is None:
|
|
116
112
|
kwargs["mode"] = self.project._default_analysis_mode
|
|
117
113
|
if permissions_backer is not None:
|
|
118
114
|
kwargs["permissions_map"] = permissions_backer[1]
|
|
119
115
|
kwargs["default_permissions"] = 7 if permissions_backer[0] else 3
|
|
120
|
-
if kwargs.get("cle_memory_backer"
|
|
116
|
+
if kwargs.get("cle_memory_backer") is None:
|
|
121
117
|
kwargs["cle_memory_backer"] = self.project.loader
|
|
122
|
-
if kwargs.get("os_name"
|
|
118
|
+
if kwargs.get("os_name") is None:
|
|
123
119
|
kwargs["os_name"] = self.name
|
|
124
120
|
actual_stack_end = stack_end
|
|
125
121
|
if stack_end is None:
|
|
126
122
|
stack_end = self.arch.initial_sp
|
|
127
123
|
|
|
128
|
-
if kwargs.get("permissions_map"
|
|
124
|
+
if kwargs.get("permissions_map") is None:
|
|
129
125
|
# just a dict of address ranges to permission bits
|
|
130
126
|
permission_map = {}
|
|
131
127
|
for obj in self.project.loader.all_objects:
|
angr/simos/userland.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
import logging
|
|
3
3
|
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from
|
|
4
|
+
from angr.calling_conventions import SYSCALL_CC, SimCCSyscall
|
|
5
|
+
from angr.errors import AngrUnsupportedSyscallError, SimSolverError
|
|
6
|
+
from angr.procedures import SIM_PROCEDURES as P
|
|
7
7
|
from .simos import SimOS
|
|
8
8
|
|
|
9
9
|
_l = logging.getLogger(name=__name__)
|
angr/simos/windows.py
CHANGED
|
@@ -10,16 +10,11 @@ import claripy
|
|
|
10
10
|
from archinfo import ArchX86, ArchAMD64
|
|
11
11
|
import cle.backends
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
from .. import sim_options as o
|
|
20
|
-
from ..tablespecs import StringTableSpec
|
|
21
|
-
from ..procedures import SIM_LIBRARIES as L
|
|
22
|
-
from ..procedures.definitions import load_win32api_definitions
|
|
13
|
+
from angr.errors import AngrSimOSError, SimSegfaultException, SimUnsupportedError, SimZeroDivisionException
|
|
14
|
+
from angr import sim_options as o
|
|
15
|
+
from angr.tablespecs import StringTableSpec
|
|
16
|
+
from angr.procedures import SIM_LIBRARIES as L
|
|
17
|
+
from angr.procedures.definitions import load_win32api_definitions
|
|
23
18
|
from .simos import SimOS
|
|
24
19
|
|
|
25
20
|
_l = logging.getLogger(name=__name__)
|
angr/state_plugins/__init__.py
CHANGED
|
@@ -1,30 +1,86 @@
|
|
|
1
|
-
# pylint:disable=wildcard-import
|
|
2
1
|
from __future__ import annotations
|
|
3
|
-
|
|
4
|
-
from .
|
|
5
|
-
from .
|
|
6
|
-
from .
|
|
7
|
-
from .
|
|
8
|
-
from .
|
|
9
|
-
from .
|
|
10
|
-
from .
|
|
11
|
-
from .
|
|
12
|
-
from .
|
|
13
|
-
from .
|
|
14
|
-
from .
|
|
2
|
+
|
|
3
|
+
from .plugin import SimStatePlugin
|
|
4
|
+
from .libc import SimStateLibc
|
|
5
|
+
from .inspect import SimInspector, NO_OVERRIDE, BP_BEFORE, BP_AFTER, BP_BOTH, BP_IPDB, BP_IPYTHON
|
|
6
|
+
from .posix import PosixDevFS, PosixProcFS, SimSystemPosix
|
|
7
|
+
from .solver import SimSolver
|
|
8
|
+
from .light_registers import SimLightRegisters
|
|
9
|
+
from .log import SimStateLog
|
|
10
|
+
from .history import SimStateHistory
|
|
11
|
+
from .scratch import SimStateScratch
|
|
12
|
+
from .cgc import SimStateCGC
|
|
13
|
+
from .gdb import GDB
|
|
14
|
+
from .uc_manager import SimUCManager
|
|
15
15
|
from .unicorn_engine import Unicorn
|
|
16
|
-
from .sim_action import
|
|
17
|
-
from .sim_action_object import
|
|
18
|
-
from .sim_event import
|
|
19
|
-
from .callstack import
|
|
20
|
-
from .globals import
|
|
21
|
-
from .preconstrainer import
|
|
22
|
-
from .loop_data import
|
|
23
|
-
from .view import
|
|
24
|
-
from .filesystem import
|
|
25
|
-
from .heap import
|
|
26
|
-
from .concrete import
|
|
27
|
-
from .jni_references import
|
|
28
|
-
from .javavm_classloader import
|
|
29
|
-
from .symbolizer import
|
|
30
|
-
from .debug_variables import
|
|
16
|
+
from .sim_action import SimAction, SimActionExit, SimActionConstraint, SimActionOperation, SimActionData
|
|
17
|
+
from .sim_action_object import SimActionObject
|
|
18
|
+
from .sim_event import SimEvent, resource_event
|
|
19
|
+
from .callstack import CallStack
|
|
20
|
+
from .globals import SimStateGlobals
|
|
21
|
+
from .preconstrainer import SimStatePreconstrainer
|
|
22
|
+
from .loop_data import SimStateLoopData
|
|
23
|
+
from .view import SimRegNameView, SimMemView, StructMode
|
|
24
|
+
from .filesystem import Stat, SimFilesystem, SimMount, SimHostFilesystem
|
|
25
|
+
from .heap import SimHeapBase, SimHeapBrk, SimHeapLibc, SimHeapPTMalloc, PTChunk, PTChunkIterator
|
|
26
|
+
from .concrete import Concrete
|
|
27
|
+
from .jni_references import SimStateJNIReferences
|
|
28
|
+
from .javavm_classloader import SimJavaVmClassloader
|
|
29
|
+
from .symbolizer import SimSymbolizer
|
|
30
|
+
from .debug_variables import SimDebugVariable, SimDebugVariablePlugin
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
__all__ = (
|
|
34
|
+
"SimStatePlugin",
|
|
35
|
+
"SimStateLibc",
|
|
36
|
+
"SimInspector",
|
|
37
|
+
"NO_OVERRIDE",
|
|
38
|
+
"BP_BEFORE",
|
|
39
|
+
"BP_AFTER",
|
|
40
|
+
"BP_BOTH",
|
|
41
|
+
"BP_IPDB",
|
|
42
|
+
"BP_IPYTHON",
|
|
43
|
+
"PosixDevFS",
|
|
44
|
+
"PosixProcFS",
|
|
45
|
+
"SimSystemPosix",
|
|
46
|
+
"SimSolver",
|
|
47
|
+
"SimLightRegisters",
|
|
48
|
+
"SimStateLog",
|
|
49
|
+
"SimStateHistory",
|
|
50
|
+
"SimStateScratch",
|
|
51
|
+
"SimStateCGC",
|
|
52
|
+
"GDB",
|
|
53
|
+
"SimUCManager",
|
|
54
|
+
"Unicorn",
|
|
55
|
+
"SimAction",
|
|
56
|
+
"SimActionExit",
|
|
57
|
+
"SimActionConstraint",
|
|
58
|
+
"SimActionOperation",
|
|
59
|
+
"SimActionData",
|
|
60
|
+
"SimActionObject",
|
|
61
|
+
"SimEvent",
|
|
62
|
+
"resource_event",
|
|
63
|
+
"CallStack",
|
|
64
|
+
"SimStateGlobals",
|
|
65
|
+
"SimStatePreconstrainer",
|
|
66
|
+
"SimStateLoopData",
|
|
67
|
+
"SimRegNameView",
|
|
68
|
+
"SimMemView",
|
|
69
|
+
"StructMode",
|
|
70
|
+
"Stat",
|
|
71
|
+
"SimFilesystem",
|
|
72
|
+
"SimMount",
|
|
73
|
+
"SimHostFilesystem",
|
|
74
|
+
"SimHeapBase",
|
|
75
|
+
"SimHeapBrk",
|
|
76
|
+
"SimHeapLibc",
|
|
77
|
+
"SimHeapPTMalloc",
|
|
78
|
+
"PTChunk",
|
|
79
|
+
"PTChunkIterator",
|
|
80
|
+
"Concrete",
|
|
81
|
+
"SimStateJNIReferences",
|
|
82
|
+
"SimJavaVmClassloader",
|
|
83
|
+
"SimSymbolizer",
|
|
84
|
+
"SimDebugVariable",
|
|
85
|
+
"SimDebugVariablePlugin",
|
|
86
|
+
)
|
angr/state_plugins/callstack.py
CHANGED
angr/state_plugins/concrete.py
CHANGED
|
@@ -7,11 +7,10 @@ import re
|
|
|
7
7
|
import struct
|
|
8
8
|
|
|
9
9
|
from .plugin import SimStatePlugin
|
|
10
|
-
from
|
|
10
|
+
from angr.errors import SimConcreteRegisterError
|
|
11
11
|
from archinfo import ArchX86, ArchAMD64
|
|
12
12
|
|
|
13
13
|
l = logging.getLogger("state_plugin.concrete")
|
|
14
|
-
# l.setLevel(logging.DEBUG)
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
class Concrete(SimStatePlugin):
|
|
@@ -290,7 +289,7 @@ class Concrete(SimStatePlugin):
|
|
|
290
289
|
new_reloc.relocate([])
|
|
291
290
|
|
|
292
291
|
|
|
293
|
-
from
|
|
294
|
-
from
|
|
292
|
+
from angr.sim_state import SimState
|
|
293
|
+
from angr import sim_options as options
|
|
295
294
|
|
|
296
295
|
SimState.register_default("concrete", Concrete)
|
angr/state_plugins/filesystem.py
CHANGED
|
@@ -4,9 +4,9 @@ import logging
|
|
|
4
4
|
from collections import namedtuple
|
|
5
5
|
|
|
6
6
|
from .plugin import SimStatePlugin
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
7
|
+
from angr.storage.file import SimFile
|
|
8
|
+
from angr.errors import SimMergeError
|
|
9
|
+
from angr.misc.ux import once
|
|
10
10
|
|
|
11
11
|
l = logging.getLogger(name=__name__)
|
|
12
12
|
|
angr/state_plugins/gdb.py
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
# pylint:disable=wildcard-import
|
|
2
1
|
from __future__ import annotations
|
|
3
|
-
|
|
4
|
-
from .
|
|
5
|
-
from .
|
|
6
|
-
from .
|
|
2
|
+
|
|
3
|
+
from .heap_base import SimHeapBase
|
|
4
|
+
from .heap_brk import SimHeapBrk
|
|
5
|
+
from .heap_libc import SimHeapLibc
|
|
6
|
+
from .heap_ptmalloc import SimHeapPTMalloc, PTChunk, PTChunkIterator
|
|
7
|
+
|
|
8
|
+
__all__ = (
|
|
9
|
+
"SimHeapBase",
|
|
10
|
+
"SimHeapBrk",
|
|
11
|
+
"SimHeapLibc",
|
|
12
|
+
"SimHeapPTMalloc",
|
|
13
|
+
"PTChunk",
|
|
14
|
+
"PTChunkIterator",
|
|
15
|
+
)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
from ..plugin import SimStatePlugin
|
|
3
|
-
|
|
4
|
-
from ...errors import SimMemoryError
|
|
5
|
-
from .. import sim_options as opts
|
|
6
2
|
|
|
7
3
|
import logging
|
|
8
4
|
|
|
5
|
+
import angr.sim_options as opts
|
|
6
|
+
from angr.state_plugins.plugin import SimStatePlugin
|
|
7
|
+
from angr.errors import SimMemoryError
|
|
8
|
+
|
|
9
|
+
|
|
9
10
|
l = logging.getLogger("angr.state_plugins.heap.heap_base")
|
|
10
11
|
|
|
11
12
|
# TODO: derive heap location from SimOS and binary info for something more realistic (and safe?)
|
|
@@ -3,30 +3,18 @@ import logging
|
|
|
3
3
|
|
|
4
4
|
import claripy
|
|
5
5
|
|
|
6
|
-
from
|
|
6
|
+
from angr.state_plugins.plugin import SimStatePlugin
|
|
7
7
|
from .heap_freelist import SimHeapFreelist, Chunk
|
|
8
8
|
from .utils import concretize
|
|
9
|
-
from
|
|
9
|
+
from angr.errors import SimHeapError, SimMergeError, SimSolverError
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
l = logging.getLogger("angr.state_plugins.heap.heap_ptmalloc")
|
|
13
|
-
sml = logging.getLogger("angr.state_plugins.symbolic_memory")
|
|
14
13
|
|
|
15
14
|
CHUNK_FLAGS_MASK = 0x07
|
|
16
15
|
CHUNK_P_MASK = 0x01
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
# These are included as sometimes the heap will touch uninitialized locations, which normally causes a warning
|
|
20
|
-
def silence_logger():
|
|
21
|
-
level = sml.getEffectiveLevel()
|
|
22
|
-
sml.setLevel("ERROR")
|
|
23
|
-
return level
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def unsilence_logger(level):
|
|
27
|
-
sml.setLevel(level)
|
|
28
|
-
|
|
29
|
-
|
|
30
18
|
class PTChunk(Chunk):
|
|
31
19
|
"""
|
|
32
20
|
A chunk, inspired by the implementation of chunks in ptmalloc. Provides a representation of a chunk via a view into
|
|
@@ -60,11 +48,9 @@ class PTChunk(Chunk):
|
|
|
60
48
|
return chunk_size - 2 * self._chunk_size_t_size
|
|
61
49
|
|
|
62
50
|
def _set_leading_size(self, size):
|
|
63
|
-
level = silence_logger()
|
|
64
51
|
chunk_flags = (
|
|
65
52
|
self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size) & CHUNK_FLAGS_MASK
|
|
66
53
|
)
|
|
67
|
-
unsilence_logger(level)
|
|
68
54
|
self.state.memory.store(self.base + self._chunk_size_t_size, size | chunk_flags, size=self.state.arch.bytes)
|
|
69
55
|
|
|
70
56
|
def _set_trailing_size(self, size):
|
|
@@ -98,9 +84,7 @@ class PTChunk(Chunk):
|
|
|
98
84
|
|
|
99
85
|
:param is_free: if True, sets the previous chunk to be free; if False, sets it to be allocated
|
|
100
86
|
"""
|
|
101
|
-
level = silence_logger()
|
|
102
87
|
size_field = self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size)
|
|
103
|
-
unsilence_logger(level)
|
|
104
88
|
if is_free:
|
|
105
89
|
self.state.memory.store(
|
|
106
90
|
self.base + self._chunk_size_t_size, size_field & ~CHUNK_P_MASK, size=self.state.arch.bytes
|
|
@@ -550,9 +534,7 @@ class SimHeapPTMalloc(SimHeapFreelist):
|
|
|
550
534
|
return 0
|
|
551
535
|
# Copy the old data over
|
|
552
536
|
old_data_ptr = chunk.data_ptr()
|
|
553
|
-
level = silence_logger()
|
|
554
537
|
old_data = self.state.memory.load(old_data_ptr, size=old_size - 2 * self._chunk_size_t_size)
|
|
555
|
-
unsilence_logger(level)
|
|
556
538
|
self.state.memory.store(new_data_ptr, old_data)
|
|
557
539
|
self.free(old_data_ptr) # Free the old chunk
|
|
558
540
|
return new_data_ptr
|
angr/state_plugins/heap/utils.py
CHANGED
angr/state_plugins/history.py
CHANGED
|
@@ -9,8 +9,8 @@ import claripy
|
|
|
9
9
|
from claripy.ast.bv import BV
|
|
10
10
|
|
|
11
11
|
from .plugin import SimStatePlugin
|
|
12
|
-
from
|
|
13
|
-
from
|
|
12
|
+
from angr import sim_options
|
|
13
|
+
from angr.state_plugins.sim_action import SimActionObject
|
|
14
14
|
|
|
15
15
|
l = logging.getLogger(name=__name__)
|
|
16
16
|
|
|
@@ -3,9 +3,9 @@ import logging
|
|
|
3
3
|
|
|
4
4
|
from archinfo.arch_soot import SootAddressDescriptor, SootAddressTerminator, SootClassDescriptor
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
6
|
+
from angr.engines.soot.method_dispatcher import resolve_method
|
|
7
|
+
from angr.engines import UberEngine
|
|
8
|
+
from angr.sim_state import SimState
|
|
9
9
|
from .plugin import SimStatePlugin
|
|
10
10
|
|
|
11
11
|
l = logging.getLogger("angr.state_plugins.javavm_classloader")
|
|
@@ -3,9 +3,9 @@ import claripy
|
|
|
3
3
|
import logging
|
|
4
4
|
|
|
5
5
|
from .plugin import SimStatePlugin
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
6
|
+
from angr.errors import SimFastMemoryError
|
|
7
|
+
from angr.misc.ux import once
|
|
8
|
+
from angr import sim_options as options
|
|
9
9
|
|
|
10
10
|
l = logging.getLogger(__name__)
|
|
11
11
|
|
angr/state_plugins/log.py
CHANGED