angr 9.2.111__py3-none-manylinux2014_x86_64.whl → 9.2.113__py3-none-manylinux2014_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of angr might be problematic. Click here for more details.

Files changed (35) hide show
  1. angr/__init__.py +1 -1
  2. angr/analyses/cfg/cfg_base.py +4 -1
  3. angr/analyses/decompiler/condition_processor.py +9 -2
  4. angr/analyses/decompiler/optimization_passes/__init__.py +3 -1
  5. angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +367 -0
  6. angr/analyses/decompiler/optimization_passes/deadblock_remover.py +1 -1
  7. angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +99 -12
  8. angr/analyses/decompiler/optimization_passes/optimization_pass.py +79 -9
  9. angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +21 -0
  10. angr/analyses/decompiler/optimization_passes/return_duplicator_low.py +111 -9
  11. angr/analyses/decompiler/redundant_label_remover.py +17 -0
  12. angr/analyses/decompiler/seq_cf_structure_counter.py +37 -0
  13. angr/analyses/decompiler/structured_codegen/c.py +4 -5
  14. angr/analyses/decompiler/structuring/phoenix.py +3 -3
  15. angr/analyses/reaching_definitions/rd_state.py +2 -0
  16. angr/analyses/reaching_definitions/reaching_definitions.py +7 -0
  17. angr/angrdb/serializers/loader.py +91 -7
  18. angr/calling_conventions.py +11 -9
  19. angr/knowledge_plugins/key_definitions/live_definitions.py +5 -0
  20. angr/knowledge_plugins/propagations/states.py +3 -2
  21. angr/knowledge_plugins/variables/variable_manager.py +1 -1
  22. angr/procedures/stubs/ReturnUnconstrained.py +1 -2
  23. angr/procedures/stubs/syscall_stub.py +1 -2
  24. angr/sim_type.py +354 -136
  25. angr/state_plugins/debug_variables.py +2 -2
  26. angr/state_plugins/solver.py +5 -13
  27. angr/storage/memory_mixins/multi_value_merger_mixin.py +13 -3
  28. angr/utils/orderedset.py +70 -0
  29. angr/vaults.py +0 -1
  30. {angr-9.2.111.dist-info → angr-9.2.113.dist-info}/METADATA +6 -6
  31. {angr-9.2.111.dist-info → angr-9.2.113.dist-info}/RECORD +35 -32
  32. {angr-9.2.111.dist-info → angr-9.2.113.dist-info}/WHEEL +1 -1
  33. {angr-9.2.111.dist-info → angr-9.2.113.dist-info}/LICENSE +0 -0
  34. {angr-9.2.111.dist-info → angr-9.2.113.dist-info}/entry_points.txt +0 -0
  35. {angr-9.2.111.dist-info → angr-9.2.113.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,7 @@ from cle.backends.elf.variable import Variable
5
5
  from cle.backends.elf.variable_type import VariableType, PointerType, ArrayType, StructType, TypedefType
6
6
 
7
7
  from angr.sim_state import SimState
8
- from angr.sim_type import ALL_TYPES, SimTypeReg
8
+ from angr.sim_type import ALL_TYPES, SimTypeNum
9
9
 
10
10
  from .plugin import SimStatePlugin
11
11
 
@@ -56,7 +56,7 @@ class SimDebugVariable:
56
56
  else:
57
57
  # FIXME A lot more types are supported by angr that are not in ALL_TYPES (structs, arrays, pointers)
58
58
  # Use a fallback type
59
- sim_type = SimTypeReg(size, label=name)
59
+ sim_type = SimTypeNum(size, signed=False, label=name)
60
60
  return self.mem_untyped.with_type(sim_type)
61
61
 
62
62
  # methods and properties equivalent to SimMemView
@@ -1,8 +1,12 @@
1
1
  import functools
2
2
  import time
3
3
  import logging
4
+ import os
4
5
  from typing import TypeVar, overload
5
6
 
7
+ from angr import sim_options as o
8
+ from angr.errors import SimValueError, SimUnsatError, SimSolverModeError, SimSolverOptionError
9
+ import claripy
6
10
  from claripy import backend_manager
7
11
 
8
12
  from .plugin import SimStatePlugin
@@ -72,8 +76,6 @@ def disable_timing():
72
76
  _timing_enabled = False
73
77
 
74
78
 
75
- import os
76
-
77
79
  if os.environ.get("SOLVER_TIMING", False):
78
80
  enable_timing()
79
81
  else:
@@ -191,8 +193,6 @@ def concrete_path_list(f):
191
193
  # The main event
192
194
  #
193
195
 
194
- import claripy
195
-
196
196
 
197
197
  class SimSolver(SimStatePlugin):
198
198
  """
@@ -306,13 +306,7 @@ class SimSolver(SimStatePlugin):
306
306
  elif "smtlib_abc" in backend_manager.backends._backends_by_name:
307
307
  our_backend = backend_manager.backends.smtlib_abc
308
308
  else:
309
- l.error(
310
- "Cannot find a suitable string solver. Please ensure you have installed a string solver that "
311
- "angr supports, and have imported the corresponding solver backend in claripy. You can try "
312
- 'adding "from claripy.backends.backend_smtlib_solvers import *" at the beginning of your '
313
- "script."
314
- )
315
- raise ValueError("Cannot find a suitable string solver")
309
+ our_backend = backend_manager.backends.z3
316
310
  if o.COMPOSITE_SOLVER in self.state.options:
317
311
  self._stored_solver = claripy.SolverComposite(
318
312
  template_solver_string=claripy.SolverCompositeChild(backend=our_backend, track=track)
@@ -1124,6 +1118,4 @@ from angr.sim_state import SimState
1124
1118
 
1125
1119
  SimState.register_default("solver", SimSolver)
1126
1120
 
1127
- from .. import sim_options as o
1128
1121
  from .inspect import BP_AFTER
1129
- from ..errors import SimValueError, SimUnsatError, SimSolverModeError, SimSolverOptionError
@@ -7,13 +7,22 @@ from . import MemoryMixin
7
7
 
8
8
  class MultiValueMergerMixin(MemoryMixin):
9
9
  def __init__(
10
- self, *args, element_limit=5, annotation_limit=256, top_func=None, is_top_func=None, phi_maker=None, **kwargs
10
+ self,
11
+ *args,
12
+ element_limit=5,
13
+ annotation_limit=256,
14
+ top_func=None,
15
+ is_top_func=None,
16
+ phi_maker=None,
17
+ merge_into_top=True,
18
+ **kwargs,
11
19
  ):
12
20
  self._element_limit = element_limit
13
21
  self._annotation_limit = annotation_limit
14
22
  self._top_func: Callable = top_func
15
23
  self._is_top_func: Callable = is_top_func
16
24
  self._phi_maker: Callable | None = phi_maker
25
+ self._merge_into_top = merge_into_top
17
26
 
18
27
  super().__init__(*args, **kwargs)
19
28
 
@@ -25,7 +34,7 @@ class MultiValueMergerMixin(MemoryMixin):
25
34
  return {phi_var}
26
35
 
27
36
  # try to merge it in the traditional way
28
- has_top = any(self._is_top_func(v) for v in values_set)
37
+ has_top = self._merge_into_top and any(self._is_top_func(v) for v in values_set)
29
38
  if has_top or len(values_set) > self._element_limit:
30
39
  if has_top:
31
40
  ret_val = self._top_func(merged_size * self.state.arch.byte_width)
@@ -35,7 +44,7 @@ class MultiValueMergerMixin(MemoryMixin):
35
44
  # python implicitly calls __eq__ to determine if the two objects are actually the same
36
45
  # and that just results in a new AST for a BV. Python then tries to convert that AST to a bool
37
46
  # which fails with the safeguard in claripy.ast.bool.Bool.__bool__.
38
- stripped_values_set = {v._apply_to_annotations(lambda alist: None).cache_key for v in values_set}
47
+ stripped_values_set = {v.clear_annotations().cache_key for v in values_set}
39
48
  if len(stripped_values_set) > 1:
40
49
  ret_val = self._top_func(merged_size * self.state.arch.byte_width)
41
50
  else:
@@ -65,4 +74,5 @@ class MultiValueMergerMixin(MemoryMixin):
65
74
  copied._top_func = self._top_func
66
75
  copied._is_top_func = self._is_top_func
67
76
  copied._phi_maker = self._phi_maker
77
+ copied._merge_into_top = self._merge_into_top
68
78
  return copied
@@ -0,0 +1,70 @@
1
+ import collections.abc
2
+
3
+
4
+ class OrderedSet(collections.abc.MutableSet):
5
+ """
6
+ Adapted from http://code.activestate.com/recipes/576694/
7
+ Originally created by Raymond Hettinger and licensed under MIT.
8
+ """
9
+
10
+ def __init__(self, iterable=None):
11
+ self.end = end = []
12
+ end += [None, end, end] # sentinel node for doubly linked list
13
+ self.map = {} # key --> [key, prev, next]
14
+ if iterable is not None:
15
+ self |= iterable
16
+
17
+ def __len__(self):
18
+ return len(self.map)
19
+
20
+ def __contains__(self, key):
21
+ return key in self.map
22
+
23
+ def add(self, value):
24
+ if value not in self.map:
25
+ end = self.end
26
+ curr = end[1]
27
+ curr[2] = end[1] = self.map[value] = [value, curr, end]
28
+
29
+ def discard(self, value):
30
+ if value in self.map:
31
+ value, prev, next_ = self.map.pop(value)
32
+ prev[2] = next_
33
+ next_[1] = prev
34
+
35
+ def __iter__(self):
36
+ end = self.end
37
+ curr = end[2]
38
+ while curr is not end:
39
+ yield curr[0]
40
+ curr = curr[2]
41
+
42
+ def __reversed__(self):
43
+ end = self.end
44
+ curr = end[1]
45
+ while curr is not end:
46
+ yield curr[0]
47
+ curr = curr[1]
48
+
49
+ def pop(self, last=True): # pylint:disable=arguments-differ
50
+ if not self:
51
+ raise KeyError("set is empty")
52
+ key = self.end[1][0] if last else self.end[2][0]
53
+ self.discard(key)
54
+ return key
55
+
56
+ def __repr__(self):
57
+ if not self:
58
+ return f"{self.__class__.__name__}()"
59
+ return f"{self.__class__.__name__}({list(self)!r})"
60
+
61
+ def __eq__(self, other):
62
+ if isinstance(other, OrderedSet):
63
+ return len(self) == len(other) and list(self) == list(other)
64
+ return set(self) == set(other)
65
+
66
+ def __getstate__(self):
67
+ return list(self)
68
+
69
+ def __setstate__(self, state):
70
+ self.__init__(state)
angr/vaults.py CHANGED
@@ -88,7 +88,6 @@ class Vault(collections.abc.MutableMapping):
88
88
  claripy.ast.BV,
89
89
  claripy.ast.FP,
90
90
  claripy.ast.Bool,
91
- claripy.ast.Int,
92
91
  claripy.ast.Bits,
93
92
  }
94
93
  self.module_dedup = set() # {'claripy', 'angr', 'archinfo', 'pyvex' } # cle causes recursion
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.111
3
+ Version: 9.2.113
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
  Home-page: https://github.com/angr/angr
6
6
  License: BSD-2-Clause
@@ -15,13 +15,13 @@ Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
  Requires-Dist: CppHeaderParser
17
17
  Requires-Dist: GitPython
18
- Requires-Dist: ailment ==9.2.111
19
- Requires-Dist: archinfo ==9.2.111
18
+ Requires-Dist: ailment ==9.2.113
19
+ Requires-Dist: archinfo ==9.2.113
20
20
  Requires-Dist: cachetools
21
21
  Requires-Dist: capstone ==5.0.0.post1
22
22
  Requires-Dist: cffi >=1.14.0
23
- Requires-Dist: claripy ==9.2.111
24
- Requires-Dist: cle ==9.2.111
23
+ Requires-Dist: claripy ==9.2.113
24
+ Requires-Dist: cle ==9.2.113
25
25
  Requires-Dist: dpkt
26
26
  Requires-Dist: itanium-demangler
27
27
  Requires-Dist: mulpyplexer
@@ -31,7 +31,7 @@ Requires-Dist: protobuf >=3.19.0
31
31
  Requires-Dist: psutil
32
32
  Requires-Dist: pycparser >=2.18
33
33
  Requires-Dist: pyformlang
34
- Requires-Dist: pyvex ==9.2.111
34
+ Requires-Dist: pyvex ==9.2.113
35
35
  Requires-Dist: rich >=13.1.0
36
36
  Requires-Dist: rpyc
37
37
  Requires-Dist: sortedcontainers
@@ -1,10 +1,10 @@
1
- angr/__init__.py,sha256=Kf0h-gf3w0Msnfqn-ZlTg2_pLo9i_vygjYlrf1-vibA,3708
1
+ angr/__init__.py,sha256=xA4w3fa0ApgzfqAE8MEN_HnuIXRB8D33txbLVl2JwBs,3708
2
2
  angr/__main__.py,sha256=kaO56Te6h73SM94BVtASF00q5QbBbC3eBs9poVc9sVI,1887
3
3
  angr/annocfg.py,sha256=1tnBfxgLJh9I6Brm1JDdsWLHGmCQYdD6PTC_bFTOMrg,10775
4
4
  angr/blade.py,sha256=B8QXVQ93jz1YCIlb-dZLeBqYmVFdMXI5GleP1Wnxjrw,15519
5
5
  angr/block.py,sha256=tHxXlBBFrPZbp5phhTn63K55khjDIIUSNJgFn4lPd9I,14761
6
6
  angr/callable.py,sha256=-E9HelavtRY1xPAxCVXl120H8Rb7Myd2IcrXtWZFAOU,6034
7
- angr/calling_conventions.py,sha256=JjgIx0PHOfP9O8fcLjaKFEnznDfgmcf8ezMS6s54Me8,91288
7
+ angr/calling_conventions.py,sha256=-1ToJG0p31snlyO50mTpDZJysLvyuvHdfqx_H7Y7eZ4,91480
8
8
  angr/code_location.py,sha256=IudWSR-gJzq_EeVw-jEZvQumVYwUUDWXR1vmLAkS-SQ,5432
9
9
  angr/codenode.py,sha256=Di6ZxGqf-e6tKL49Zr0sq4vqpy_-nUDYkBdLj2Tg2Po,3760
10
10
  angr/errors.py,sha256=Yh_qSz7FjMSqqK9P3CVJHQZUzvTELLg6dRGYyINVZSM,8348
@@ -20,12 +20,12 @@ angr/sim_options.py,sha256=OuT01xS_F3ifBD9MAfZmNCnfjtTg0HulZlrKcs1LNSY,18057
20
20
  angr/sim_procedure.py,sha256=SKlD_-qGh-llcuennKZoHK1yzDUTaa5z5W2l22Ean-U,26259
21
21
  angr/sim_state.py,sha256=-BhSkyucG6wwZSrgSoAKWNRFHQjcVP8R7ux0z7E2AOg,37820
22
22
  angr/sim_state_options.py,sha256=lfP7ygngjGe0AGV5rkE24tvBazJBZG-RTdrKj4rL9XE,12530
23
- angr/sim_type.py,sha256=7odhq0QVknbFpzZ2sZicAGUdl6lvsdu1uxSqHR8-Yb4,122741
23
+ angr/sim_type.py,sha256=icyNGAqA2q_cfazRS5HzBmsR5N0OTFadNWjYP_d_HwA,130970
24
24
  angr/sim_variable.py,sha256=FC2FHlMWeBDYrFI_pK6C5WuqmImvxRdTQDFTAC-q4qY,17203
25
25
  angr/slicer.py,sha256=kbLKMAjf2kC6ov-OiGb95BqLmgV0QRl5mmEANcvzuAk,10640
26
26
  angr/state_hierarchy.py,sha256=w_5Tl-7h9xUXBsIKZRAWw8Xh0we8GIAaN6nbKgYH_Qo,8467
27
27
  angr/tablespecs.py,sha256=RRtYqHneKd1ZHhnm9sUdLflplk_K3EP7_gBJaSlX6UY,3239
28
- angr/vaults.py,sha256=A9vhsvbPpem6HpcA4u4HmOt8dR5vJH9Vd5rK5ugXV90,9701
28
+ angr/vaults.py,sha256=qtSdOBpgQ2Qopkh1y0QgEvPtqpbBj-gRq_2Xxc2Q1PM,9672
29
29
  angr/analyses/__init__.py,sha256=lYtaal5RD-EWBW4oScD3Yob1Jk1ZYYqUUCBeTxH7IpE,1773
30
30
  angr/analyses/analysis.py,sha256=BNpBoQOkgbtV9cmMiO8e0WcTgIJKraikYISLDQ-cC6w,12301
31
31
  angr/analyses/backward_slice.py,sha256=grgjobcuTGq-rporwoBLNWf6aEoemCB7BvwE0dDeMp0,27287
@@ -63,7 +63,7 @@ angr/analyses/cfg/__init__.py,sha256=DRCry4KO2k5VJLyfxD_O6dWAdi21IUoaN5TqCnukJJs
63
63
  angr/analyses/cfg/cfb.py,sha256=e-Jlf9B7gkx0GpKl2TvK8VdTWZU8s-A9U9id5MP-R10,15456
64
64
  angr/analyses/cfg/cfg.py,sha256=1JpPGlqXXRFwE0tk26xjabT_-dq-kqAxMv7o6-DUhp4,3146
65
65
  angr/analyses/cfg/cfg_arch_options.py,sha256=YONHg6y-h6BCsBkJK9tuxb94DDfeOoy9CUS-LVyyDyg,3112
66
- angr/analyses/cfg/cfg_base.py,sha256=6FWPJtfJGtvdtVSN_5TPYpppgYZhkcgQwh_nATAoUEE,123076
66
+ angr/analyses/cfg/cfg_base.py,sha256=tFjNjjIzmbM40daHKqitF21P8P4vfNFdZ0RFJ0QDNKk,123132
67
67
  angr/analyses/cfg/cfg_emulated.py,sha256=Bi5PJzv0-0iQoCHzexSGAtkUAp6npb_RSODwW0Nv7zk,152812
68
68
  angr/analyses/cfg/cfg_fast.py,sha256=yeCEAlJTuz4jyFCZvUU6olaAMS07bA9tGg1lFBVn-BY,218149
69
69
  angr/analyses/cfg/cfg_fast_soot.py,sha256=dQglRl4h10i8DNd5oCSJ4umpSotMthjKc5E03bd3BJI,26023
@@ -97,7 +97,7 @@ angr/analyses/decompiler/block_simplifier.py,sha256=78vfpaG13JWCxijDrp3Q4wyiEw7h
97
97
  angr/analyses/decompiler/call_counter.py,sha256=V3TIaSvLUy9vLEWErnvlCS--_ubGWQAeU0tqq6XYeOU,1205
98
98
  angr/analyses/decompiler/callsite_maker.py,sha256=GUgUkSsOznUaTIB9PUoBFyWJp9WkH4T8jf5xBIE5p9M,15909
99
99
  angr/analyses/decompiler/clinic.py,sha256=81gi7DBCaZy-xK_TZGrApUEz00y756V4ZKVAHtugmwk,95748
100
- angr/analyses/decompiler/condition_processor.py,sha256=dEJIc3RYbrn_JIX0wYGH332VxTld0OVMYTTa5wCqFwg,49847
100
+ angr/analyses/decompiler/condition_processor.py,sha256=71ryhINcX3-RNPwShjy62fvzj1HDTevco8GhmwqMrkQ,50009
101
101
  angr/analyses/decompiler/decompilation_cache.py,sha256=NKbvKYZOe7791udwdf70tq9hJe79GMS6M1jaDJC8lSQ,1130
102
102
  angr/analyses/decompiler/decompilation_options.py,sha256=FMfcQ0aFDMPW9d0sYpqCwrOVYoq75YkExAvR6CjZCt4,8224
103
103
  angr/analyses/decompiler/decompiler.py,sha256=152EWqKPC2J_JcC3_rnJPNL9iDbFTm-AXamm3hjzfFE,22253
@@ -108,22 +108,24 @@ angr/analyses/decompiler/goto_manager.py,sha256=MI0uUZSxr55BmSz6QjSgnhthyuKdxNCE
108
108
  angr/analyses/decompiler/graph_region.py,sha256=-bPM3JqMA4ZnFhPi6QLGw_M1zPWK_yh0bFHFily_vEE,16913
109
109
  angr/analyses/decompiler/jump_target_collector.py,sha256=NP-TgRPEkhBkEx4uZwvFLuUjgrvOIfYI3zP5b4WSfco,1138
110
110
  angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=dcgnXt3oKa8Qm_KtT-Rl7XDmLetvOj_UFALxC2HGLac,2139
111
- angr/analyses/decompiler/redundant_label_remover.py,sha256=aYvcQbn0l-LYbJ-DIqGTTLfnL0Hw-OANfFZXnNZH-sE,5324
111
+ angr/analyses/decompiler/redundant_label_remover.py,sha256=yxYg-0NQtbK87GRdmWiJ-b1SahzWKimqthBoHST3Wcw,5878
112
112
  angr/analyses/decompiler/region_identifier.py,sha256=fcS0jYJmpt3hXE-E8o31lDOKF-ozOMIkSnUOCSAKbM4,45482
113
113
  angr/analyses/decompiler/region_walker.py,sha256=lTfweYbY4_a2f2yGztTKG6JtU1jXf-kaz-NHbX9nkXE,717
114
114
  angr/analyses/decompiler/return_maker.py,sha256=CztTpm6e3TF0ijdiZDl0HeObxTtOz0TOQd_uIqL0xMM,2467
115
+ angr/analyses/decompiler/seq_cf_structure_counter.py,sha256=JQ3iY5RXdyggVKXes--38g_EpNOuwM6CsVOqicYu2gQ,1245
115
116
  angr/analyses/decompiler/seq_to_blocks.py,sha256=2KINMEgaXMG3XIiFDMRkbn10dggy7a9AHgwV383huRM,529
116
117
  angr/analyses/decompiler/sequence_walker.py,sha256=mw4RG-Act5_no_RyQcsxWZwva-n7FdH2a7w_uItGUpI,8428
117
118
  angr/analyses/decompiler/utils.py,sha256=wD93VTmahKQE_k-9rYEnsKFMDVIgOi-VeZk363skyKs,28078
118
119
  angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=wbWqZ8xG6ZvzEApkAwMsNQFC-iwF3swG1YJsaf1cIrQ,102
119
120
  angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=qcr8a-83pY8nqwsYY27gc9ev8XtBxpdGPrmaULr6XuU,21519
120
121
  angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=9-O-m4OB4DsAMAyAH_0sZg1FdhUUQQbENy8yhsJ7PJo,463
121
- angr/analyses/decompiler/optimization_passes/__init__.py,sha256=ZsMHg2ST8pxQHSnc6HzE9LtIPv6HyD2DFweGCSomwCQ,4076
122
+ angr/analyses/decompiler/optimization_passes/__init__.py,sha256=mu8cqtQo4458zAdyWbS9_IsFRCA59gqVIW5tIhq1zKQ,4163
122
123
  angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=bjpEMW-Lqj5XW9NWUikGPcRn5scKNc8VvEjVMXxAuq8,5289
123
124
  angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=RoOVC1IyziUh_N6quZzRmBwkSNLSzvc8A3-EGAUsETU,15263
124
125
  angr/analyses/decompiler/optimization_passes/const_derefs.py,sha256=n2JKyEymGDMhIoXc2zsn6pAxxx9T5eu-jxyO3Cg8Fts,10658
126
+ angr/analyses/decompiler/optimization_passes/const_prop_reverter.py,sha256=FBZIgncVwJ6fXdsxhWgWxeJx0A2fLmtiksu6A_GmikY,13107
125
127
  angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py,sha256=CP-WjyQGOw_mnUF0ZpC5C4syMxlx4Tvy0T_EIZQxXrY,4033
126
- angr/analyses/decompiler/optimization_passes/deadblock_remover.py,sha256=GYTqYz_OxEeliDQbgpdZOtIT1H2R4obuXHW6-mPRhz4,2303
128
+ angr/analyses/decompiler/optimization_passes/deadblock_remover.py,sha256=Km7nX7hNDVZGgEg7wmXAIiiA5edhpo7Bxqc13iyjiEk,2330
127
129
  angr/analyses/decompiler/optimization_passes/div_simplifier.py,sha256=J7LRc3-DKfToxKVejnkHbNel9_56-7xsGyJJiTCwqsQ,17442
128
130
  angr/analyses/decompiler/optimization_passes/engine_base.py,sha256=BkBZqDGQH-_9bVVOvrbEQbZmkr63Oh9OZvHbY0-yJmg,10974
129
131
  angr/analyses/decompiler/optimization_passes/expr_op_swapper.py,sha256=5tf8mrwYXAPQGZfL7AkzYOcRdiKYC3mLyN9I2bQnhgM,4700
@@ -131,16 +133,16 @@ angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py,sha256=4r6nVFuX
131
133
  angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=jebdKHbkFDRdz50SiDbwPYuh0u8yWYEEOafZcwa8q7I,16385
132
134
  angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=mTguIblic1kqvQYgcKs8awGAiFSqL6YbcqWzUB2pRfQ,7750
133
135
  angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=vjDRO-Rh5LVIlxGRCuggjcz12CIxQuISB0LCC-vF6ZM,7207
134
- angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=fg6Akd2_UqfS28cqLZ2oZsRt-lPMomEgQEiwVe-3Hkw,34232
136
+ angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=E3FRtgTyqMKFAL1nnCNq1jM6xpymwUaLzrGs6SJmmVU,39236
135
137
  angr/analyses/decompiler/optimization_passes/mod_simplifier.py,sha256=o2AZIpj4NpOAaWOGbudDUfGJJAD2exu-HvNbwph3mi8,3124
136
138
  angr/analyses/decompiler/optimization_passes/multi_simplifier.py,sha256=_63Y2vMNLSXYM6_Grfs89Nu63i5YLxTPmxTR_Z6fwLY,10420
137
- angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=d7JEAdr9Lw6gSsy-Nn6qJa6zud1wiuAdjuIpG956_HU,14290
139
+ angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=hIgDKGXN-EeT6SOn1oz3TRilKdp9P-Felc10XLz0m5k,17505
138
140
  angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=wzTeZtvneW-hETkwMw7fVRqLG7ey9cs4Im_sQBqUN14,7590
139
141
  angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py,sha256=NIzv8I4iK5GDd-dMmWgt6m8TgTwaQ-HMtnh6cRHr6ps,6441
140
142
  angr/analyses/decompiler/optimization_passes/ret_deduplicator.py,sha256=hE67-14bUWRw9qJgTUxFaH1dDJkhYVN5eH3ZThlbZnc,7797
141
- angr/analyses/decompiler/optimization_passes/return_duplicator_base.py,sha256=8-ApQdeGmifixvBVuq-y0ENxCdCPzOidHdDRhAiQZ8g,18359
143
+ angr/analyses/decompiler/optimization_passes/return_duplicator_base.py,sha256=NjeEbLh62qmMiBC9tlIsRleFBLIqGKEtxaOSuYe-jbo,19356
142
144
  angr/analyses/decompiler/optimization_passes/return_duplicator_high.py,sha256=l4JO9rgzVaLganGGdhVFB6iw55ZN3jo0VTGzUVNDSsI,1803
143
- angr/analyses/decompiler/optimization_passes/return_duplicator_low.py,sha256=EsPUn15jITXupCw5VLrtQedwYB1vgmsE44HQCyT6iwo,4973
145
+ angr/analyses/decompiler/optimization_passes/return_duplicator_low.py,sha256=3RRwzrekCnGJjf5lv7OBajHVb5zo9HNuIVFTEIkSkBg,9783
144
146
  angr/analyses/decompiler/optimization_passes/spilled_register_finder.py,sha256=YTRlIfcooZnTaYRN6FNJ60uBqRNH4rFcgkp1_QJCdXY,552
145
147
  angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=U96EaEZzHo-iJ0rbe80E-Jj1s8ilEZh8QXCTOIM0oBE,12537
146
148
  angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=U9XIMXWYI_UHTamKHdjdXP4QVBvi386SSI0f2KoHu3I,4523
@@ -206,12 +208,12 @@ angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=
206
208
  angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=HGIiC6c3C91VfcqxUHe9aTsRohwmMXOHZH_G_dbwwx4,3327
207
209
  angr/analyses/decompiler/structured_codegen/__init__.py,sha256=NLEvs8xnJwJiUgX8AmgS7rtFFW4SxtQcA1AjzE-GryA,313
208
210
  angr/analyses/decompiler/structured_codegen/base.py,sha256=TdghqAsAkjZpPfzFarh8Wn1zfBYMFcMsBZhRqXgoPNo,3778
209
- angr/analyses/decompiler/structured_codegen/c.py,sha256=YcvlggO1mRMbiXZoGMJOj2L09BE2TwaHP5OCwEjAvbo,135539
211
+ angr/analyses/decompiler/structured_codegen/c.py,sha256=QWeW7ahnqPG1JPXldHyCe6xb2eonbyIFJCJtBeXSYZE,135529
210
212
  angr/analyses/decompiler/structured_codegen/dummy.py,sha256=IVfmtcWpTgNCRVsuW3GdQgDnuPmvodX85V0bBYtF_BI,535
211
213
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=TMz65TkF_ID_Ipocj0aFDb84H6slolN90wq0tzhY2Rk,6773
212
214
  angr/analyses/decompiler/structuring/__init__.py,sha256=Ai63Im5VSiMDP8ACiDb34chqMl84JgzQXFIO8MV7hl0,368
213
215
  angr/analyses/decompiler/structuring/dream.py,sha256=NBv19CyJrYb2q77Q-3gpIhEl0r6Aci4lhO4hY_VQfN8,48374
214
- angr/analyses/decompiler/structuring/phoenix.py,sha256=s5S-T--8EPwPQ5sTUJkjXbFpPq7HiXFjrpKz-l4sgis,119426
216
+ angr/analyses/decompiler/structuring/phoenix.py,sha256=JfWEdMf6P4ypQpVo-uh_ZL6zrYPem8qbkY-J7dFoQmQ,119612
215
217
  angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=E_6Tj6jpNmWbZ_f9fwxan87VNYUGnf26fnoZC7dxny4,7063
216
218
  angr/analyses/decompiler/structuring/structurer_base.py,sha256=JoUxpZ2iDN0V7vToMPb0MgGB6eTvWDUk0JK8oJYlQ3U,41254
217
219
  angr/analyses/decompiler/structuring/structurer_nodes.py,sha256=x-1xUfeIzTNwLlRTv2M_9q7BDWLSWiSkaOuk20l8750,11930
@@ -273,8 +275,8 @@ angr/analyses/reaching_definitions/external_codeloc.py,sha256=47DEQpj8HBSa-_TImW
273
275
  angr/analyses/reaching_definitions/function_handler.py,sha256=UvUsdoBvl33aUuL5nN_X_Ce02mUeuJlN32ZyqnI7oS8,27691
274
276
  angr/analyses/reaching_definitions/heap_allocator.py,sha256=DkzDT8_YIE0m9CBFsC3GRxNQM5GCBAYXZpnDRZtezSo,2591
275
277
  angr/analyses/reaching_definitions/rd_initializer.py,sha256=zWjK7RZ4EJlIs-6dqZR7OY18TynfA0lOd1ipEi4kSe4,11183
276
- angr/analyses/reaching_definitions/rd_state.py,sha256=0PHbqNw0Qi-JE2C47up_s4Xfshk7C5INDltDjRgfX6Q,23823
277
- angr/analyses/reaching_definitions/reaching_definitions.py,sha256=XpmYZqT7Os3Q2o9KONxNHDu23Vq7dCGN8gYcyRmZLfA,23945
278
+ angr/analyses/reaching_definitions/rd_state.py,sha256=xf4RuXhIAYaJxDmiP9zEEB-goASwW0xsp9wzz8eu42U,23910
279
+ angr/analyses/reaching_definitions/reaching_definitions.py,sha256=u0ZOHh2yBZckMbIMyJTlMsoIBchb0iU_kVphyUHkZCc,24352
278
280
  angr/analyses/reaching_definitions/subject.py,sha256=f3Gjg6Q0qCwtL443ctdVB_F1_sbGchftdjTqX6qsnbo,1958
279
281
  angr/analyses/typehoon/__init__.py,sha256=kCQMAuvsUKAdYFiOstBzMBCqpquJKJCQSe0CGAr2Rng,31
280
282
  angr/analyses/typehoon/dfa.py,sha256=Q1sR1RDmt7pmMJjFByco9grbr2qm92HihnB9qJmerSo,3488
@@ -303,7 +305,7 @@ angr/angrdb/serializers/comments.py,sha256=ygfH_4HkJ1Es013UyNk7iGumyoc6Edn7P99qW
303
305
  angr/angrdb/serializers/funcs.py,sha256=SeR3TwRiWFE9h_FSmdc51GB6nkFolCg4Ucb6dsJIx9M,1696
304
306
  angr/angrdb/serializers/kb.py,sha256=R1aiYN39CrPlsnCYNfM7O4nFM7LvPONONBAYU1g9j1k,3827
305
307
  angr/angrdb/serializers/labels.py,sha256=Sc6LDcyJiZ9gMDno1fbp_96RYv5D4UZirTbzPcJGAY0,1425
306
- angr/angrdb/serializers/loader.py,sha256=gwkn7N22V9yN12iQBJ21fOlFVCajzKbociNX0BBcifE,2470
308
+ angr/angrdb/serializers/loader.py,sha256=Kuo_j1DFtdJHDbBNfpNdnUL_qWblRhxBVgcBlfhE4UM,5236
307
309
  angr/angrdb/serializers/structured_code.py,sha256=1y1uz6K7bYurEcQK5q7Diba-b-XUFvGVqpFj80pmgOU,4184
308
310
  angr/angrdb/serializers/variables.py,sha256=5o_wgf45hWE7bqJes1QDdlaYaF4Eh_cqg7gUrJdfbQk,2383
309
311
  angr/angrdb/serializers/xrefs.py,sha256=PWoBqu7aTMDaxA_PB68B7zm4b_fnWbAt8u_K5HN11pI,1180
@@ -466,7 +468,7 @@ angr/knowledge_plugins/key_definitions/definition.py,sha256=o0L7NZIAHPAbwxNiY7zI
466
468
  angr/knowledge_plugins/key_definitions/environment.py,sha256=d1oRytninRakOwdoif4szyvyLIQyhEHYVBfVt4mRCdQ,3845
467
469
  angr/knowledge_plugins/key_definitions/heap_address.py,sha256=gpHyXvuTz3udaw83DZ5ZGLnDwqZ3EmdMtykPS3mrfXo,890
468
470
  angr/knowledge_plugins/key_definitions/key_definition_manager.py,sha256=N8RvK6WqksoB1frFM404Ea_CyyumNrjVao2bwPOgsTc,3272
469
- angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=jLBDx1BMh2tlICGTQXhpLOz3X7zbb9xUX5IFnEvfIWI,40342
471
+ angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=NrqViz1W9BcNxCv_DQWMi7KACm0J3bzDhmjUk5-pVxk,40572
470
472
  angr/knowledge_plugins/key_definitions/liveness.py,sha256=uC4N-8uPoYH_RdAWVUtA3aNuMVY5NQnpGp51VWP6BNU,7101
471
473
  angr/knowledge_plugins/key_definitions/rd_model.py,sha256=NC4yg3FDO_0hDON1c7loBVl3BGefbDKrT8W0YtB6U-k,7249
472
474
  angr/knowledge_plugins/key_definitions/tag.py,sha256=uBHlS71E3Ok_6V3K8NkMblctCrnAHmPYikaFTA02PyA,1682
@@ -477,14 +479,14 @@ angr/knowledge_plugins/propagations/__init__.py,sha256=YOHJ2PMz-egzFMA2H0eKa5FDM
477
479
  angr/knowledge_plugins/propagations/prop_value.py,sha256=2qg2gL2VQ2Fw-iA0vyxfTrs5Qt_yohfA5JAeFiGQmNc,7696
478
480
  angr/knowledge_plugins/propagations/propagation_manager.py,sha256=VwqBlAt1AwTotiDOb_IHmL5L34odPmpGERv5o8-1KVw,2090
479
481
  angr/knowledge_plugins/propagations/propagation_model.py,sha256=_T3BnjRQJ6YoTkLeggxKtk53KTo9PrGyx53klKpvodw,2737
480
- angr/knowledge_plugins/propagations/states.py,sha256=FZvbTTjNfLJRfRyy2bkBgVuPcxOhOUQ30Ju9CikSdlk,40358
482
+ angr/knowledge_plugins/propagations/states.py,sha256=9vq4aSffW1tXWDLaXhNowsRKaf22R0CmXK0NYOnsD-k,40416
481
483
  angr/knowledge_plugins/structured_code/__init__.py,sha256=9edAAAVroOR8nNBThuRjOnjVUIqavnObO7mlUttxInA,43
482
484
  angr/knowledge_plugins/structured_code/manager.py,sha256=mS1glFUBeT566atVfypIQnxtzYpi51WiBmhhixqep0I,2065
483
485
  angr/knowledge_plugins/sync/__init__.py,sha256=RN3y0UhYax-GdPyAhondMXEBuWIu-enHjxjpdTKhQ58,44
484
486
  angr/knowledge_plugins/sync/sync_controller.py,sha256=gZ1NUg8iJWu2EaOYY6WYj_W13tRtreIu5CA1VvpTmTA,9270
485
487
  angr/knowledge_plugins/variables/__init__.py,sha256=tmh_2i0X6Y41TkEgxHRQ4y-kVEGZnlDIpJZ_wUkCISI,60
486
488
  angr/knowledge_plugins/variables/variable_access.py,sha256=RzT-6C3cPXqSlWpQ_vZUf6s4tfYXp2lfOvgfYWkTLyo,3726
487
- angr/knowledge_plugins/variables/variable_manager.py,sha256=r8w2xIP-VN1_DS3r9y2GK3LAy8fMndL1m-7_obiIsbY,47315
489
+ angr/knowledge_plugins/variables/variable_manager.py,sha256=5tESKmGiHLSSQRmyBjbmQ0oMMO1_TDN1tDo8Sj1J5yo,47312
488
490
  angr/knowledge_plugins/xrefs/__init__.py,sha256=-5A2h048WTRu6Et7q7bqlc-AyBXNuJ9AF9nE9zc3M4I,94
489
491
  angr/knowledge_plugins/xrefs/xref.py,sha256=1BMphrr8iViDtVWPXWidmY1_uNmw9LRvEwwZLt3Zqw8,4907
490
492
  angr/knowledge_plugins/xrefs/xref_manager.py,sha256=a4uvTJkdM0PQIuyYcd7t76IddrrVjPGe9SZrRaqp2II,3980
@@ -1120,7 +1122,7 @@ angr/procedures/stubs/Nop.py,sha256=F2xhBbOQdPfPweS0BRgjU8IEeQsZp8daTwTdyCzyqLE,
1120
1122
  angr/procedures/stubs/PathTerminator.py,sha256=iR2EcbHD4Qnk9xX_T4BBxYnrqQgMNt3qE5FMl4qcxH8,108
1121
1123
  angr/procedures/stubs/Redirect.py,sha256=WtDHy6QSk6uuqmtby-6TMBInu8Vp85lF_tWvwpb1X64,439
1122
1124
  angr/procedures/stubs/ReturnChar.py,sha256=A9VToWUtMR1Fb4hvLIZ2MRtPpU_yH1PUbXrTZ1seLec,358
1123
- angr/procedures/stubs/ReturnUnconstrained.py,sha256=ghWgCRf04nGaAP3tq_QsUN8rOVb-H4Xe0erqVSZzjeQ,774
1125
+ angr/procedures/stubs/ReturnUnconstrained.py,sha256=Twy5PgpSLlH7H4bwxgU7kg5KQIs5bmkWm3SyarIsgPU,699
1124
1126
  angr/procedures/stubs/UnresolvableCallTarget.py,sha256=YG1h0RFSMIJy7WnKdJsDJlyiN45zu41MaWXLEeR-HqI,153
1125
1127
  angr/procedures/stubs/UnresolvableJumpTarget.py,sha256=44utWcJ52iRaBgEMTpb_MByvP_0fYqtYbb4VCtjR-s4,152
1126
1128
  angr/procedures/stubs/UserHook.py,sha256=Z7AGpUQJ8PmDwgkad0HoiEkeKOQCkXba-xtWPHtp-WI,561
@@ -1129,7 +1131,7 @@ angr/procedures/stubs/b64_decode.py,sha256=baovh7-PURKxG0eks07cTX6_RO8gYw-UmqEga
1129
1131
  angr/procedures/stubs/caller.py,sha256=wT3A37gO0QBOKdsT12DpNz4zZMivFIwJtXr2oApJ8XI,343
1130
1132
  angr/procedures/stubs/crazy_scanf.py,sha256=CJe3qzTJEv_0AHmcl3gOxGwZOhV8o1z73fAMqIOiuJM,643
1131
1133
  angr/procedures/stubs/format_parser.py,sha256=fbFkxcAbUrmoUMK5zCBngleVXReOvcFHsPCabip-pBo,27941
1132
- angr/procedures/stubs/syscall_stub.py,sha256=ZURVeDuH06xX-eseAMQZCkYYRDxXx2USQSkGhOoAl5o,902
1134
+ angr/procedures/stubs/syscall_stub.py,sha256=iZT6sl2RxGG8azjykN3SubY-qnLU00dDzYeTp1sXwI4,831
1133
1135
  angr/procedures/testing/__init__.py,sha256=mkl-uqerjl2KIlTiJDmE9WW9zE9sL2MQsYLHOfeoJh8,106
1134
1136
  angr/procedures/testing/manyargs.py,sha256=omzRwPCNqrBodw1nJ-alQh4v_82NHaJfr-1E5xCGQjU,100
1135
1137
  angr/procedures/testing/retreg.py,sha256=q6JDtgguJ40niF5_pa6eM_YXGyyzdjR3S8iqn7vSziI,171
@@ -1187,7 +1189,7 @@ angr/state_plugins/__init__.py,sha256=Yig7z_PkqjB5nai_yzxf06uwfQzQ9iPdrTVzKMKtfQ
1187
1189
  angr/state_plugins/callstack.py,sha256=Q4I0paOULwMgzspk2J3W-Q9Y616Oe-QcOjNjIS63MFM,12099
1188
1190
  angr/state_plugins/cgc.py,sha256=dzkDoiZIK9Fd5DisDyGJQ42cE5Xx9cz2bsjZXn6jEh0,4247
1189
1191
  angr/state_plugins/concrete.py,sha256=o63DhCnknRamWsuHSVhaadkzX0LKEmMwm5vzsF6pdrA,13310
1190
- angr/state_plugins/debug_variables.py,sha256=MjNQKrxhvbDJ3cXW0g6CTA4refWYSWYn8PJVxlsoqRU,6844
1192
+ angr/state_plugins/debug_variables.py,sha256=6FUQ8be1SJ6BmWbBX2jpT3TnplueGe_AxVk-4LghEkY,6858
1191
1193
  angr/state_plugins/filesystem.py,sha256=SjspfS6OXwXRa2ynbD0lddM__puKbxaIG5zVXwWzRcA,15902
1192
1194
  angr/state_plugins/gdb.py,sha256=tPQM-guGghWD65FHF2n_etc2UGMoaUBiXBtlRPVewNA,5125
1193
1195
  angr/state_plugins/globals.py,sha256=tfEVa8iqEmvD2vGoogx89aIoouw9GFc8JQcscDlXLbA,1507
@@ -1206,7 +1208,7 @@ angr/state_plugins/scratch.py,sha256=7j-J4xq8A9Axh6fJzQoUpLpobtIe0va7eeX-glGfYk0
1206
1208
  angr/state_plugins/sim_action.py,sha256=IDPLtcqN04APpStuVYarv00LF2u6JVFfdxEBEw_v_a0,9763
1207
1209
  angr/state_plugins/sim_action_object.py,sha256=4_f7ry76pG4XBnF7O48_7krt_ibG4DZkIMrjmmk_MGg,4268
1208
1210
  angr/state_plugins/sim_event.py,sha256=pRQtMet5g--GmH97BMrS3bDErgUOWAOocjPLGNzmelU,2061
1209
- angr/state_plugins/solver.py,sha256=HrEQgqNJtzdB8I8Qu8XG_3LjMBt6OdbAIewUFZiNZHk,45179
1211
+ angr/state_plugins/solver.py,sha256=YnuLKze1Ls-NWJZVIiH41yhvAVWyBBdaGyBinmQKh-I,44755
1210
1212
  angr/state_plugins/symbolizer.py,sha256=3UAfStON-0GuuHhkD4JD6Y5WveqEfTD3JLK3uj0R-co,11039
1211
1213
  angr/state_plugins/trace_additions.py,sha256=LRcgdGKY2QtzOwsVa-FYLGRFcl0ISOnq-WzCMayiM-8,30091
1212
1214
  angr/state_plugins/uc_manager.py,sha256=9yEE10rrGXTVncLzVOpgvSAGA2RdzApUu_fq_lUksDs,2643
@@ -1235,7 +1237,7 @@ angr/storage/memory_mixins/default_filler_mixin.py,sha256=Hlub-HcakhrNWWwJ0PbBYq
1235
1237
  angr/storage/memory_mixins/dirty_addrs_mixin.py,sha256=-UDDtjEkh19Dd5paf-62NBvSiIHTmQXPM0QtriJ5eig,317
1236
1238
  angr/storage/memory_mixins/hex_dumper_mixin.py,sha256=ciMIrmfTmxWPWVUUiIw5h8YNdHmrWg_GsK6Bzg5omzE,3668
1237
1239
  angr/storage/memory_mixins/label_merger_mixin.py,sha256=22eu5aNM-MUhBjUrqhz02sPF3T74uR6NYVmKv8dSnl0,848
1238
- angr/storage/memory_mixins/multi_value_merger_mixin.py,sha256=3YRS_9NBP1DiRWDst4HlI1nFkd3vQ-7TKdaldfX2Y18,3043
1240
+ angr/storage/memory_mixins/multi_value_merger_mixin.py,sha256=92OIsUhnUEAVz3_bUYEW0CIJzM4aY0O-aK2BfJl9nB8,3232
1239
1241
  angr/storage/memory_mixins/name_resolution_mixin.py,sha256=YOM3yDjTmybDgAVvJGHuVWUgkDqsbFsWRgkJP8vI9ho,3412
1240
1242
  angr/storage/memory_mixins/simple_interface_mixin.py,sha256=KTHvca8MXCWF4W8dbnQLFd7uJ-Gsab03_3kJGfFTAyY,2596
1241
1243
  angr/storage/memory_mixins/simplification_mixin.py,sha256=stTzmaoa0IHxhDSWsYdzKGSt2n37XRjJ7kgZdoa5Uu0,502
@@ -1290,12 +1292,13 @@ angr/utils/lazy_import.py,sha256=VgN0-cMsr6XdGIq56Js1X8YecfPdW9Z4NrB3d2jD-5Y,308
1290
1292
  angr/utils/library.py,sha256=6RKKn7Hm-YEw0AoTFIjL86kCdvglKI_5KtSysDAE06Q,7170
1291
1293
  angr/utils/loader.py,sha256=QdkatPiyRfz5KdfCzRI1Xp3TJL_Pa75wY0dsILgMbwk,1944
1292
1294
  angr/utils/mp.py,sha256=cv_NeysxLgyCdE-Euefnfv078ia5maHSnUn9f23zz88,1882
1295
+ angr/utils/orderedset.py,sha256=6SRZz6PkOVavOzlUd2cIiqZQyWtKO72F2he_cG0aP9Q,1943
1293
1296
  angr/utils/segment_list.py,sha256=5nnuVtdZk9NS2y_xUBVA9khWPueP_zagNtPSjaoMHbA,20410
1294
1297
  angr/utils/timing.py,sha256=uOowCP8kotDrKDOjlAod-guBuYkAA8zEtiAwpdwMlIU,1334
1295
1298
  angr/utils/typing.py,sha256=pCjA7JZAzcvrk-iyIE2cRHc1G66AMSGEON3aFfjtPVc,431
1296
- angr-9.2.111.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1297
- angr-9.2.111.dist-info/METADATA,sha256=kLfhkitl-nsiu_raFAO--tkzI7Ot9NZUEa3yG2hC5GU,4703
1298
- angr-9.2.111.dist-info/WHEEL,sha256=iufSf1KKWRBx2aJd9Qq5NmBm_pHichurGAybHCyxUJA,108
1299
- angr-9.2.111.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1300
- angr-9.2.111.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1301
- angr-9.2.111.dist-info/RECORD,,
1299
+ angr-9.2.113.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1300
+ angr-9.2.113.dist-info/METADATA,sha256=LAfEtzuE36bkULkly8pJCE2HrLcoXf15H01VT5gA5Pc,4703
1301
+ angr-9.2.113.dist-info/WHEEL,sha256=Yrlkp2FN5eB1iJokHDZeXLdZ_qJj6VDfsohw8raW5Pc,108
1302
+ angr-9.2.113.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1303
+ angr-9.2.113.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1304
+ angr-9.2.113.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.3.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-manylinux2014_x86_64
5
5