angr 9.2.145__tar.gz → 9.2.147__tar.gz
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-9.2.145/angr.egg-info → angr-9.2.147}/PKG-INFO +6 -7
- {angr-9.2.145 → angr-9.2.147}/angr/__init__.py +1 -1
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/bindiff.py +343 -68
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg_arch_options.py +10 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg_base.py +39 -15
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg_fast.py +19 -3
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/engine_base.py +9 -1
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/eager_eval.py +11 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/ssailification.py +1 -1
- angr-9.2.147/angr/analyses/flirt/__init__.py +47 -0
- angr-9.2.147/angr/analyses/flirt/consts.py +160 -0
- {angr-9.2.145/angr/analyses → angr-9.2.147/angr/analyses/flirt}/flirt.py +99 -38
- angr-9.2.147/angr/analyses/flirt/flirt_function.py +20 -0
- angr-9.2.147/angr/analyses/flirt/flirt_matcher.py +351 -0
- angr-9.2.147/angr/analyses/flirt/flirt_module.py +32 -0
- angr-9.2.147/angr/analyses/flirt/flirt_node.py +23 -0
- angr-9.2.147/angr/analyses/flirt/flirt_sig.py +356 -0
- angr-9.2.147/angr/analyses/flirt/flirt_utils.py +31 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/stack_pointer_tracker.py +34 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/lifter.py +11 -1
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/simple_solver.py +9 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/translator.py +16 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/typeconsts.py +8 -8
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/vfg.py +1 -1
- {angr-9.2.145 → angr-9.2.147}/angr/block.py +6 -6
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/concretizers.py +10 -0
- {angr-9.2.145 → angr-9.2.147}/angr/flirt/__init__.py +15 -44
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/functions/function.py +4 -4
- {angr-9.2.145 → angr-9.2.147/angr.egg-info}/PKG-INFO +6 -7
- {angr-9.2.145 → angr-9.2.147}/angr.egg-info/SOURCES.txt +9 -1
- {angr-9.2.145 → angr-9.2.147}/angr.egg-info/requires.txt +5 -6
- {angr-9.2.145 → angr-9.2.147}/pyproject.toml +6 -7
- {angr-9.2.145 → angr-9.2.147}/LICENSE +0 -0
- {angr-9.2.145 → angr-9.2.147}/MANIFEST.in +0 -0
- {angr-9.2.145 → angr-9.2.147}/README.md +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/__main__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/analysis.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/backward_slice.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/binary_optimizer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/boyscout.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/callee_cleanup_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/calling_convention/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/calling_convention/calling_convention.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/calling_convention/fact_collector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/calling_convention/utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cdg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfb.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg_emulated.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg_fast_soot.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/cfg_job_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/amd64_elf_got.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/constant_value_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/default_resolvers.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/memload_resolver.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/mips_elf_got.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/propagator_utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/resolver.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/syscall_resolver.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/x86_elf_pic_plt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg_slice_to_sink/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg_slice_to_sink/cfg_slice_to_sink.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg_slice_to_sink/graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/cfg_slice_to_sink/transitions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/class_identifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/code_tagging.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/codecave.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/complete_calling_conventions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/congruency_check.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/data_dep/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/data_dep/data_dependency_analysis.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/data_dep/dep_nodes.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/data_dep/sim_act_location.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/datagraph_meta.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/ddg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ail_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ailgraph_walker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/block_io_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/block_similarity.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/block_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/callsite_maker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ccall_rewriters/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ccall_rewriters/rewriter_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ccall_rewriters/x86_ccalls.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/clinic.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/condition_processor.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/counters/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/counters/boolean_counter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/counters/call_counter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/counters/expression_counters.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/counters/seq_cf_structure_counter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/decompilation_cache.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/decompilation_options.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/decompiler.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/dephication_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/graph_dephication.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/graph_rewriting.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/graph_vvar_mapping.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/rewriting_engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/dephication/seqnode_dephication.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/empty_node_remover.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/expression_narrower.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/goto_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/graph_region.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/jump_target_collector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/jumptable_entry_condition_rewriter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/label_collector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/call_stmt_rewriter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/code_motion.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/condition_constprop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/const_derefs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/deadblock_remover.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/div_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/duplication_reverter/ail_merge_graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/duplication_reverter/errors.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/ite_region_converter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/mod_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/optimization_pass.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/return_duplicator_low.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/switch_reused_entry_rewriter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/tag_slicer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_div_const_add_a_mul_n_div_const.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_mul_const_div_shr_const.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_mul_const_sub_a.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_shl_const_sub_a.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_sub_a_div.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_sub_a_div_const_mul_const.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_sub_a_shr_const_shr_const.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/a_sub_a_sub_n.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/arm_cmpf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/basepointeroffset_add_n.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/bitwise_or_to_logical_or.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/bswap.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/constant_derefs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/extended_byte_and_mask.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/inlined_strcpy_consolidation.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/inlined_wstrcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/invert_negated_logical_conjuction_disjunction.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/one_sub_bool.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_cascading_conversions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_empty_if_body.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_noop_conversions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_bitmasks.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_conversions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_ite_branch.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_ite_comparisons.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_nots.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_reinterprets.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/rewrite_bit_extractions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/rewrite_mips_gp_loads.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/rol_ror.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/sar_to_signed_div.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/shl_to_mul.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/single_bit_cond_to_boolexpr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/single_bit_xor.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/peephole_optimizations/utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/presets/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/presets/basic.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/presets/fast.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/presets/full.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/presets/preset.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/redundant_label_remover.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_identifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/expr_folding.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/goto.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/if_.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/ifelse.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/loop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/node_address_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/region_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/region_walker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/return_maker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/seq_to_blocks.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/sequence_walker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/rewriting.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/rewriting_engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/rewriting_state.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/traversal.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/traversal_engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/ssailification/traversal_state.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/stack_item.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structured_codegen/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structured_codegen/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structured_codegen/c.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structured_codegen/dummy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structured_codegen/dwarf_import.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/dream.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/phoenix.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/recursive_structurer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/sailr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/structurer_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/structuring/structurer_nodes.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/decompiler/utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/api_obf_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/api_obf_peephole_optimizer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/api_obf_type2_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/irsb_reg_collector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/string_obf_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/string_obf_opt_passes.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/deobfuscator/string_obf_peephole_optimizer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/disassembly.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/disassembly_utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/dominance_frontier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/fcp/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/fcp/fcp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/find_objects_static.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/forward_analysis.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/job_info.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/visitors/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/visitors/call_graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/visitors/function_graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/visitors/graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/visitors/loop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/forward_analysis/visitors/single_node_graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/custom_callable.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/errors.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/func.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/atoi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/based_atoi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/fdprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/free.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/int2str.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/malloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/memcmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/memcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/memset.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/printf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/recv_until.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/skip_calloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/skip_realloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/skip_recv_n.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/snprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/sprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strcasecmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strcmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strlen.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strncmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strncpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/functions/strtol.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/identify.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/identifier/runner.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/init_finder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/loop_analysis.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/loopfinder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/patchfinder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/pathfinder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/engine_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/engine_vex.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/propagator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/top_checker_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/values.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/propagator/vex_vars.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/proximity_graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/call_trace.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/dep_graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/engine_ail.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/engine_vex.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/external_codeloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/function_handler.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/function_handler_library/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/function_handler_library/stdio.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/function_handler_library/stdlib.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/function_handler_library/string.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/function_handler_library/unistd.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/heap_allocator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/rd_initializer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/rd_state.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/reaching_definitions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reaching_definitions/subject.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/reassembler.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/s_liveness.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/s_propagator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/s_reaching_definitions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/s_reaching_definitions/s_rda_model.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/s_reaching_definitions/s_rda_view.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/s_reaching_definitions/s_reaching_definitions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/smc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/soot_class_hierarchy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/static_hooker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/dfa.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/typehoon.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/typevars.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/typehoon/variance.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/unpacker/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/unpacker/obfuscation_detector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/unpacker/packing_detector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/annotations.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/engine_ail.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/engine_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/engine_vex.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/irsb_scanner.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/variable_recovery.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/variable_recovery_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/variable_recovery/variable_recovery_fast.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/veritesting.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/vsa_ddg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/vtable.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/analyses/xrefs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/db.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/models.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/cfg_model.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/comments.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/funcs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/kb.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/labels.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/loader.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/structured_code.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/variables.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/angrdb/serializers/xrefs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/annocfg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/blade.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/callable.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/calling_conventions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/code_location.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/codenode.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/any.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/any_named.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/controlled_data.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/eval.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/logging.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/max.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/nonzero.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/nonzero_range.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/norepeats.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/norepeats_range.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/range.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/signed_add.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/single.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/solutions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/concretization_strategies/unlimited_range.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/distributed/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/distributed/server.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/distributed/worker.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/failure.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/hook.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/light/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/light/data.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/light/engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/pcode/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/pcode/behavior.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/pcode/cc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/pcode/emulate.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/pcode/engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/pcode/lifter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/procedure.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/exceptions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/arrayref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/binop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/cast.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/condition.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/constants.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/instanceOf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/instancefieldref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/invoke.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/length.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/local.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/new.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/newArray.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/newMultiArray.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/paramref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/phi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/staticfieldref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/thisref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/expressions/unsupported.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/field_dispatcher.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/method_dispatcher.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/assign.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/goto.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/identity.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/if_.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/invoke.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/return_.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/switch.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/statements/throw.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/arrayref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/constants.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/instancefieldref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/local.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/paramref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/staticfieldref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/strref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/soot/values/thisref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/successors.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/syscall.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/unicorn.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/claripy/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/claripy/ccall.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/claripy/datalayer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/claripy/irop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/actions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/dirty.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/heavy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/inspect.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/resilience.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/heavy/super_fastpath.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/lifter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/light/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/light/light.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/light/resilience.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/engines/vex/light/slicing.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/errors.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/bucketizer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/common.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/dfs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/director.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/driller_core.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/explorer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/lengthlimiter.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/local_loop_seer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/loop_seer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/manual_mergepoint.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/memory_watcher.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/oppologist.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/slicecutor.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/spiller.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/spiller_db.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/stochastic.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/stub_stasher.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/suggestions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/tech_builder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/threading.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/timeout.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/tracer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/unique.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/exploration_techniques/veritesting.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/factory.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/flirt/build_sig.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/graph_utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/keyed_region.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/callsite_prototypes.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/cfg/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/cfg/cfg_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/cfg/cfg_model.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/cfg/cfg_node.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/cfg/indirect_jump.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/cfg/memory_data.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/comments.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/custom_strings.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/data.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/debug_variables.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/functions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/functions/function_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/functions/function_parser.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/functions/soot_function.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/indirect_jumps.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/atoms.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/constants.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/definition.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/environment.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/heap_address.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/key_definition_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/live_definitions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/liveness.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/rd_model.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/tag.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/undefined.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/unknown_size.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/key_definitions/uses.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/labels.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/obfuscations.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/patches.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/plugin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/propagations/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/propagations/prop_value.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/propagations/propagation_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/propagations/propagation_model.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/propagations/states.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/structured_code.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/types.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/variables/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/variables/variable_access.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/variables/variable_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/xrefs/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/xrefs/xref.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/xrefs/xref_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/knowledge_plugins/xrefs/xref_types.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/ansi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/autoimport.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/bug_report.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/hookset.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/loggers.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/picklable_lock.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/plugins.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/telemetry.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/testing.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/misc/ux.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/advapi32/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/_terminate.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/allocate.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/deallocate.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/fdwait.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/random.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/receive.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/cgc/transmit.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/cgc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/glibc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/gnulib.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/libstdcpp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/linux_kernel.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/linux_loader.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/msvcr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/parse_syscalls_from_local_system.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/parse_win32json.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/types_win32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_clfs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_fltmgr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_fwpkclnt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_fwpuclnt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_gdi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_hal.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_ksecdd.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_ndis.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_ntoskrnl.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_offreg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_pshed.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_secur32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/wdk_vhfum.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_aclui.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_activeds.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_advapi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_advpack.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_amsi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_apphelp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_authz.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_avicap32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_avifil32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_avrt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_bcp47mrm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_bcrypt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_bcryptprimitives.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_bluetoothapis.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_bthprops.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_bthprops_cpl.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cabinet.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_certadm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_certpoleng.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cfgmgr32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_chakra.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cldapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_clfsw32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_clusapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_comctl32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_comdlg32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_compstui.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_computecore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_computenetwork.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_computestorage.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_comsvcs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_coremessaging.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_credui.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_crypt32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cryptnet.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cryptui.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cryptxml.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_cscapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d2d1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3d10.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3d10_1.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3d11.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3d12.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3d9.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3dcompiler_47.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_d3dcsx.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_davclnt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dbgeng.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dbghelp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dbgmodel.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dciman32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dcomp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ddraw.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_deviceaccess.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dflayout.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dhcpcsvc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dhcpcsvc6.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dhcpsapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_diagnosticdataquery.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dinput8.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_directml.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dmprocessxmlfiltered.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dnsapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_drt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_drtprov.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_drttransport.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dsound.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dsparse.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dsprop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dssec.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dsuiext.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dwmapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dwrite.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dxcompiler.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dxcore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dxgi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_dxva2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_eappcfg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_eappprxy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_efswrt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_elscore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_esent.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_evr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_faultrep.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_fhsvcctl.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_firewallapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_fltlib.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_fontsub.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_forceinline.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_fwpuclnt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_fxsutility.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_gdi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_gdiplus.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_glu32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_gpedit.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_hhctrl_ocx.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_hid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_hlink.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_hrtfapo.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_httpapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_icm32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_icmui.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_icu.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ieframe.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_imagehlp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_imgutil.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_imm32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_infocardapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_inkobjcore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_iphlpapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_iscsidsc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_kernel32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_kernelbase.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_keycredmgr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ksproxy_ax.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ksuser.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ktmw32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_licenseprotection.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_loadperf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_magnification.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mapi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mdmlocalmanagement.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mdmregistration.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mfcore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mfplat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mfplay.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mfreadwrite.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mfsensorgroup.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mfsrcsnk.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mgmtapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mmdevapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mpr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mprapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mqrt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mrmsupport.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msacm32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msajapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mscms.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mscoree.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msctfmonitor.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msdelta.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msdmo.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msdrm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msimg32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mspatcha.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mspatchc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msports.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msrating.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mssign32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mstask.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_msvfw32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mswsock.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_mtxdm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ncrypt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ndfapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_netapi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_netsh.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_netshell.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_newdev.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ninput.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_normaliz.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ntdll.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ntdllk.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ntdsapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ntlanman.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_odbc32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_odbcbcp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ole32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_oleacc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_oleaut32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_oledlg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ondemandconnroutehelper.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_opengl32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_opmxbox.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_p2p.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_p2pgraph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_pdh.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_peerdist.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_powrprof.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_prntvpt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_projectedfslib.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_propsys.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_psapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_quartz.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_query.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_qwave.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rasapi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rasdlg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_resutils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rometadata.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rpcns4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rpcproxy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rpcrt4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rstrtmgr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rtm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rtutils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_rtworkq.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sas.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_scarddlg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_schannel.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sechost.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_secur32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sensapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sensorsutilsv2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_setupapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sfc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_shdocvw.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_shell32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_shlwapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_slc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_slcext.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_slwga.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_snmpapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_spoolss.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_srclient.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_srpapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sspicli.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_sti.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_t2embed.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_tapi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_tbs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_tdh.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_tokenbinding.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_traffic.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_txfw32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ualapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_uiautomationcore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_urlmon.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_user32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_userenv.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_usp10.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_uxtheme.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_verifier.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_version.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_vertdll.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_virtdisk.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_vmdevicehost.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_vssapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wcmapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wdsbp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wdsclientapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wdsmc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wdspxe.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wdstptc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_webauthn.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_webservices.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_websocket.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wecapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wevtapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winbio.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_windows_ai_machinelearning.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_windows_data_pdf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_windows_media_mediacontrol.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_windows_networking.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_windows_ui_xaml.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_windowscodecs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winfax.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winhttp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winhvemulation.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winhvplatform.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wininet.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winml.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winmm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winscard.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winspool.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winspool_drv.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wintrust.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_winusb.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wlanapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wlanui.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wldap32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wldp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wmvcore.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wnvapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wofutil.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_ws2_32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wscapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wsclient.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wsdapi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wsmsvc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wsnmp32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_wtsapi32.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_xaudio2_8.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_xinput1_4.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_xinputuap.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_xmllite.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_xolehlp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/definitions/win32_xpsprint.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__ctype_b_loc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__ctype_tolower_loc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__ctype_toupper_loc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__errno_location.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__libc_init.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/__libc_start_main.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/dynamic_loading.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/scanf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/glibc/sscanf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/gnulib/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/gnulib/xalloc_die.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/gnulib/xstrtol_fatal.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java/unconstrained.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_io/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_io/read.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_io/write.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/array_operations.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/class_and_interface_operations.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/field_access.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/global_and_local_refs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/method_calls.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/not_implemented.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/object_operations.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/string_operations.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_jni/version_information.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/character.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/double.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/exit.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/getsimplename.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/integer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/load_library.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/math.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/string.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/stringbuilder.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_lang/system.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/collection.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/iterator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/list.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/map.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/random.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/java_util/scanner_nextline.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/abort.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/access.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/atoi.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/atol.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/calloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/closelog.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/err.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/error.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/exit.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fclose.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/feof.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fflush.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fgetc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fgets.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fopen.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fputc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fputs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fread.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/free.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fscanf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fseek.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/ftell.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/fwrite.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/getchar.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/getdelim.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/getegid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/geteuid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/getgid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/gets.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/getuid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/malloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/memcmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/memcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/memset.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/openlog.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/perror.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/printf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/putchar.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/puts.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/rand.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/realloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/rewind.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/scanf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/setbuf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/setvbuf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/snprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/sprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/srand.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/sscanf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/stpcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strcat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strchr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strcmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strcpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strlen.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strncat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strncmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strncpy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strnlen.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strstr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strtol.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/strtoul.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/system.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/time.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/tmpnam.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/tolower.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/toupper.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/ungetc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/vsnprintf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libc/wchar.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/_unwind_resume.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/std____throw_bad_alloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/std____throw_bad_cast.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/std____throw_length_error.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/std____throw_logic_error.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/libstdcpp/std__terminate.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/access.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/arch_prctl.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/arm_user_helpers.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/brk.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/cwd.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/fstat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/fstat64.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/futex.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/getegid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/geteuid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/getgid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/getpid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/getrlimit.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/gettid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/getuid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/iovec.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/lseek.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/mmap.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/mprotect.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/munmap.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/openat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/set_tid_address.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/sigaction.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/sigprocmask.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/stat.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/sysinfo.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/tgkill.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/time.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/uid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/uname.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/unlink.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_kernel/vsyscall.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_loader/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_loader/_dl_initial_error_catch_tsd.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_loader/_dl_rtld_lock.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_loader/sim_loader.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/linux_loader/tls.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/msvcr/__getmainargs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/msvcr/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/msvcr/_initterm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/msvcr/fmode.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/ntdll/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/ntdll/exceptions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/accept.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/bind.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/bzero.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/chroot.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/close.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/closedir.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/dup.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/fcntl.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/fdopen.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/fileno.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/fork.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/getenv.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/gethostbyname.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/getpass.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/getsockopt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/htonl.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/htons.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/inet_ntoa.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/listen.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/mmap.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/open.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/opendir.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/poll.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/pread64.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/pthread.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/pwrite64.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/read.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/readdir.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/recv.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/recvfrom.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/select.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/send.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/setsockopt.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/sigaction.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/sim_time.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/sleep.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/socket.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/strcasecmp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/strdup.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/strtok_r.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/syslog.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/tz.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/unlink.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/usleep.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/posix/write.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/procedure_dict.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/CallReturn.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/NoReturnUnconstrained.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/Nop.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/PathTerminator.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/Redirect.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/ReturnChar.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/ReturnUnconstrained.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/UnresolvableCallTarget.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/UnresolvableJumpTarget.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/UserHook.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/b64_decode.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/caller.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/crazy_scanf.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/format_parser.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/stubs/syscall_stub.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/testing/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/testing/manyargs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/testing/retreg.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/tracer/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/tracer/random.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/tracer/receive.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/tracer/transmit.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/uclibc/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/uclibc/__uClibc_main.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/EncodePointer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/ExitProcess.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/GetCommandLine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/GetCurrentProcessId.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/GetCurrentThreadId.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/GetLastInputInfo.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/GetModuleHandle.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/GetProcessAffinityMask.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/InterlockedExchange.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/IsProcessorFeaturePresent.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/VirtualAlloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/VirtualProtect.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/critical_section.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/dynamic_loading.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/file_handles.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/gethostbyname.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/heap.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/is_bad_ptr.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/local_storage.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/mutex.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/sim_time.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32/system_paths.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32_kernel/ExAllocatePool.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32_kernel/ExFreePoolWithTag.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32_kernel/__fastfail.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win32_kernel/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win_user32/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win_user32/chars.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win_user32/keyboard.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/procedures/win_user32/messagebox.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/project.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/protos/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/protos/cfg_pb2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/protos/function_pb2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/protos/primitives_pb2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/protos/variables_pb2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/protos/xrefs_pb2.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/py.typed +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/serializable.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_options.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_procedure.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_state.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_state_options.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_type.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/sim_variable.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/cgc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/javavm.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/linux.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/simos.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/snimmuc_nxp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/userland.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/windows.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/simos/xbox.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/slicer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_hierarchy.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/callstack.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/cgc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/debug_variables.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/filesystem.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/gdb.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/globals.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/heap_base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/heap_brk.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/heap_freelist.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/heap_libc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/heap_ptmalloc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/heap/utils.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/history.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/inspect.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/javavm_classloader.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/jni_references.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/libc.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/light_registers.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/log.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/loop_data.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/plugin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/posix.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/preconstrainer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/scratch.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/sim_action.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/sim_action_object.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/sim_event.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/solver.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/symbolizer.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/trace_additions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/uc_manager.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/unicorn_engine.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/state_plugins/view.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/file.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/actions_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/address_concretization_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/bvv_conversion_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/clouseau_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/conditional_store_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/convenient_mappings_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/default_filler_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/dirty_addrs_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/hex_dumper_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/javavm_memory_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/keyvalue_memory_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/label_merger_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/memory_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/multi_value_merger_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/name_resolution_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/page_backer_mixins.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/base.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/cooperation.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/history_tracking_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/ispo_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/list_page.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/multi_values.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/permissions_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/refcount_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/privileged_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/abstract_address_descriptor.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/region_data.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/simple_interface_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/simplification_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/size_resolution_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/slotted_memory.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/smart_find_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/symbolic_merger_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/top_merger_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/underconstrained_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_mixins/unwrapper_mixin.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/storage/memory_object.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/tablespecs.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/ail.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/algo.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/bits.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/constants.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/cowdict.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/cpp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/doms.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/dynamic_dictlist.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/endness.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/enums_conv.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/env.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/formatting.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/funcid.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/graph.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/lazy_import.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/library.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/loader.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/mp.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/orderedset.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/segment_list.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/ssa/__init__.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/ssa/tmp_uses_collector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/ssa/vvar_uses_collector.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/tagged_interval_map.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/timing.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/utils/types.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr/vaults.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr.egg-info/dependency_links.txt +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr.egg-info/entry_points.txt +0 -0
- {angr-9.2.145 → angr-9.2.147}/angr.egg-info/top_level.txt +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/Makefile +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/Makefile-win +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/angr_native.def +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/log.c +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/log.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/sim_unicorn.cpp +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/sim_unicorn.hpp +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/uc_macro.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/unicorn_dynamic.c +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/arm.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/arm64.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/m68k.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/mips.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/platform.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/ppc.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/riscv.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/s390x.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/sparc.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/tricore.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/unicorn.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/native/vendor/unicorn/x86.h +0 -0
- {angr-9.2.145 → angr-9.2.147}/setup.cfg +0 -0
- {angr-9.2.145 → angr-9.2.147}/setup.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/tests/test_calling_conventions.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/tests/test_cli.py +0 -0
- {angr-9.2.145 → angr-9.2.147}/tests/test_types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.147
|
|
4
4
|
Summary: A multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries
|
|
5
5
|
License: BSD-2-Clause
|
|
6
6
|
Project-URL: Homepage, https://angr.io/
|
|
@@ -17,22 +17,21 @@ Description-Content-Type: text/markdown
|
|
|
17
17
|
License-File: LICENSE
|
|
18
18
|
Requires-Dist: CppHeaderParser
|
|
19
19
|
Requires-Dist: GitPython
|
|
20
|
-
Requires-Dist: ailment==9.2.
|
|
21
|
-
Requires-Dist: archinfo==9.2.
|
|
20
|
+
Requires-Dist: ailment==9.2.147
|
|
21
|
+
Requires-Dist: archinfo==9.2.147
|
|
22
22
|
Requires-Dist: cachetools
|
|
23
23
|
Requires-Dist: capstone==5.0.3
|
|
24
24
|
Requires-Dist: cffi>=1.14.0
|
|
25
|
-
Requires-Dist: claripy==9.2.
|
|
26
|
-
Requires-Dist: cle==9.2.
|
|
25
|
+
Requires-Dist: claripy==9.2.147
|
|
26
|
+
Requires-Dist: cle==9.2.147
|
|
27
27
|
Requires-Dist: mulpyplexer
|
|
28
|
-
Requires-Dist: nampa
|
|
29
28
|
Requires-Dist: networkx!=2.8.1,>=2.0
|
|
30
29
|
Requires-Dist: protobuf>=5.28.2
|
|
31
30
|
Requires-Dist: psutil
|
|
32
31
|
Requires-Dist: pycparser>=2.18
|
|
33
32
|
Requires-Dist: pydemumble
|
|
34
33
|
Requires-Dist: pyformlang
|
|
35
|
-
Requires-Dist: pyvex==9.2.
|
|
34
|
+
Requires-Dist: pyvex==9.2.147
|
|
36
35
|
Requires-Dist: rich>=13.1.0
|
|
37
36
|
Requires-Dist: sortedcontainers
|
|
38
37
|
Requires-Dist: sympy
|
|
@@ -4,11 +4,13 @@ import math
|
|
|
4
4
|
import types
|
|
5
5
|
from collections import deque, defaultdict
|
|
6
6
|
from typing import TYPE_CHECKING
|
|
7
|
+
from functools import partial
|
|
7
8
|
|
|
8
9
|
import networkx
|
|
9
10
|
|
|
10
|
-
from angr.analyses import AnalysesHub, Analysis,
|
|
11
|
+
from angr.analyses import AnalysesHub, Analysis, CFGFast
|
|
11
12
|
from angr.errors import SimEngineError, SimMemoryError
|
|
13
|
+
from angr.knowledge_plugins.cfg.memory_data import MemoryDataSort
|
|
12
14
|
|
|
13
15
|
|
|
14
16
|
if TYPE_CHECKING:
|
|
@@ -140,6 +142,9 @@ def _is_better_match(x, y, matched_a, matched_b, attributes_dict_a, attributes_d
|
|
|
140
142
|
:param attributes_dict_b: The attributes for each element in the second set.
|
|
141
143
|
:returns: True/False
|
|
142
144
|
"""
|
|
145
|
+
if x not in attributes_dict_a or y not in attributes_dict_b:
|
|
146
|
+
return False
|
|
147
|
+
|
|
143
148
|
attributes_x = attributes_dict_a[x]
|
|
144
149
|
attributes_y = attributes_dict_b[y]
|
|
145
150
|
if x in matched_a:
|
|
@@ -162,6 +167,11 @@ def differing_constants(block_a, block_b):
|
|
|
162
167
|
:returns: Returns a list of differing constants in the form of ConstantChange, which has the offset in the
|
|
163
168
|
block and the respective constants.
|
|
164
169
|
"""
|
|
170
|
+
if block_a.size == 0 or block_b.size == 0:
|
|
171
|
+
return []
|
|
172
|
+
if not block_a.instruction_addrs or not block_b.instruction_addrs:
|
|
173
|
+
return []
|
|
174
|
+
|
|
165
175
|
statements_a = [s for s in block_a.vex.statements if s.tag != "Ist_IMark"] + [block_a.vex.next]
|
|
166
176
|
statements_b = [s for s in block_b.vex.statements if s.tag != "Ist_IMark"] + [block_b.vex.next]
|
|
167
177
|
if len(statements_a) != len(statements_b):
|
|
@@ -858,36 +868,20 @@ class BinDiff(Analysis):
|
|
|
858
868
|
This class computes the a diff between two binaries represented by angr Projects
|
|
859
869
|
"""
|
|
860
870
|
|
|
861
|
-
def __init__(self, other_project,
|
|
871
|
+
def __init__(self, other_project, cfg_a=None, cfg_b=None):
|
|
862
872
|
"""
|
|
863
873
|
:param other_project: The second project to diff
|
|
864
874
|
"""
|
|
865
|
-
l.debug("Computing cfg's")
|
|
866
|
-
|
|
867
|
-
back_traversal = not enable_advanced_backward_slicing
|
|
868
|
-
|
|
869
875
|
if cfg_a is None:
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
self.
|
|
873
|
-
|
|
874
|
-
keep_state=True,
|
|
875
|
-
enable_symbolic_back_traversal=back_traversal,
|
|
876
|
-
enable_advanced_backward_slicing=enable_advanced_backward_slicing,
|
|
877
|
-
)
|
|
878
|
-
|
|
879
|
-
self.cfg_b = other_project.analyses[CFGEmulated].prep()(
|
|
880
|
-
context_sensitivity_level=1,
|
|
881
|
-
keep_state=True,
|
|
882
|
-
enable_symbolic_back_traversal=back_traversal,
|
|
883
|
-
enable_advanced_backward_slicing=enable_advanced_backward_slicing,
|
|
884
|
-
)
|
|
885
|
-
|
|
876
|
+
l.debug("Computing cfg's")
|
|
877
|
+
self.cfg_a = self.project.analyses[CFGFast].prep(fail_fast=self._fail_fast)().model
|
|
878
|
+
self.cfg_b = other_project.analyses[CFGFast].prep(fail_fast=self._fail_fast)().model
|
|
879
|
+
l.debug("Done computing cfg's")
|
|
886
880
|
else:
|
|
887
881
|
self.cfg_a = cfg_a
|
|
888
882
|
self.cfg_b = cfg_b
|
|
889
|
-
|
|
890
|
-
|
|
883
|
+
self.funcs_a = self.kb.functions
|
|
884
|
+
self.funcs_b = other_project.kb.functions
|
|
891
885
|
|
|
892
886
|
self._p2 = other_project
|
|
893
887
|
self._attributes_a = {}
|
|
@@ -908,8 +902,8 @@ class BinDiff(Analysis):
|
|
|
908
902
|
:param func_b_addr: The address of the second function (in the second binary).
|
|
909
903
|
:returns: Whether or not the functions appear to be identical.
|
|
910
904
|
"""
|
|
911
|
-
if self.
|
|
912
|
-
return self.
|
|
905
|
+
if self.project.is_hooked(func_a_addr) and self._p2.is_hooked(func_b_addr):
|
|
906
|
+
return self.project._sim_procedures[func_a_addr] == self._p2._sim_procedures[func_b_addr]
|
|
913
907
|
|
|
914
908
|
func_diff = self.get_function_diff(func_a_addr, func_b_addr)
|
|
915
909
|
if check_consts:
|
|
@@ -992,36 +986,33 @@ class BinDiff(Analysis):
|
|
|
992
986
|
"""
|
|
993
987
|
pair = (function_addr_a, function_addr_b)
|
|
994
988
|
if pair not in self._function_diffs:
|
|
995
|
-
function_a = self.
|
|
996
|
-
function_b = self.
|
|
989
|
+
function_a = self.funcs_a.function(function_addr_a)
|
|
990
|
+
function_b = self.funcs_b.function(function_addr_b)
|
|
997
991
|
self._function_diffs[pair] = FunctionDiff(function_a, function_b, self)
|
|
998
992
|
return self._function_diffs[pair]
|
|
999
993
|
|
|
1000
994
|
@staticmethod
|
|
1001
|
-
def _compute_function_attributes(
|
|
995
|
+
def _compute_function_attributes(funcs, exclude_func_addrs: set[int] | None = None):
|
|
1002
996
|
"""
|
|
1003
|
-
:param cfg: An angr CFG object
|
|
1004
997
|
:returns: a dictionary of function addresses to tuples of attributes
|
|
1005
998
|
"""
|
|
1006
999
|
# the attributes we use are the number of basic blocks, number of edges, and number of subfunction calls
|
|
1007
1000
|
attributes = {}
|
|
1008
|
-
all_funcs = set(
|
|
1009
|
-
for function_addr in
|
|
1001
|
+
all_funcs = set(funcs.callgraph)
|
|
1002
|
+
for function_addr in funcs:
|
|
1003
|
+
if not funcs.contains_addr(function_addr):
|
|
1004
|
+
continue
|
|
1005
|
+
if exclude_func_addrs and function_addr in exclude_func_addrs:
|
|
1006
|
+
continue
|
|
1007
|
+
func = funcs.get_by_addr(function_addr)
|
|
1010
1008
|
# skip syscalls and functions which are None in the cfg
|
|
1011
|
-
if
|
|
1009
|
+
if func.is_syscall or func.is_alignment or func.is_plt:
|
|
1012
1010
|
continue
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
number_of_basic_blocks = 0
|
|
1019
|
-
number_of_edges = 0
|
|
1020
|
-
if function_addr in all_funcs:
|
|
1021
|
-
number_of_subfunction_calls = len(list(cfg.kb.callgraph.successors(function_addr)))
|
|
1022
|
-
else:
|
|
1023
|
-
number_of_subfunction_calls = 0
|
|
1024
|
-
attributes[function_addr] = (number_of_basic_blocks, number_of_edges, number_of_subfunction_calls)
|
|
1011
|
+
normalized_function = NormalizedFunction(func)
|
|
1012
|
+
number_of_basic_blocks = len(normalized_function.graph.nodes())
|
|
1013
|
+
number_of_edges = len(normalized_function.graph.edges())
|
|
1014
|
+
number_of_subfunction_calls = funcs.callgraph.out_degree[function_addr] if function_addr in all_funcs else 0
|
|
1015
|
+
attributes[function_addr] = number_of_basic_blocks, number_of_edges, number_of_subfunction_calls
|
|
1025
1016
|
|
|
1026
1017
|
return attributes
|
|
1027
1018
|
|
|
@@ -1029,8 +1020,8 @@ class BinDiff(Analysis):
|
|
|
1029
1020
|
possible_matches = set()
|
|
1030
1021
|
|
|
1031
1022
|
# Make sure those functions are not SimProcedures
|
|
1032
|
-
f_a = self.
|
|
1033
|
-
f_b = self.
|
|
1023
|
+
f_a = self.funcs_a.function(func_a)
|
|
1024
|
+
f_b = self.funcs_b.function(func_b)
|
|
1034
1025
|
if f_a.startpoint is None or f_b.startpoint is None:
|
|
1035
1026
|
return possible_matches
|
|
1036
1027
|
|
|
@@ -1052,6 +1043,8 @@ class BinDiff(Analysis):
|
|
|
1052
1043
|
|
|
1053
1044
|
def _get_plt_matches(self):
|
|
1054
1045
|
plt_matches = []
|
|
1046
|
+
if not hasattr(self.project.loader.main_object, "plt") or not hasattr(self._p2.loader.main_object, "plt"):
|
|
1047
|
+
return []
|
|
1055
1048
|
for name, addr in self.project.loader.main_object.plt.items():
|
|
1056
1049
|
if name in self._p2.loader.main_object.plt:
|
|
1057
1050
|
plt_matches.append((addr, self._p2.loader.main_object.plt[name]))
|
|
@@ -1072,18 +1065,18 @@ class BinDiff(Analysis):
|
|
|
1072
1065
|
plt_matches.append((addr, func_to_addr_b[name]))
|
|
1073
1066
|
|
|
1074
1067
|
# remove ones that aren't in the interfunction graph, because these seem to not be consistent
|
|
1075
|
-
all_funcs_a = set(self.
|
|
1076
|
-
all_funcs_b = set(self.
|
|
1068
|
+
all_funcs_a = set(self.funcs_a.callgraph.nodes())
|
|
1069
|
+
all_funcs_b = set(self.funcs_b.callgraph.nodes())
|
|
1077
1070
|
return [x for x in plt_matches if x[0] in all_funcs_a and x[1] in all_funcs_b]
|
|
1078
1071
|
|
|
1079
1072
|
def _get_name_matches(self):
|
|
1080
1073
|
names_to_addrs_a = defaultdict(list)
|
|
1081
|
-
for f in self.
|
|
1074
|
+
for f in self.funcs_a.values():
|
|
1082
1075
|
if not f.name.startswith("sub_"):
|
|
1083
1076
|
names_to_addrs_a[f.name].append(f.addr)
|
|
1084
1077
|
|
|
1085
1078
|
names_to_addrs_b = defaultdict(list)
|
|
1086
|
-
for f in self.
|
|
1079
|
+
for f in self.funcs_b.values():
|
|
1087
1080
|
if not f.name.startswith("sub_"):
|
|
1088
1081
|
names_to_addrs_b[f.name].append(f.addr)
|
|
1089
1082
|
|
|
@@ -1097,23 +1090,305 @@ class BinDiff(Analysis):
|
|
|
1097
1090
|
|
|
1098
1091
|
return name_matches
|
|
1099
1092
|
|
|
1100
|
-
def
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1093
|
+
def _get_string_reference_matches(self) -> list[tuple[int, int]]:
|
|
1094
|
+
strs_main: dict[str, int | None] = {}
|
|
1095
|
+
strs_secondary: dict[str, int | None] = {}
|
|
1096
|
+
|
|
1097
|
+
for mem_data in self.cfg_a.memory_data.values():
|
|
1098
|
+
if mem_data.sort == MemoryDataSort.String:
|
|
1099
|
+
if mem_data.content not in strs_main:
|
|
1100
|
+
strs_main[mem_data.content] = mem_data.addr
|
|
1101
|
+
else:
|
|
1102
|
+
# unfortunately there are multiple strings with the same value...
|
|
1103
|
+
strs_main[mem_data.content] = None
|
|
1104
|
+
|
|
1105
|
+
for mem_data in self.cfg_b.memory_data.values():
|
|
1106
|
+
if mem_data.sort == MemoryDataSort.String:
|
|
1107
|
+
if mem_data.content not in strs_secondary:
|
|
1108
|
+
strs_secondary[mem_data.content] = mem_data.addr
|
|
1109
|
+
else:
|
|
1110
|
+
# unfortunately there are multiple strings with the same value...
|
|
1111
|
+
strs_secondary[mem_data.content] = None
|
|
1112
|
+
|
|
1113
|
+
shared_strs = set(strs_main.keys()) & set(strs_secondary.keys())
|
|
1114
|
+
matches = []
|
|
1115
|
+
# check cross-references
|
|
1116
|
+
for s in shared_strs:
|
|
1117
|
+
if strs_main[s] is None or strs_secondary[s] is None:
|
|
1118
|
+
continue
|
|
1119
|
+
addr_main = strs_main[s]
|
|
1120
|
+
addr_secondary = strs_secondary[s]
|
|
1121
|
+
xrefs_main = self.kb.xrefs.get_xrefs_by_dst(addr_main)
|
|
1122
|
+
xrefs_secondary = self._p2.kb.xrefs.get_xrefs_by_dst(addr_secondary)
|
|
1123
|
+
if len(xrefs_main) == len(xrefs_secondary) == 1:
|
|
1124
|
+
xref_main = next(iter(xrefs_main))
|
|
1125
|
+
xref_secondary = next(iter(xrefs_secondary))
|
|
1126
|
+
cfgnode_main = self.cfg_a.get_any_node(xref_main.block_addr)
|
|
1127
|
+
cfgnode_secondary = self.cfg_b.get_any_node(xref_secondary.block_addr)
|
|
1128
|
+
if cfgnode_main is not None and cfgnode_secondary is not None:
|
|
1129
|
+
matches.append((cfgnode_main.function_address, cfgnode_secondary.function_address))
|
|
1130
|
+
|
|
1131
|
+
return sorted(set(matches))
|
|
1132
|
+
|
|
1133
|
+
@staticmethod
|
|
1134
|
+
def _approximate_matcher_func_block_and_edge_count(
|
|
1135
|
+
main_funcs, secondary_funcs, new_matches: list, size_tolerance=0.1
|
|
1136
|
+
) -> None:
|
|
1137
|
+
# functions likely match if they have the same number of blocks and the same number of edges
|
|
1138
|
+
main_funcs = sorted(main_funcs, key=lambda x: x.addr)
|
|
1139
|
+
secondary_funcs = sorted(secondary_funcs, key=lambda x: x.addr)
|
|
1140
|
+
m, s = 0, 0
|
|
1141
|
+
while m < len(main_funcs) and s < len(secondary_funcs):
|
|
1142
|
+
mf = main_funcs[m]
|
|
1143
|
+
sf = secondary_funcs[s]
|
|
1144
|
+
# best case: there is a direct match
|
|
1145
|
+
if len(mf.block_addrs_set) == len(sf.block_addrs_set) and len(mf.graph.edges) == len(sf.graph.edges):
|
|
1146
|
+
# ensure function sizes are roughly the same
|
|
1147
|
+
if abs(mf.size - sf.size) / max(mf.size, sf.size) < size_tolerance:
|
|
1148
|
+
l.info(
|
|
1149
|
+
"Approximate matcher (block&edge count) found %#x (%s) and %#x (%s).",
|
|
1150
|
+
mf.addr,
|
|
1151
|
+
mf.name,
|
|
1152
|
+
sf.addr,
|
|
1153
|
+
sf.name,
|
|
1154
|
+
)
|
|
1155
|
+
new_matches.append((mf.addr, sf.addr))
|
|
1156
|
+
m += 1
|
|
1157
|
+
s += 1
|
|
1158
|
+
else:
|
|
1159
|
+
if len(main_funcs) - m > len(secondary_funcs) - s:
|
|
1160
|
+
# more main funcs than secondary funcs; we increment m in case a function in the main binary
|
|
1161
|
+
# is removed
|
|
1162
|
+
m += 1
|
|
1163
|
+
elif len(main_funcs) - m < len(secondary_funcs) - s:
|
|
1164
|
+
# more secondary funcs than main funcs; we increment s in case a function in the secondary
|
|
1165
|
+
# binary is removed
|
|
1166
|
+
s += 1
|
|
1167
|
+
else:
|
|
1168
|
+
m += 1
|
|
1169
|
+
s += 1
|
|
1170
|
+
|
|
1171
|
+
@staticmethod
|
|
1172
|
+
def _get_function_max_addr(func) -> int | None:
|
|
1173
|
+
if not func.block_addrs_set:
|
|
1174
|
+
return None
|
|
1175
|
+
last_block_addr = max(func.block_addrs_set)
|
|
1176
|
+
block_size = func.get_block_size(last_block_addr)
|
|
1177
|
+
return last_block_addr + block_size
|
|
1178
|
+
|
|
1179
|
+
def _get_function_string_refs(self, proj, cfg, func) -> set[bytes]:
|
|
1180
|
+
strs = set()
|
|
1181
|
+
func_max_addr = self._get_function_max_addr(func)
|
|
1182
|
+
if func_max_addr is None:
|
|
1183
|
+
return strs
|
|
1184
|
+
xrefs = proj.kb.xrefs.get_xrefs_by_ins_addr_region(func.addr, func_max_addr)
|
|
1185
|
+
for xref in xrefs:
|
|
1186
|
+
if xref.dst in cfg.memory_data:
|
|
1187
|
+
md = cfg.memory_data[xref.dst]
|
|
1188
|
+
if md.sort == MemoryDataSort.String:
|
|
1189
|
+
strs.add(md.content)
|
|
1190
|
+
return strs
|
|
1191
|
+
|
|
1192
|
+
def _approximate_matcher_func_string_refs(self, main_funcs, secondary_funcs, new_matches: list) -> None:
|
|
1193
|
+
# functions likely match if they both refer to the same strings
|
|
1194
|
+
strs_to_funcs_main = defaultdict(list)
|
|
1195
|
+
strs_to_funcs_secondary = defaultdict(list)
|
|
1196
|
+
|
|
1197
|
+
for func in main_funcs:
|
|
1198
|
+
strs = self._get_function_string_refs(self.project, self.cfg_a, func)
|
|
1199
|
+
if strs:
|
|
1200
|
+
strs_to_funcs_main[frozenset(strs)].append(func)
|
|
1201
|
+
|
|
1202
|
+
for func in secondary_funcs:
|
|
1203
|
+
strs = self._get_function_string_refs(self._p2, self.cfg_b, func)
|
|
1204
|
+
if strs:
|
|
1205
|
+
strs_to_funcs_secondary[frozenset(strs)].append(func)
|
|
1206
|
+
|
|
1207
|
+
for strs_main, funcs_main in strs_to_funcs_main.items():
|
|
1208
|
+
if strs_main in strs_to_funcs_secondary and len(funcs_main) == 1:
|
|
1209
|
+
funcs_secondary = strs_to_funcs_secondary[strs_main]
|
|
1210
|
+
if len(funcs_secondary) == 1:
|
|
1211
|
+
# found a match!
|
|
1212
|
+
mf = funcs_main[0]
|
|
1213
|
+
sf = funcs_secondary[0]
|
|
1214
|
+
l.info(
|
|
1215
|
+
"Approximate matcher (string refs) found %#x (%s) and %#x (%s).",
|
|
1216
|
+
mf.addr,
|
|
1217
|
+
mf.name,
|
|
1218
|
+
sf.addr,
|
|
1219
|
+
sf.name,
|
|
1220
|
+
)
|
|
1221
|
+
new_matches.append((mf.addr, sf.addr))
|
|
1104
1222
|
|
|
1223
|
+
@staticmethod
|
|
1224
|
+
def _get_function_callees(
|
|
1225
|
+
proj, funcs, func, main2secondary: dict[int, int] | None = None, funcs_secondary=None
|
|
1226
|
+
) -> tuple[str, ...]:
|
|
1227
|
+
callees = proj.kb.functions.callgraph.successors(func.addr)
|
|
1228
|
+
# convert callees to meaningful function names
|
|
1229
|
+
callee_names = []
|
|
1230
|
+
for callee in callees:
|
|
1231
|
+
if callee == func.addr:
|
|
1232
|
+
name = "!self"
|
|
1233
|
+
else:
|
|
1234
|
+
if main2secondary is not None and funcs_secondary is not None and callee in main2secondary:
|
|
1235
|
+
callee = main2secondary[callee]
|
|
1236
|
+
func = funcs_secondary.get_by_addr(callee)
|
|
1237
|
+
name = func.name
|
|
1238
|
+
else:
|
|
1239
|
+
func = funcs.get_by_addr(callee)
|
|
1240
|
+
name = None if func.is_default_name else func.name
|
|
1241
|
+
if name is not None:
|
|
1242
|
+
callee_names.append(name)
|
|
1243
|
+
else:
|
|
1244
|
+
# has at least one unknown/unmatched callee
|
|
1245
|
+
return ()
|
|
1246
|
+
return tuple(sorted(callee_names))
|
|
1247
|
+
|
|
1248
|
+
def _approximate_matcher_func_callees(
|
|
1249
|
+
self, main2secondary: dict[int, int], main_funcs, secondary_funcs, new_matches: list
|
|
1250
|
+
) -> None:
|
|
1251
|
+
# functions likely match if they both call the same callees
|
|
1252
|
+
callees_to_funcs_main = defaultdict(list)
|
|
1253
|
+
callees_to_funcs_secondary = defaultdict(list)
|
|
1254
|
+
|
|
1255
|
+
for func in main_funcs:
|
|
1256
|
+
callees = self._get_function_callees(
|
|
1257
|
+
self.project, self.funcs_a, func, main2secondary=main2secondary, funcs_secondary=self.funcs_b
|
|
1258
|
+
)
|
|
1259
|
+
if callees:
|
|
1260
|
+
callees_to_funcs_main[callees].append(func)
|
|
1261
|
+
|
|
1262
|
+
for func in secondary_funcs:
|
|
1263
|
+
callees = self._get_function_callees(self._p2, self.funcs_b, func)
|
|
1264
|
+
if callees:
|
|
1265
|
+
callees_to_funcs_secondary[callees].append(func)
|
|
1266
|
+
|
|
1267
|
+
for callees_main, funcs_main in callees_to_funcs_main.items():
|
|
1268
|
+
if callees_main in callees_to_funcs_secondary and len(funcs_main) == 1:
|
|
1269
|
+
funcs_secondary = callees_to_funcs_secondary[callees_main]
|
|
1270
|
+
if len(funcs_secondary) == 1:
|
|
1271
|
+
# found a match!
|
|
1272
|
+
mf = funcs_main[0]
|
|
1273
|
+
sf = funcs_secondary[0]
|
|
1274
|
+
l.info(
|
|
1275
|
+
"Approximate matcher (callees) found %#x (%s) and %#x (%s).",
|
|
1276
|
+
mf.addr,
|
|
1277
|
+
mf.name,
|
|
1278
|
+
sf.addr,
|
|
1279
|
+
sf.name,
|
|
1280
|
+
)
|
|
1281
|
+
new_matches.append((mf.addr, sf.addr))
|
|
1282
|
+
|
|
1283
|
+
def _get_approximate_matches_between_matched_pairs(self, matches: list[tuple[int, int]], matcher):
|
|
1284
|
+
sorted_matches = sorted(matches, key=lambda x: x[0])
|
|
1285
|
+
new_matches = []
|
|
1286
|
+
|
|
1287
|
+
for idx, (addr1_main, addr1_secondary) in enumerate(sorted_matches):
|
|
1288
|
+
if idx == len(sorted_matches) - 1:
|
|
1289
|
+
break
|
|
1290
|
+
addr2_main, addr2_secondary = sorted_matches[idx + 1]
|
|
1291
|
+
if addr1_secondary >= addr2_secondary:
|
|
1292
|
+
continue
|
|
1293
|
+
|
|
1294
|
+
# either two main functions are named, or two secondary functions are named
|
|
1295
|
+
f1_main = self.funcs_a.get_by_addr(addr1_main)
|
|
1296
|
+
f2_main = self.funcs_a.get_by_addr(addr2_main)
|
|
1297
|
+
f1_secondary = self.funcs_b.get_by_addr(addr1_secondary)
|
|
1298
|
+
f2_secondary = self.funcs_b.get_by_addr(addr2_secondary)
|
|
1299
|
+
if not (
|
|
1300
|
+
(not f1_main.is_default_name and not f2_main.is_default_name)
|
|
1301
|
+
or (not f1_secondary.is_default_name and not f2_secondary.is_default_name)
|
|
1302
|
+
):
|
|
1303
|
+
continue
|
|
1304
|
+
|
|
1305
|
+
# are there any functions in between?
|
|
1306
|
+
main_funcaddrs = list(self.funcs_a._function_map.irange(minimum=addr1_main + 1, maximum=addr2_main - 1))
|
|
1307
|
+
secondary_funcaddrs = list(
|
|
1308
|
+
self.funcs_b._function_map.irange(minimum=addr1_secondary + 1, maximum=addr2_secondary - 1)
|
|
1309
|
+
)
|
|
1310
|
+
# eliminate bad funcs
|
|
1311
|
+
main_funcs = [self.funcs_a.get_by_addr(addr) for addr in main_funcaddrs]
|
|
1312
|
+
main_funcs = [
|
|
1313
|
+
f
|
|
1314
|
+
for f in main_funcs
|
|
1315
|
+
if not f.is_syscall and not f.is_simprocedure and not f.is_alignment and not f.is_plt
|
|
1316
|
+
]
|
|
1317
|
+
secondary_funcs = [self.funcs_b.get_by_addr(addr) for addr in secondary_funcaddrs]
|
|
1318
|
+
secondary_funcs = [
|
|
1319
|
+
f
|
|
1320
|
+
for f in secondary_funcs
|
|
1321
|
+
if not f.is_syscall and not f.is_simprocedure and not f.is_alignment and not f.is_plt
|
|
1322
|
+
]
|
|
1323
|
+
if (
|
|
1324
|
+
main_funcs
|
|
1325
|
+
and secondary_funcs
|
|
1326
|
+
and len(main_funcs) > 0
|
|
1327
|
+
and len(secondary_funcs) > 0
|
|
1328
|
+
and len(main_funcs) < 100
|
|
1329
|
+
and len(secondary_funcs) < 100
|
|
1330
|
+
):
|
|
1331
|
+
# more checks
|
|
1332
|
+
matcher(main_funcs, secondary_funcs, new_matches)
|
|
1333
|
+
|
|
1334
|
+
return new_matches
|
|
1335
|
+
|
|
1336
|
+
def _compute_diff(self):
|
|
1105
1337
|
# get the initial matches
|
|
1338
|
+
l.info("Getting PLT-based matches...")
|
|
1106
1339
|
initial_matches = self._get_plt_matches()
|
|
1340
|
+
l.info("... initial matches: %d", len(initial_matches))
|
|
1341
|
+
|
|
1342
|
+
l.info("Getting function name-based matches...")
|
|
1107
1343
|
initial_matches += self._get_name_matches()
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1344
|
+
l.info("... initial matches: %d", len(initial_matches))
|
|
1345
|
+
|
|
1346
|
+
l.info("Getting string reference-based matches...")
|
|
1347
|
+
initial_matches += self._get_string_reference_matches()
|
|
1348
|
+
l.info("... initial matches: %d", len(initial_matches))
|
|
1349
|
+
|
|
1350
|
+
l.info("Getting adjacent function matches based on function block and edge counts...")
|
|
1351
|
+
initial_matches += self._get_approximate_matches_between_matched_pairs(
|
|
1352
|
+
initial_matches, self._approximate_matcher_func_block_and_edge_count
|
|
1353
|
+
)
|
|
1354
|
+
l.info("... initial matches: %d", len(initial_matches))
|
|
1355
|
+
|
|
1356
|
+
l.info("Getting adjacent function matches based on string references...")
|
|
1357
|
+
initial_matches += self._get_approximate_matches_between_matched_pairs(
|
|
1358
|
+
initial_matches, self._approximate_matcher_func_string_refs
|
|
1359
|
+
)
|
|
1360
|
+
l.info("... initial matches: %d", len(initial_matches))
|
|
1361
|
+
|
|
1362
|
+
l.info("Getting adjacent function matches based on callees...")
|
|
1363
|
+
main2secondary = dict(initial_matches)
|
|
1364
|
+
initial_matches += self._get_approximate_matches_between_matched_pairs(
|
|
1365
|
+
initial_matches, partial(self._approximate_matcher_func_callees, main2secondary)
|
|
1366
|
+
)
|
|
1367
|
+
l.info("... initial matches: %d", len(initial_matches))
|
|
1368
|
+
|
|
1369
|
+
# dedup
|
|
1370
|
+
initial_matches = sorted(set(initial_matches))
|
|
1371
|
+
l.info("We got %d initial matches so far. Time to get busy...", len(initial_matches))
|
|
1372
|
+
|
|
1373
|
+
# get the attributes for all functions
|
|
1374
|
+
l.info("Computing function attributes for main project...")
|
|
1375
|
+
self.attributes_a = self._compute_function_attributes(
|
|
1376
|
+
self.funcs_a, exclude_func_addrs={a for a, _ in initial_matches}
|
|
1377
|
+
)
|
|
1378
|
+
l.info("Computing function attributes for secondary project...")
|
|
1379
|
+
self.attributes_b = self._compute_function_attributes(
|
|
1380
|
+
self.funcs_b, exclude_func_addrs={a for _, a in initial_matches}
|
|
1381
|
+
)
|
|
1382
|
+
|
|
1383
|
+
l.info("Getting function attribute-based matches...")
|
|
1384
|
+
attribute_based_matches = self._get_function_matches(self.attributes_a, self.attributes_b)
|
|
1385
|
+
l.info("Got %d attribute-based matches.", len(attribute_based_matches))
|
|
1111
1386
|
|
|
1112
1387
|
# Use a queue so we process matches in the order that they are found
|
|
1113
|
-
to_process = deque(
|
|
1388
|
+
to_process = deque(attribute_based_matches)
|
|
1114
1389
|
|
|
1115
1390
|
# Keep track of which matches we've already added to the queue
|
|
1116
|
-
processed_matches = set(initial_matches)
|
|
1391
|
+
processed_matches = set(initial_matches + attribute_based_matches)
|
|
1117
1392
|
|
|
1118
1393
|
# Keep a dict of current matches, which will be updated if better matches are found
|
|
1119
1394
|
matched_a = {}
|
|
@@ -1122,8 +1397,8 @@ class BinDiff(Analysis):
|
|
|
1122
1397
|
matched_a[x] = y
|
|
1123
1398
|
matched_b[y] = x
|
|
1124
1399
|
|
|
1125
|
-
callgraph_a_nodes = set(self.
|
|
1126
|
-
callgraph_b_nodes = set(self.
|
|
1400
|
+
callgraph_a_nodes = set(self.funcs_a.callgraph.nodes())
|
|
1401
|
+
callgraph_b_nodes = set(self.funcs_b.callgraph.nodes())
|
|
1127
1402
|
|
|
1128
1403
|
# while queue is not empty
|
|
1129
1404
|
while to_process:
|
|
@@ -1136,10 +1411,10 @@ class BinDiff(Analysis):
|
|
|
1136
1411
|
if not self._p2.loader.main_object.contains_addr(func_b):
|
|
1137
1412
|
continue
|
|
1138
1413
|
|
|
1139
|
-
func_a_succ = self.
|
|
1140
|
-
func_b_succ = self.
|
|
1141
|
-
func_a_pred = self.
|
|
1142
|
-
func_b_pred = self.
|
|
1414
|
+
func_a_succ = self.funcs_a.callgraph.successors(func_a) if func_a in callgraph_a_nodes else []
|
|
1415
|
+
func_b_succ = self.funcs_b.callgraph.successors(func_b) if func_b in callgraph_b_nodes else []
|
|
1416
|
+
func_a_pred = self.funcs_a.callgraph.predecessors(func_a) if func_a in callgraph_a_nodes else []
|
|
1417
|
+
func_b_pred = self.funcs_b.callgraph.predecessors(func_b) if func_b in callgraph_b_nodes else []
|
|
1143
1418
|
|
|
1144
1419
|
# get possible new matches
|
|
1145
1420
|
new_matches = set(
|
|
@@ -1155,10 +1430,10 @@ class BinDiff(Analysis):
|
|
|
1155
1430
|
# for each of the possible new matches add it if it improves the matching
|
|
1156
1431
|
for x, y in new_matches:
|
|
1157
1432
|
# skip none functions and syscalls
|
|
1158
|
-
func_a = self.
|
|
1433
|
+
func_a = self.funcs_a.function(x)
|
|
1159
1434
|
if func_a is None or func_a.is_simprocedure or func_a.is_syscall:
|
|
1160
1435
|
continue
|
|
1161
|
-
func_b = self.
|
|
1436
|
+
func_b = self.funcs_b.function(y)
|
|
1162
1437
|
if func_b is None or func_b.is_simprocedure or func_b.is_syscall:
|
|
1163
1438
|
continue
|
|
1164
1439
|
|
|
@@ -25,16 +25,20 @@ class CFGArchOptions:
|
|
|
25
25
|
"switch_mode_on_nodecode": (bool, True),
|
|
26
26
|
# Whether we should use byte-based pattern-matching to identify ifuncs
|
|
27
27
|
"pattern_match_ifuncs": (bool, True),
|
|
28
|
+
# Do we consider ARM-mode code at all
|
|
29
|
+
"has_arm_code": (bool, True),
|
|
28
30
|
},
|
|
29
31
|
"ARMHF": {
|
|
30
32
|
"ret_jumpkind_heuristics": (bool, True),
|
|
31
33
|
"switch_mode_on_nodecode": (bool, True),
|
|
32
34
|
"pattern_match_ifuncs": (bool, True),
|
|
35
|
+
"has_arm_code": (bool, True),
|
|
33
36
|
},
|
|
34
37
|
"ARMCortexM": {
|
|
35
38
|
"ret_jumpkind_heuristics": (bool, True),
|
|
36
39
|
"switch_mode_on_nodecode": (bool, False),
|
|
37
40
|
"pattern_match_ifuncs": (bool, True),
|
|
41
|
+
"has_arm_code": (bool, False),
|
|
38
42
|
},
|
|
39
43
|
}
|
|
40
44
|
|
|
@@ -83,3 +87,9 @@ class CFGArchOptions:
|
|
|
83
87
|
|
|
84
88
|
else:
|
|
85
89
|
super().__setattr__(option_name, option_value)
|
|
90
|
+
|
|
91
|
+
def __getitem__(self, option_name: str):
|
|
92
|
+
return self._options[option_name]
|
|
93
|
+
|
|
94
|
+
def __contains__(self, option_name: str) -> bool:
|
|
95
|
+
return option_name in self._options
|