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
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:
|
|
@@ -495,6 +487,48 @@ class SimTypeLongLong(SimTypeInt):
|
|
|
495
487
|
_base_name = "long long"
|
|
496
488
|
|
|
497
489
|
|
|
490
|
+
class SimTypeFixedSizeInt(SimTypeInt):
|
|
491
|
+
"""
|
|
492
|
+
The base class for all fixed-size (i.e., the size stays the same on all platforms) integer types. Do not
|
|
493
|
+
instantiate this class directly.
|
|
494
|
+
"""
|
|
495
|
+
|
|
496
|
+
_base_name: str = "int"
|
|
497
|
+
_fixed_size: int = 32
|
|
498
|
+
|
|
499
|
+
def c_repr(self, name=None, full=0, memo=None, indent=0):
|
|
500
|
+
out = self._base_name
|
|
501
|
+
if not self.signed:
|
|
502
|
+
out = "u" + out
|
|
503
|
+
if name is None:
|
|
504
|
+
return out
|
|
505
|
+
return f"{out} {name}"
|
|
506
|
+
|
|
507
|
+
def __repr__(self) -> str:
|
|
508
|
+
name = self._base_name
|
|
509
|
+
if not self.signed:
|
|
510
|
+
name = "u" + name
|
|
511
|
+
|
|
512
|
+
try:
|
|
513
|
+
return name + " (%d bits)" % self.size
|
|
514
|
+
except ValueError:
|
|
515
|
+
return name
|
|
516
|
+
|
|
517
|
+
@property
|
|
518
|
+
def size(self) -> int:
|
|
519
|
+
return self._fixed_size
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
class SimTypeInt128(SimTypeFixedSizeInt):
|
|
523
|
+
_base_name = "int128_t"
|
|
524
|
+
_fixed_size = 128
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
class SimTypeInt256(SimTypeFixedSizeInt):
|
|
528
|
+
_base_name = "int256_t"
|
|
529
|
+
_fixed_size = 256
|
|
530
|
+
|
|
531
|
+
|
|
498
532
|
class SimTypeChar(SimTypeReg):
|
|
499
533
|
"""
|
|
500
534
|
SimTypeChar is a type that specifies a character;
|
|
@@ -3457,7 +3491,7 @@ def parse_cpp_file(cpp_decl, with_param_names: bool = False):
|
|
|
3457
3491
|
func_decls: dict[str, SimTypeCppFunction] = {}
|
|
3458
3492
|
for the_func in h.functions:
|
|
3459
3493
|
# FIXME: We always assume that there is a "this" pointer but it is not the case for static methods.
|
|
3460
|
-
proto = cast(
|
|
3494
|
+
proto = cast(SimTypeCppFunction | None, _cpp_decl_to_type(the_func, {}, opaque_classes=True))
|
|
3461
3495
|
if proto is not None and the_func["class"]:
|
|
3462
3496
|
func_name = cast(str, the_func["class"] + "::" + the_func["name"])
|
|
3463
3497
|
proto.args = (
|
|
@@ -3557,4 +3591,3 @@ struct timeval {
|
|
|
3557
3591
|
)
|
|
3558
3592
|
|
|
3559
3593
|
from .state_plugins.view import SimMemView
|
|
3560
|
-
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
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import logging
|
|
3
4
|
|
|
4
|
-
from angr import SIM_PROCEDURES, options
|
|
5
5
|
from archinfo.arch_soot import ArchSoot, SootAddressDescriptor, SootAddressTerminator, SootArgument, SootNullConstant
|
|
6
6
|
from claripy import BVS, BVV, StringS, StringV, FSORT_FLOAT, FSORT_DOUBLE, FPV, FPS
|
|
7
7
|
from claripy.ast.fp import FP, fpToIEEEBV
|
|
8
8
|
from claripy.ast.bv import BV
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
|
|
12
|
-
from
|
|
13
|
-
from
|
|
10
|
+
from angr import SIM_PROCEDURES, options
|
|
11
|
+
|
|
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 (
|
|
14
16
|
SimSootValue_ArrayRef,
|
|
15
17
|
SimSootValue_StringRef,
|
|
16
18
|
SimSootValue_ThisRef,
|
|
17
19
|
SimSootValue_StaticFieldRef,
|
|
18
20
|
)
|
|
19
|
-
from
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
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
|
|
23
25
|
from .simos import SimOS
|
|
24
26
|
|
|
25
27
|
l = logging.getLogger("angr.simos.JavaVM")
|
|
@@ -100,16 +102,12 @@ class SimJavaVM(SimOS):
|
|
|
100
102
|
#
|
|
101
103
|
|
|
102
104
|
def state_blank(self, addr=None, **kwargs): # pylint: disable=arguments-differ
|
|
103
|
-
if not kwargs.get("mode"
|
|
105
|
+
if not kwargs.get("mode"):
|
|
104
106
|
kwargs["mode"] = self.project._default_analysis_mode
|
|
105
|
-
if not kwargs.get("arch"
|
|
107
|
+
if not kwargs.get("arch"):
|
|
106
108
|
kwargs["arch"] = self.arch
|
|
107
|
-
if not kwargs.get("os_name"
|
|
109
|
+
if not kwargs.get("os_name"):
|
|
108
110
|
kwargs["os_name"] = self.name
|
|
109
|
-
# enable support for string analysis
|
|
110
|
-
add_options = kwargs.get("add_options", set())
|
|
111
|
-
add_options.add(options.COMPOSITE_SOLVER)
|
|
112
|
-
kwargs["add_options"] = add_options
|
|
113
111
|
|
|
114
112
|
if self.is_javavm_with_jni_support:
|
|
115
113
|
# If the JNI support is enabled (i.e. JNI libs are loaded), the SimState
|
|
@@ -163,7 +161,7 @@ class SimJavaVM(SimOS):
|
|
|
163
161
|
|
|
164
162
|
# initialize class containing the current method
|
|
165
163
|
state.javavm_classloader.get_class(
|
|
166
|
-
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")
|
|
167
165
|
)
|
|
168
166
|
|
|
169
167
|
# initialize the Java environment
|
|
@@ -194,13 +192,13 @@ class SimJavaVM(SimOS):
|
|
|
194
192
|
return state
|
|
195
193
|
|
|
196
194
|
@staticmethod
|
|
197
|
-
def generate_symbolic_cmd_line_arg(state
|
|
195
|
+
def generate_symbolic_cmd_line_arg(state):
|
|
198
196
|
"""
|
|
199
197
|
Generates a new symbolic cmd line argument string.
|
|
200
198
|
:return: The string reference.
|
|
201
199
|
"""
|
|
202
200
|
str_ref = SimSootValue_StringRef(state.memory.get_new_uuid())
|
|
203
|
-
str_sym = StringS("cmd_line_arg"
|
|
201
|
+
str_sym = StringS("cmd_line_arg")
|
|
204
202
|
state.solver.add(str_sym != StringV(""))
|
|
205
203
|
state.memory.store(str_ref, str_sym)
|
|
206
204
|
return str_ref
|
|
@@ -312,7 +310,7 @@ class SimJavaVM(SimOS):
|
|
|
312
310
|
if type_ == "double":
|
|
313
311
|
return FPS(f"default_value_{type_}", FSORT_DOUBLE)
|
|
314
312
|
if type_ == "java.lang.String":
|
|
315
|
-
return SimSootValue_StringRef.new_string(state, StringS(f"default_value_{type_}"
|
|
313
|
+
return SimSootValue_StringRef.new_string(state, StringS(f"default_value_{type_}"))
|
|
316
314
|
if type_.endswith("[][]"):
|
|
317
315
|
raise NotImplementedError
|
|
318
316
|
if type_.endswith("[]"):
|
|
@@ -435,9 +433,6 @@ class SimJavaVM(SimOS):
|
|
|
435
433
|
jni_type_size = ArchSoot.sizeof.get(java_type, self.native_simos.arch.bits)
|
|
436
434
|
return SimTypeNum(size=jni_type_size)
|
|
437
435
|
|
|
438
|
-
def get_method_native_type(self, method):
|
|
439
|
-
return SimTypeFunction
|
|
440
|
-
|
|
441
436
|
@property
|
|
442
437
|
def native_arch(self):
|
|
443
438
|
"""
|
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__)
|
|
@@ -238,7 +238,7 @@ class SimLinux(SimUserland):
|
|
|
238
238
|
fs[name] = fs[name].encode("utf-8")
|
|
239
239
|
if type(fs[name]) is bytes:
|
|
240
240
|
fs[name] = claripy.BVV(fs[name])
|
|
241
|
-
if isinstance(fs[name], claripy.Bits):
|
|
241
|
+
if isinstance(fs[name], claripy.ast.Bits):
|
|
242
242
|
fs[name] = SimFile(name, content=fs[name])
|
|
243
243
|
if not isinstance(fs[name], SimFileBase):
|
|
244
244
|
raise TypeError(f"Provided fs initializer with unusable type {type(fs[name])!r}")
|
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:
|
|
@@ -149,7 +145,7 @@ class SimOS:
|
|
|
149
145
|
if type(stdin) is type:
|
|
150
146
|
stdin = stdin(name="stdin", has_end=False)
|
|
151
147
|
else:
|
|
152
|
-
if isinstance(stdin, claripy.Bits):
|
|
148
|
+
if isinstance(stdin, claripy.ast.Bits):
|
|
153
149
|
num_bytes = len(stdin) // self.project.arch.byte_width
|
|
154
150
|
else:
|
|
155
151
|
num_bytes = len(stdin)
|
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__)
|
|
@@ -422,7 +417,7 @@ class SimWindows(SimOS):
|
|
|
422
417
|
|
|
423
418
|
# let's go let's go!
|
|
424
419
|
# we want to use a true guard here. if it's not true, then it's already been added in windup.
|
|
425
|
-
successors.add_successor(exc_state, self._exception_handler, claripy.true, "Ijk_Exception")
|
|
420
|
+
successors.add_successor(exc_state, self._exception_handler, claripy.true(), "Ijk_Exception")
|
|
426
421
|
successors.processed = True
|
|
427
422
|
|
|
428
423
|
# these two methods load and store register state from a struct CONTEXT
|
angr/state_hierarchy.py
CHANGED
|
@@ -213,7 +213,7 @@ class StateHierarchy:
|
|
|
213
213
|
n()._satisfiable = False
|
|
214
214
|
try:
|
|
215
215
|
if n().state is not None:
|
|
216
|
-
n().state.add_constraints(claripy.false)
|
|
216
|
+
n().state.add_constraints(claripy.false())
|
|
217
217
|
except ReferenceError:
|
|
218
218
|
pass
|
|
219
219
|
self._graph.remove_nodes_from(all_children)
|
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?)
|