angr 9.2.128__py3-none-macosx_11_0_arm64.whl → 9.2.130__py3-none-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
angr/__init__.py CHANGED
@@ -2,7 +2,7 @@
2
2
  # pylint: disable=wrong-import-position
3
3
  from __future__ import annotations
4
4
 
5
- __version__ = "9.2.128"
5
+ __version__ = "9.2.130"
6
6
 
7
7
  if bytes is str:
8
8
  raise Exception(
@@ -1317,7 +1317,7 @@ class AILSimplifier(Analysis):
1317
1317
  continue
1318
1318
  uses = rd.get_vvar_uses(def_.atom)
1319
1319
 
1320
- elif def_.atom.was_reg or def_.atom.was_parameter:
1320
+ elif def_.atom.was_tmp or def_.atom.was_reg or def_.atom.was_parameter:
1321
1321
  uses = rd.get_vvar_uses(def_.atom)
1322
1322
 
1323
1323
  else:
@@ -220,7 +220,10 @@ class RegionIdentifier(Analysis):
220
220
  type_ = data.get("type", None)
221
221
  if type_ == "fake_return":
222
222
  if len(list(graph.successors(src))) == 1 and len(list(graph.predecessors(dst))) == 1:
223
- self._merge_nodes(graph, src, dst, force_multinode=True)
223
+ merged_node = self._merge_nodes(graph, src, dst, force_multinode=True)
224
+ # update the entry_node if necessary
225
+ if entry_node is not None and entry_node is src:
226
+ entry_node = merged_node
224
227
  break
225
228
  elif type_ == "call":
226
229
  graph.remove_node(dst)
@@ -1059,6 +1062,8 @@ class RegionIdentifier(Analysis):
1059
1062
  assert node_a not in graph
1060
1063
  assert node_b not in graph
1061
1064
 
1065
+ return new_node
1066
+
1062
1067
  def _absorb_node(
1063
1068
  self, graph: networkx.DiGraph, node_mommy, node_kiddie, force_multinode=False
1064
1069
  ): # pylint:disable=no-self-use
@@ -160,12 +160,14 @@ class SimEngineSSARewriting(
160
160
 
161
161
  def _handle_Store(self, stmt: Store) -> Store | Assignment | None:
162
162
  new_data = self._expr(stmt.data)
163
- vvar = self._replace_def_store(self.block.addr, self.block.idx, self.stmt_idx, stmt)
164
- if vvar is not None:
165
- return Assignment(stmt.idx, vvar, stmt.data if new_data is None else new_data, **stmt.tags)
163
+ if stmt.guard is None:
164
+ vvar = self._replace_def_store(self.block.addr, self.block.idx, self.stmt_idx, stmt)
165
+ if vvar is not None:
166
+ return Assignment(stmt.idx, vvar, stmt.data if new_data is None else new_data, **stmt.tags)
166
167
 
167
168
  # fall back to Store
168
169
  new_addr = self._expr(stmt.addr)
170
+ new_guard = self._expr(stmt.guard) if stmt.guard is not None else None
169
171
 
170
172
  if new_addr is not None or new_data is not None:
171
173
  return Store(
@@ -174,7 +176,7 @@ class SimEngineSSARewriting(
174
176
  stmt.data if new_data is None else new_data,
175
177
  stmt.size,
176
178
  stmt.endness,
177
- guard=stmt.guard,
179
+ guard=new_guard,
178
180
  **stmt.tags,
179
181
  )
180
182
 
@@ -60,6 +60,8 @@ class SimEngineSSATraversal(
60
60
  def _handle_Store(self, stmt: Store):
61
61
  self._expr(stmt.addr)
62
62
  self._expr(stmt.data)
63
+ if stmt.guard is not None:
64
+ self._expr(stmt.guard)
63
65
 
64
66
  if self.stackvars and isinstance(stmt.addr, StackBaseOffset) and isinstance(stmt.addr.offset, int):
65
67
  codeloc = self._codeloc()
@@ -20,6 +20,7 @@ from angr.utils.graph import dominates, to_acyclic_graph, dfs_back_edges
20
20
  from angr.analyses.decompiler.sequence_walker import SequenceWalker
21
21
  from angr.analyses.decompiler.utils import (
22
22
  remove_last_statement,
23
+ remove_last_statements,
23
24
  extract_jump_targets,
24
25
  switch_extract_cmp_bounds,
25
26
  is_empty_or_label_only_node,
@@ -1538,7 +1539,7 @@ class PhoenixStructurer(StructurerBase):
1538
1539
 
1539
1540
  if node_a is not None:
1540
1541
  # remove the last statement in node_a
1541
- remove_last_statement(node_a)
1542
+ remove_last_statements(node_a)
1542
1543
 
1543
1544
  return True
1544
1545
 
@@ -2308,7 +2309,7 @@ class PhoenixStructurer(StructurerBase):
2308
2309
  if new_src is not None:
2309
2310
  self.replace_nodes(full_graph, src, new_src)
2310
2311
  if remove_src_last_stmt:
2311
- remove_last_statement(src)
2312
+ remove_last_statements(src)
2312
2313
 
2313
2314
  def _should_use_multistmtexprs(self, node: Block | BaseNode) -> bool:
2314
2315
  """
@@ -45,6 +45,33 @@ def remove_last_statement(node):
45
45
  return stmt
46
46
 
47
47
 
48
+ def remove_last_statements(node) -> bool:
49
+ if type(node) is CodeNode:
50
+ return remove_last_statements(node.node)
51
+ if type(node) is ailment.Block:
52
+ if not node.statements:
53
+ return False
54
+ node.statements = node.statements[:-1]
55
+ return True
56
+ if type(node) is MultiNode or type(node) is SequenceNode:
57
+ if node.nodes:
58
+ remove_last_statements(node.nodes[-1])
59
+ if BaseNode.test_empty_node(node.nodes[-1]):
60
+ node.nodes = node.nodes[:-1]
61
+ return True
62
+ return False
63
+ if type(node) is ConditionNode:
64
+ r = False
65
+ if node.true_node is None and node.false_node is not None:
66
+ r |= remove_last_statements(node.false_node)
67
+ if node.true_node is not None and node.false_node is None:
68
+ r |= remove_last_statements(node.true_node)
69
+ return r
70
+ if type(node) is LoopNode:
71
+ return remove_last_statements(node.sequence_node)
72
+ raise NotImplementedError
73
+
74
+
48
75
  def append_statement(node, stmt):
49
76
  if type(node) is CodeNode:
50
77
  append_statement(node.node, stmt)
@@ -214,8 +214,23 @@ class SimEngineVRVEX(
214
214
  for target_func in self.call_info.get(current_addr, []):
215
215
  self._handle_function_concrete(target_func)
216
216
 
217
- # handles return statements
218
- if self.block.vex.jumpkind == "Ijk_Ret":
217
+ if self.block.vex.jumpkind == "Ijk_Call":
218
+ # emulates return values from calls
219
+ cc = None
220
+ for target_func in self.call_info.get(self.state.block_addr, []):
221
+ if target_func.calling_convention is not None:
222
+ cc = target_func.calling_convention
223
+ break
224
+ if cc is None:
225
+ cc = default_cc(self.arch.name, platform=self.project.simos.name)(self.arch)
226
+ if isinstance(cc.RETURN_VAL, SimRegArg):
227
+ reg_offset, reg_size = self.arch.registers[cc.RETURN_VAL.reg_name]
228
+ data = self._top(reg_size * self.arch.byte_width)
229
+ self._assign_to_register(reg_offset, data, reg_size, create_variable=False)
230
+
231
+ elif self.block.vex.jumpkind == "Ijk_Ret":
232
+ # handles return statements
233
+
219
234
  # determine the size of the return register
220
235
  # TODO: Handle multiple return registers
221
236
  cc = self.state.function.calling_convention
@@ -1272,19 +1272,21 @@ class SimEngineLightAILMixin(SimEngineLightMixin):
1272
1272
  if expr_1 is None:
1273
1273
  expr_1 = arg1
1274
1274
 
1275
- try:
1276
- return expr_0 * expr_1
1277
- except TypeError:
1278
- return ailment.Expr.BinaryOp(
1279
- expr.idx,
1280
- "Mull",
1281
- [expr_0, expr_1],
1282
- expr.signed,
1283
- bits=expr.bits,
1284
- floating_point=expr.floating_point,
1285
- rounding_mode=expr.rounding_mode,
1286
- **expr.tags,
1287
- )
1275
+ if isinstance(expr_0, claripy.ast.Bits) and isinstance(expr_1, claripy.ast.Bits):
1276
+ expr0_ext = claripy.ZeroExt(expr_0.size(), expr_0)
1277
+ expr1_ext = claripy.ZeroExt(expr_1.size(), expr_1)
1278
+ return expr0_ext * expr1_ext
1279
+
1280
+ return ailment.Expr.BinaryOp(
1281
+ expr.idx,
1282
+ "Mull",
1283
+ [expr_0, expr_1],
1284
+ expr.signed,
1285
+ bits=expr.bits * 2,
1286
+ floating_point=expr.floating_point,
1287
+ rounding_mode=expr.rounding_mode,
1288
+ **expr.tags,
1289
+ )
1288
1290
 
1289
1291
  def _ail_handle_And(self, expr):
1290
1292
  arg0, arg1 = expr.operands
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.128
3
+ Version: 9.2.130
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
@@ -16,13 +16,13 @@ Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
17
  Requires-Dist: CppHeaderParser
18
18
  Requires-Dist: GitPython
19
- Requires-Dist: ailment==9.2.128
20
- Requires-Dist: archinfo==9.2.128
19
+ Requires-Dist: ailment==9.2.130
20
+ Requires-Dist: archinfo==9.2.130
21
21
  Requires-Dist: cachetools
22
22
  Requires-Dist: capstone==5.0.3
23
23
  Requires-Dist: cffi>=1.14.0
24
- Requires-Dist: claripy==9.2.128
25
- Requires-Dist: cle==9.2.128
24
+ Requires-Dist: claripy==9.2.130
25
+ Requires-Dist: cle==9.2.130
26
26
  Requires-Dist: itanium-demangler
27
27
  Requires-Dist: mulpyplexer
28
28
  Requires-Dist: nampa
@@ -31,7 +31,7 @@ Requires-Dist: protobuf>=5.28.2
31
31
  Requires-Dist: psutil
32
32
  Requires-Dist: pycparser>=2.18
33
33
  Requires-Dist: pyformlang
34
- Requires-Dist: pyvex==9.2.128
34
+ Requires-Dist: pyvex==9.2.130
35
35
  Requires-Dist: rich>=13.1.0
36
36
  Requires-Dist: sortedcontainers
37
37
  Requires-Dist: sympy
@@ -1,4 +1,4 @@
1
- angr/__init__.py,sha256=ytV3MRTukLbYI2A4Ge6uSfkOLZka9s_y8R41PJE1kJs,9153
1
+ angr/__init__.py,sha256=YLYzgmZmPOpGiJzrPC7iulriZ9MaWKOa_5apsQpeWyo,9153
2
2
  angr/__main__.py,sha256=XeawhF6Cco9eWcfMTDWzYYggLB3qjnQ87IIeFOplaHM,2873
3
3
  angr/annocfg.py,sha256=5fiS9TPt5r1_8g_qSfD2XkETlBdm5MTClBIQKqhm040,10624
4
4
  angr/blade.py,sha256=GpbEumxMsb_6qD7TbtfZuW2CMzV7W1iwqYzQWYlXnxM,15394
@@ -96,7 +96,7 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=QN_m2yDyOWnRHg1l4n6dKD
96
96
  angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
97
97
  angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
98
98
  angr/analyses/decompiler/__init__.py,sha256=JAHy5toHIzNxlRnht8geYexKueYhhCGHs7GM4E11AN4,1162
99
- angr/analyses/decompiler/ail_simplifier.py,sha256=dFoUJPeJF6cx03cdNG6NMGFvNfZJrCXAsDY1ncppiCI,71855
99
+ angr/analyses/decompiler/ail_simplifier.py,sha256=AI2GwIISIyNWCNRvUbTcpqqle4lD-uZpZq6YN8DBq1E,71876
100
100
  angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
101
101
  angr/analyses/decompiler/block_io_finder.py,sha256=xMwG8Bi69OGNYVs0U0F4yxM8kEsnyrsMrf0gEr8dOEw,10923
102
102
  angr/analyses/decompiler/block_similarity.py,sha256=ISMoOm-TGJ_1wD2i_4m8IYTletgnP66gReQESJnfvS0,6873
@@ -115,12 +115,12 @@ angr/analyses/decompiler/jump_target_collector.py,sha256=qR11VsIp6H1N-19xCdXMRs1
115
115
  angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=f_JyNiSZfoudElfl2kIzONoYCiosR4xYFOe8Q5SkvLg,2176
116
116
  angr/analyses/decompiler/label_collector.py,sha256=JLaGuSZu-DdJMBTYOPt4QpWJ6UigOpsC5bgNANrSao4,798
117
117
  angr/analyses/decompiler/redundant_label_remover.py,sha256=J9hpP3C_P08v84FjVU0q5Rmj5M1N9q3HKWSWsA2u7Yg,5879
118
- angr/analyses/decompiler/region_identifier.py,sha256=DGxaIc3cy-NYxKeZgMO_BuybQvI86XXxNX88Ya6elAw,47396
118
+ angr/analyses/decompiler/region_identifier.py,sha256=x3O9lvmJbO3rydE1Aw8eRMOFNXUkAGaJZv5dYz4a0X0,47622
119
119
  angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
120
120
  angr/analyses/decompiler/return_maker.py,sha256=pKn9_y5VXqTeJnD5uzLLd9sH_Dp_9wkPcWPiJPTV-7A,2550
121
121
  angr/analyses/decompiler/seq_to_blocks.py,sha256=bB-1m8oBO59AlAp6izAROks3BBxFW8zigLlrIMt6Yfs,564
122
122
  angr/analyses/decompiler/sequence_walker.py,sha256=ODDPnChZ3Li0JyIXDR41JW9zvCsfPF5JvGYDL52wAYI,9375
123
- angr/analyses/decompiler/utils.py,sha256=ldej1mpMKsWYgENa5qG4VTeoCrID-9JudTaaFLTQEco,30456
123
+ angr/analyses/decompiler/utils.py,sha256=ylsc9wMtoNo5uL2qm1egYH-3DqU-cpBCFu0Hh3Du9DQ,31460
124
124
  angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=pTCBcuro4f8bnK7N6D48Y7Dh-2QwyzgVY33LlUBHcZE,137
125
125
  angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=5yFpxu2U9ySRGx0F5NOOgHKpYlZ57Bswe-uIOTc-du4,23422
126
126
  angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=8UyvC5BfQmYWJ_WPn7Vrt3c6YlEr0PdSzd8sPOvwlds,496
@@ -239,11 +239,11 @@ angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=
239
239
  angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=CngQ_LSACeEVIjuU6kIW2Y0ZSMJWFBwpL95Yh_7w3O4,3335
240
240
  angr/analyses/decompiler/ssailification/__init__.py,sha256=zcHoI7e2El2RSU_bHTpQRd1XRLHOfFScG6f3cm5y_lQ,108
241
241
  angr/analyses/decompiler/ssailification/rewriting.py,sha256=-3jNGbtTH8-Yznoy0BguKlwoLTh9kqihT1tG0XfXX7E,12328
242
- angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=IUQOrEJDxvCZ0iKpPfj-0lod8ejnTke629JMw1dGG_Q,27204
242
+ angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=K41p7z0O9YOjBokdb8QMJPA964kY5ufgYk4U1It9qNs,27325
243
243
  angr/analyses/decompiler/ssailification/rewriting_state.py,sha256=L7apDXQLPiItuLdQFoQdut5RMUE8MRV1zRc3CsnuH6E,1883
244
244
  angr/analyses/decompiler/ssailification/ssailification.py,sha256=bTMTwS4auYQCnY9cNwqbgdYksFym0Iro5e7qRIDmlME,8711
245
245
  angr/analyses/decompiler/ssailification/traversal.py,sha256=75QzMIAC5RY_RcxMmqUTNeoEgGJwuTnR2KXIc8hnaMI,2981
246
- angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=qVkx9fevkqxXy6PO1Yu2esPholvoaUOzqB1zmLKW9Os,5877
246
+ angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=eSC6wnsLTvXXI0CGOLufV7L9yc8lpc8hJooALrC2mto,5947
247
247
  angr/analyses/decompiler/ssailification/traversal_state.py,sha256=_AsCnLiI2HFdM6WrPyAudhc0X4aU_PziznbOgmzpDzQ,1313
248
248
  angr/analyses/decompiler/structured_codegen/__init__.py,sha256=unzkTPhZbpjf5J3GWg1iAFkW17aHFHzuByZCMKE4onQ,633
249
249
  angr/analyses/decompiler/structured_codegen/base.py,sha256=9Zfp2d8Oqp6TAgLJyu7v214YDBtdy3Qx8rs801wIsv0,3796
@@ -252,7 +252,7 @@ angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbej
252
252
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
253
253
  angr/analyses/decompiler/structuring/__init__.py,sha256=u2SGBezMdqQF_2ixo8wr66vCMedAMY-cSjQyq2m-nR8,711
254
254
  angr/analyses/decompiler/structuring/dream.py,sha256=mPNNsNvNb-LoDcoU_HjUejRytIFY_ZyCAbK4tNq_5lM,48254
255
- angr/analyses/decompiler/structuring/phoenix.py,sha256=-DkejyxETWXqGGdDw2-HBqlMgNUkVpApyyMpPforhSA,125114
255
+ angr/analyses/decompiler/structuring/phoenix.py,sha256=4I8Vuhz4uQK7tZVvpP-UwiaE54iPWplGmjbgWzTp1Fc,125144
256
256
  angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=wxMiixVpmao1Rpuo3wN-gxkPh2YrgTTW4usgtdjdY9E,7150
257
257
  angr/analyses/decompiler/structuring/sailr.py,sha256=6lM9cK3iU1kQ_eki7v1Z2VxTiX5OwQzIRF_BbEsw67Q,5721
258
258
  angr/analyses/decompiler/structuring/structurer_base.py,sha256=b2fGaDOYy_XdgbOHsKIalJWVTXEt4zDK7w3IO-ZgIjI,43276
@@ -350,7 +350,7 @@ angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDY
350
350
  angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
351
351
  angr/analyses/variable_recovery/engine_ail.py,sha256=oOlvhYyU9FkAcWcpRE9G_simBdDMrsCEyZRasr9TzlI,28546
352
352
  angr/analyses/variable_recovery/engine_base.py,sha256=PKPz2OOmEYUNKiiXHZIS1LA3jBG03d-TwfdGaHfKu3Q,50374
353
- angr/analyses/variable_recovery/engine_vex.py,sha256=iC9FB_wYLxJAdTsOQ8QBtIN_SXKnIDrW8eNGZgv-0-Q,18835
353
+ angr/analyses/variable_recovery/engine_vex.py,sha256=LmUzvlKIyW0NawOfGoKvOq-AoiTtvREOmNdxL8y1cp4,19600
354
354
  angr/analyses/variable_recovery/irsb_scanner.py,sha256=HlH_Hd6z5i3MTBHRoWq1k4tGudz8PewiM76hYv8d3ZQ,4913
355
355
  angr/analyses/variable_recovery/variable_recovery.py,sha256=pBXY1fb3jR2pDpLMtOjL8rH_tkjyvatObW12gYb-r1g,21742
356
356
  angr/analyses/variable_recovery/variable_recovery_base.py,sha256=_WX6Qa6HIFUJkZnMIj_wdE9UZo0otYk-oKNEZCA-OvI,15025
@@ -398,7 +398,7 @@ angr/engines/syscall.py,sha256=HPAygXTIb8e4_j2DBS4LCCaAz9DNyji5mucfoYck_Dc,2162
398
398
  angr/engines/unicorn.py,sha256=8ggDUXdEQl1EMiY-Tp4CnyzzMK0zZrkGObLvBwPU9uU,24496
399
399
  angr/engines/light/__init__.py,sha256=3arK8vMsnu6TRxa1_sVWBfD7fRDHFL5kBbl9q-ui9Zw,435
400
400
  angr/engines/light/data.py,sha256=W4g-RZcLyhqXMiyrQBhNYaf8a3NIemq4iQpbPsl_Cdg,21243
401
- angr/engines/light/engine.py,sha256=wJiS2i5TMN4cuHXZbJhJvT3MjcOlhGX8OHI1hEQuBiY,46031
401
+ angr/engines/light/engine.py,sha256=wIpMB3DkdsWsrefTdS9_lkqpbLmywbz9HTij2hmx8b4,46179
402
402
  angr/engines/pcode/__init__.py,sha256=aoEeroPopUOmSplbB9XMz9ke9LXO6jtFMmI_e8X4i28,195
403
403
  angr/engines/pcode/behavior.py,sha256=UZHWTPyRnWN28i8I6o6YgnsIa4CaN_yP36fyNu45heg,29406
404
404
  angr/engines/pcode/cc.py,sha256=vPT7FA2tmlPUVA2ptHDNVqhAZEuZZaJYajBEIctXH54,3180
@@ -546,7 +546,7 @@ angr/knowledge_plugins/xrefs/__init__.py,sha256=5PhqVOtTZ27lCjJ9wp7akUeJydqILbyC
546
546
  angr/knowledge_plugins/xrefs/xref.py,sha256=ROo_kAEKwB51whVYcGtTV0QRtYmQZV8nEoEtbQWyC9U,4883
547
547
  angr/knowledge_plugins/xrefs/xref_manager.py,sha256=Yb88z3L8Y26TfGeRHdsGWQlT9f6oWntjEg6s-kcVtUQ,4040
548
548
  angr/knowledge_plugins/xrefs/xref_types.py,sha256=LcQ9pD4E4XlC51Us49xiqAoGAFGpnCrpYO4mOzILiKI,308
549
- angr/lib/angr_native.dylib,sha256=29SpRwaekp-zwhLAzDULyuBvVWpV4Ce_1U4ppiK-qTs,16187984
549
+ angr/lib/angr_native.dylib,sha256=_F5BgnZkgg4Xu1GmaF6K59pMnVbbhEBwRUcojiWnkB8,16187984
550
550
  angr/misc/__init__.py,sha256=ZPHXbrIdsfe_qdmq8CnXuS_bBWOy4MDT2NjwUnPgHZc,355
551
551
  angr/misc/ansi.py,sha256=nPJHC0SKfqasMQZ0LxdmmIYojjmk4nr5jI6FrzoTwS0,811
552
552
  angr/misc/autoimport.py,sha256=iZagpuPwZWczUTYIqs-JkDMQjftMqc_cchcm7OBFiEg,3450
@@ -1353,9 +1353,9 @@ angr/utils/timing.py,sha256=ELuRPzdRSHzOATgtAzTFByMlVr021ypMrsvtpopreLg,1481
1353
1353
  angr/utils/ssa/__init__.py,sha256=Sz9zQVnvtmCbJJYeTG_k2JxcZtgxvIxap-KqzvRnIFQ,8015
1354
1354
  angr/utils/ssa/tmp_uses_collector.py,sha256=rSpvMxBHzg-tmvhsfjn3iLyPEKzaZN-xpQrdslMq3J4,793
1355
1355
  angr/utils/ssa/vvar_uses_collector.py,sha256=8gfAWdRMz73Deh-ZshDM3GPAot9Lf-rHzCiaCil0hlE,1342
1356
- angr-9.2.128.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1357
- angr-9.2.128.dist-info/METADATA,sha256=qLTnp41VD0korlbNqTSgjVkP62Lb2u4d8BdQ5DZUIyI,4762
1358
- angr-9.2.128.dist-info/WHEEL,sha256=aMl2wjhFmRLb0PzGtbsQDiQ_ix2CCwfH6UOgIzAXfKk,105
1359
- angr-9.2.128.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1360
- angr-9.2.128.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1361
- angr-9.2.128.dist-info/RECORD,,
1356
+ angr-9.2.130.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1357
+ angr-9.2.130.dist-info/METADATA,sha256=HreKfogB28SUxqGpV3d6OAJVB8yUY5PlGZXK_dSaaKo,4762
1358
+ angr-9.2.130.dist-info/WHEEL,sha256=Th5C81u9726-OiPrQL05PcMaVujUUHVcaSeW3fqH1L0,105
1359
+ angr-9.2.130.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1360
+ angr-9.2.130.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1361
+ angr-9.2.130.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.4.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-macosx_11_0_arm64
5
5