angr 9.2.97__py3-none-manylinux2014_x86_64.whl → 9.2.99__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 (32) hide show
  1. angr/__init__.py +1 -1
  2. angr/analyses/cfg/cfg_base.py +14 -1
  3. angr/analyses/cfg/cfg_fast.py +3 -3
  4. angr/analyses/cfg/indirect_jump_resolvers/propagator_utils.py +10 -6
  5. angr/analyses/decompiler/clinic.py +2 -40
  6. angr/analyses/decompiler/optimization_passes/__init__.py +2 -0
  7. angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py +380 -0
  8. angr/analyses/decompiler/optimization_passes/ite_region_converter.py +10 -2
  9. angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py +4 -1
  10. angr/analyses/decompiler/peephole_optimizations/__init__.py +1 -0
  11. angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py +71 -3
  12. angr/analyses/decompiler/peephole_optimizations/inlined_wstrcpy.py +162 -0
  13. angr/analyses/decompiler/region_simplifiers/expr_folding.py +5 -3
  14. angr/analyses/decompiler/return_maker.py +71 -0
  15. angr/analyses/decompiler/structured_codegen/__init__.py +1 -1
  16. angr/analyses/decompiler/structured_codegen/c.py +72 -99
  17. angr/analyses/decompiler/utils.py +5 -1
  18. angr/analyses/propagator/engine_vex.py +15 -0
  19. angr/analyses/reaching_definitions/engine_vex.py +6 -0
  20. angr/analyses/variable_recovery/engine_vex.py +6 -0
  21. angr/analyses/variable_recovery/irsb_scanner.py +12 -0
  22. angr/engines/light/engine.py +126 -15
  23. angr/knowledge_plugins/functions/function.py +4 -0
  24. angr/storage/memory_mixins/paged_memory/pages/list_page.py +20 -5
  25. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +2 -1
  26. angr/storage/memory_mixins/simple_interface_mixin.py +4 -0
  27. {angr-9.2.97.dist-info → angr-9.2.99.dist-info}/METADATA +6 -6
  28. {angr-9.2.97.dist-info → angr-9.2.99.dist-info}/RECORD +32 -29
  29. {angr-9.2.97.dist-info → angr-9.2.99.dist-info}/LICENSE +0 -0
  30. {angr-9.2.97.dist-info → angr-9.2.99.dist-info}/WHEEL +0 -0
  31. {angr-9.2.97.dist-info → angr-9.2.99.dist-info}/entry_points.txt +0 -0
  32. {angr-9.2.97.dist-info → angr-9.2.99.dist-info}/top_level.txt +0 -0
@@ -163,6 +163,9 @@ class SimEnginePropagatorVEX(
163
163
  self.state.store_register(stmt.offset, size, data)
164
164
  self.state.add_replacement(self._codeloc(block_only=False), VEXReg(stmt.offset, size), data)
165
165
 
166
+ def _handle_PutI(self, stmt):
167
+ self._expr(stmt.data)
168
+
166
169
  def _store_data(self, addr, data, size, endness):
167
170
  # pylint: disable=unused-argument,no-self-use
168
171
  if isinstance(addr, claripy.ast.Base):
@@ -260,6 +263,9 @@ class SimEnginePropagatorVEX(
260
263
  size = expr.result_size(self.tyenv) // self.arch.byte_width
261
264
  return self.state.load_register(expr.offset, size)
262
265
 
266
+ def _handle_GetI(self, expr):
267
+ return self.state.top(expr.result_size(self.tyenv))
268
+
263
269
  def _handle_Load(self, expr):
264
270
  addr = self._expr(expr.addr)
265
271
  if addr is None or type(addr) in (Top, Bottom):
@@ -278,6 +284,13 @@ class SimEnginePropagatorVEX(
278
284
  # print(expr.op, r)
279
285
  return r
280
286
 
287
+ def _handle_Triop(self, expr: pyvex.IRExpr.Triop):
288
+ if not self.state.do_binops:
289
+ return self.state.top(expr.result_size(self.tyenv))
290
+
291
+ r = super()._handle_Triop(expr)
292
+ return r
293
+
281
294
  def _handle_Conversion(self, expr):
282
295
  expr_ = self._expr(expr.args[0])
283
296
  to_size = expr.result_size(self.tyenv)
@@ -311,3 +324,5 @@ class SimEnginePropagatorVEX(
311
324
  self.state.block_initial_reg_values[self.block.addr, dst.concrete_value].append(v)
312
325
 
313
326
  super()._handle_Exit(stmt)
327
+
328
+ _handle_CmpF = _handle_CmpEQ
@@ -176,6 +176,9 @@ class SimEngineRDVEX(
176
176
  return
177
177
  self.state.kill_and_add_definition(reg, data)
178
178
 
179
+ def _handle_PutI(self, stmt):
180
+ pass
181
+
179
182
  # e.g. STle(t6) = t21, t6 and/or t21 might include multiple values
180
183
  def _handle_Store(self, stmt):
181
184
  addr = self._expr(stmt.addr)
@@ -404,6 +407,9 @@ class SimEngineRDVEX(
404
407
 
405
408
  return values
406
409
 
410
+ def _handle_GetI(self, expr: pyvex.IRExpr.GetI) -> MultiValues:
411
+ return MultiValues(self.state.top(expr.result_size(self.tyenv)))
412
+
407
413
  # e.g. t27 = LDle:I64(t9), t9 might include multiple values
408
414
  # caution: Is also called from StoreG
409
415
  def _handle_Load(self, expr) -> MultiValues:
@@ -61,6 +61,9 @@ class SimEngineVRVEX(
61
61
  return
62
62
  self._assign_to_register(offset, r, size)
63
63
 
64
+ def _handle_PutI(self, stmt):
65
+ pass
66
+
64
67
  def _handle_Store(self, stmt):
65
68
  addr_r = self._expr(stmt.addr)
66
69
  size = stmt.data.result_size(self.tyenv) // 8
@@ -159,6 +162,9 @@ class SimEngineVRVEX(
159
162
  create_variable=self.stmt_idx not in self.reg_read_stmts_to_ignore,
160
163
  )
161
164
 
165
+ def _handle_GetI(self, expr: pyvex.IRExpr.GetI):
166
+ return RichR(self.state.top(expr.result_size(self.tyenv)))
167
+
162
168
  def _handle_Load(self, expr: pyvex.IRExpr.Load) -> RichR:
163
169
  addr = self._expr(expr.addr)
164
170
  size = expr.result_size(self.tyenv) // 8
@@ -33,6 +33,12 @@ class VEXIRSBScanner(SimEngineLightVEXMixin):
33
33
  self.reg_read_stmt_id: Dict[int, int] = {}
34
34
  self.reg_read_stmts_to_ignore: Set[int] = set()
35
35
 
36
+ def _top(self, size: int):
37
+ return None
38
+
39
+ def _is_top(self, expr) -> bool:
40
+ return True
41
+
36
42
  def _process_Stmt(self, whitelist=None):
37
43
  self.tmps_with_64bit_regs = set()
38
44
  self.tmps_assignment_stmtidx = {}
@@ -55,6 +61,9 @@ class VEXIRSBScanner(SimEngineLightVEXMixin):
55
61
  self.reg_read_stmts_to_ignore.add(self.reg_read_stmt_id[old_reg_offset])
56
62
  self.reg_with_reg_as_value[stmt.offset] = self.tmp_with_reg_as_value[stmt.data.tmp]
57
63
 
64
+ def _handle_PutI(self, stmt):
65
+ pass
66
+
58
67
  def _handle_Load(self, expr):
59
68
  pass
60
69
 
@@ -85,6 +94,9 @@ class VEXIRSBScanner(SimEngineLightVEXMixin):
85
94
  if expr.offset in self.reg_with_reg_as_value:
86
95
  del self.reg_with_reg_as_value[expr.offset]
87
96
 
97
+ def _handle_GetI(self, expr):
98
+ pass
99
+
88
100
  def _handle_RdTmp(self, expr):
89
101
  if expr.tmp in self.tmps_converted_to_32bit:
90
102
  self.tmps_converted_to_32bit.remove(expr.tmp)
@@ -239,10 +239,55 @@ class SimEngineLightVEXMixin(SimEngineLightMixin):
239
239
  return None
240
240
 
241
241
  def _handle_Triop(self, expr: pyvex.IRExpr.Triop): # pylint: disable=useless-return
242
- if self.l is not None:
242
+ handler = None
243
+ if expr.op.startswith("Iop_AddF"):
244
+ handler = "_handle_AddF"
245
+ elif expr.op.startswith("Iop_SubF"):
246
+ handler = "_handle_AddF"
247
+ elif expr.op.startswith("Iop_MulF"):
248
+ handler = "_handle_MulF"
249
+ elif expr.op.startswith("Iop_DivF"):
250
+ handler = "_handle_DivF"
251
+ elif expr.op.startswith("Iop_SinF"):
252
+ handler = "_handle_SinF"
253
+ elif expr.op.startswith("Iop_ScaleF"):
254
+ handler = "_handle_ScaleF"
255
+
256
+ if handler is not None and hasattr(self, handler):
257
+ return getattr(self, handler)(expr)
258
+
259
+ if once(expr.op) and self.l is not None:
243
260
  self.l.error("Unsupported Triop %s.", expr.op)
261
+
244
262
  return None
245
263
 
264
+ def _handle_AddF(self, expr):
265
+ return self._top(expr.result_size(self.tyenv))
266
+
267
+ def _handle_SubF(self, expr):
268
+ return self._top(expr.result_size(self.tyenv))
269
+
270
+ def _handle_MulF(self, expr):
271
+ return self._top(expr.result_size(self.tyenv))
272
+
273
+ def _handle_DivF(self, expr):
274
+ return self._top(expr.result_size(self.tyenv))
275
+
276
+ def _handle_NegF(self, expr):
277
+ return self._top(expr.result_size(self.tyenv))
278
+
279
+ def _handle_AbsF(self, expr):
280
+ return self._top(expr.result_size(self.tyenv))
281
+
282
+ def _handle_SinF(self, expr):
283
+ return self._top(expr.result_size(self.tyenv))
284
+
285
+ def _handle_CosF(self, expr):
286
+ return self._top(expr.result_size(self.tyenv))
287
+
288
+ def _handle_ScaleF(self, expr):
289
+ return self._top(expr.result_size(self.tyenv))
290
+
246
291
  def _handle_RdTmp(self, expr):
247
292
  tmp = expr.tmp
248
293
 
@@ -294,6 +339,10 @@ class SimEngineLightVEXMixin(SimEngineLightMixin):
294
339
  handler = "_handle_Clz"
295
340
  elif expr.op.startswith("Iop_Ctz"):
296
341
  handler = "_handle_Ctz"
342
+ elif expr.op.startswith("Iop_NegF"):
343
+ handler = "_handle_NegF"
344
+ elif expr.op.startswith("Iop_AbsF"):
345
+ handler = "_handle_AbsF"
297
346
 
298
347
  if handler is not None and hasattr(self, handler):
299
348
  return getattr(self, handler)(expr)
@@ -361,6 +410,10 @@ class SimEngineLightVEXMixin(SimEngineLightMixin):
361
410
  handler = "_handle_16HLto32"
362
411
  elif expr.op.startswith("Iop_ExpCmpNE64"):
363
412
  handler = "_handle_ExpCmpNE64"
413
+ elif expr.op.startswith("Iop_SinF"):
414
+ handler = "_handle_SinF"
415
+ elif expr.op.startswith("Iop_CosF"):
416
+ handler = "_handle_CosF"
364
417
 
365
418
  vector_size, vector_count = None, None
366
419
  if handler is not None:
@@ -539,6 +592,10 @@ class SimEngineLightVEXMixin(SimEngineLightMixin):
539
592
 
540
593
  return expr_0 * expr_1
541
594
 
595
+ def _handle_Mull(self, expr):
596
+ self._binop_get_args(expr)
597
+ return self._top(expr.result_size(self.tyenv))
598
+
542
599
  def _handle_DivMod(self, expr):
543
600
  args, r = self._binop_get_args(expr)
544
601
  if args is None:
@@ -938,35 +995,47 @@ class SimEngineLightAILMixin(SimEngineLightMixin):
938
995
  return expr
939
996
 
940
997
  def _ail_handle_UnaryOp(self, expr):
941
- handler_name = "_ail_handle_%s" % expr.op
998
+ handler_name = f"_handle_{expr.op}"
942
999
  try:
943
1000
  handler = getattr(self, handler_name)
944
1001
  except AttributeError:
945
- if self.l is not None:
946
- self.l.warning("Unsupported UnaryOp %s.", expr.op)
947
- return None
1002
+ handler_name = "_ail_handle_%s" % expr.op
1003
+ try:
1004
+ handler = getattr(self, handler_name)
1005
+ except AttributeError:
1006
+ if self.l is not None:
1007
+ self.l.warning("Unsupported UnaryOp %s.", expr.op)
1008
+ return None
948
1009
 
949
1010
  return handler(expr)
950
1011
 
951
1012
  def _ail_handle_BinaryOp(self, expr):
952
- handler_name = "_ail_handle_%s" % expr.op
1013
+ handler_name = f"_handle_{expr.op}"
953
1014
  try:
954
1015
  handler = getattr(self, handler_name)
955
1016
  except AttributeError:
956
- if self.l is not None:
957
- self.l.warning("Unsupported BinaryOp %s.", expr.op)
958
- return None
1017
+ handler_name = "_ail_handle_%s" % expr.op
1018
+ try:
1019
+ handler = getattr(self, handler_name)
1020
+ except AttributeError:
1021
+ if self.l is not None:
1022
+ self.l.warning("Unsupported BinaryOp %s.", expr.op)
1023
+ return None
959
1024
 
960
1025
  return handler(expr)
961
1026
 
962
1027
  def _ail_handle_TernaryOp(self, expr):
963
- handler_name = "_ail_handle_%s" % expr.op
1028
+ handler_name = f"_handle_{expr.op}"
964
1029
  try:
965
1030
  handler = getattr(self, handler_name)
966
1031
  except AttributeError:
967
- if self.l is not None:
968
- self.l.warning("Unsupported Ternary %s.", expr.op)
969
- return None
1032
+ handler_name = "_ail_handle_%s" % expr.op
1033
+ try:
1034
+ handler = getattr(self, handler_name)
1035
+ except AttributeError:
1036
+ if self.l is not None:
1037
+ self.l.warning("Unsupported Ternary %s.", expr.op)
1038
+ return None
970
1039
 
971
1040
  return handler(expr)
972
1041
 
@@ -974,6 +1043,44 @@ class SimEngineLightAILMixin(SimEngineLightMixin):
974
1043
  # Binary operation handlers
975
1044
  #
976
1045
 
1046
+ def _ail_handle_CmpEQ(self, expr):
1047
+ arg0, arg1 = expr.operands
1048
+
1049
+ expr_0 = self._expr(arg0)
1050
+ expr_1 = self._expr(arg1)
1051
+ if expr_0 is None:
1052
+ expr_0 = arg0
1053
+ if expr_1 is None:
1054
+ expr_1 = arg1
1055
+
1056
+ try:
1057
+ if isinstance(expr_0, ailment.Expr.Const) and isinstance(expr_1, ailment.Expr.Const):
1058
+ if expr_0.value == expr_1.value:
1059
+ return ailment.Expr.Const(None, None, 1, 1)
1060
+ return ailment.Expr.Const(None, None, 0, 1)
1061
+ except TypeError:
1062
+ pass
1063
+ return ailment.Expr.BinaryOp(expr.idx, "CmpEQ", [expr_0, expr_1], expr.signed, **expr.tags)
1064
+
1065
+ def _ail_handle_CmpNE(self, expr):
1066
+ arg0, arg1 = expr.operands
1067
+
1068
+ expr_0 = self._expr(arg0)
1069
+ expr_1 = self._expr(arg1)
1070
+ if expr_0 is None:
1071
+ expr_0 = arg0
1072
+ if expr_1 is None:
1073
+ expr_1 = arg1
1074
+
1075
+ try:
1076
+ if isinstance(expr_0, ailment.Expr.Const) and isinstance(expr_1, ailment.Expr.Const):
1077
+ if expr_0.value != expr_1.value:
1078
+ return ailment.Expr.Const(None, None, 1, 1)
1079
+ return ailment.Expr.Const(None, None, 0, 1)
1080
+ except TypeError:
1081
+ pass
1082
+ return ailment.Expr.BinaryOp(expr.idx, "CmpNE", [expr_0, expr_1], expr.signed, **expr.tags)
1083
+
977
1084
  def _ail_handle_CmpLT(self, expr):
978
1085
  arg0, arg1 = expr.operands
979
1086
 
@@ -985,9 +1092,13 @@ class SimEngineLightAILMixin(SimEngineLightMixin):
985
1092
  expr_1 = arg1
986
1093
 
987
1094
  try:
988
- return expr_0 <= expr_1
1095
+ if isinstance(expr_0, ailment.Expr.Const) and isinstance(expr_1, ailment.Expr.Const):
1096
+ if expr_0.value < expr_1.value:
1097
+ return ailment.Expr.Const(None, None, 1, 1)
1098
+ return ailment.Expr.Const(None, None, 0, 1)
989
1099
  except TypeError:
990
- return ailment.Expr.BinaryOp(expr.idx, "CmpLT", [expr_0, expr_1], expr.signed, **expr.tags)
1100
+ pass
1101
+ return ailment.Expr.BinaryOp(expr.idx, "CmpLT", [expr_0, expr_1], expr.signed, **expr.tags)
991
1102
 
992
1103
  def _ail_handle_Add(self, expr):
993
1104
  arg0, arg1 = expr.operands
@@ -1535,6 +1535,10 @@ class Function(Serializable):
1535
1535
 
1536
1536
  for library in libraries:
1537
1537
  for name in name_variants:
1538
+ if isinstance(library, SimSyscallLibrary):
1539
+ # FIXME: we don't support getting declaration from a syscall library yet. we don't have the concept
1540
+ # of abi at this point.
1541
+ continue
1538
1542
  if not library.has_prototype(name):
1539
1543
  continue
1540
1544
 
@@ -2,6 +2,8 @@
2
2
  import logging
3
3
  from typing import Optional, List, Set, Tuple
4
4
 
5
+ import claripy
6
+
5
7
  from angr.utils.dynamic_dictlist import DynamicDictList
6
8
  from angr.storage.memory_object import SimMemoryObject, SimLabeledMemoryObject
7
9
  from . import PageBase
@@ -192,9 +194,14 @@ class ListPage(MemoryObjectMixin, PageBase):
192
194
  merged_offsets.add(b)
193
195
 
194
196
  else:
195
- # get the size that we can merge easily. This is the minimum of
196
- # the size of all memory objects and unallocated spaces.
197
- min_size = min([mo.length - (b + page_addr - mo.base) for mo, _ in memory_objects])
197
+ # get the size that we can merge easily. This is the minimum of the size of all memory objects and
198
+ # unallocated spaces.
199
+ min_size = None
200
+ mask = (1 << memory.state.arch.bits) - 1
201
+ for mo, _ in memory_objects:
202
+ mo_size = mo.length - ((b + page_addr - mo.base) & mask)
203
+ if min_size is None or mo_size < min_size:
204
+ min_size = mo_size
198
205
  for um, _ in unconstrained_in:
199
206
  for i in range(0, min_size):
200
207
  if um._contains(b + i, page_addr):
@@ -263,15 +270,23 @@ class ListPage(MemoryObjectMixin, PageBase):
263
270
  differences.add(c)
264
271
  else:
265
272
  if self.content[c] is None:
273
+ if self.sinkhole is None:
274
+ v = claripy.BVV(0, 8)
275
+ else:
276
+ v = (self.sinkhole.bytes_at(page_addr + c, 1),)
266
277
  self.content[c] = SimMemoryObject(
267
- self.sinkhole.bytes_at(page_addr + c, 1),
278
+ v,
268
279
  page_addr + c,
269
280
  byte_width=byte_width,
270
281
  endness="Iend_BE",
271
282
  )
272
283
  if other.content[c] is None:
284
+ if other.sinkhole is None:
285
+ v = claripy.BVV(0, 8)
286
+ else:
287
+ v = (other.sinkhole.bytes_at(page_addr + c, 1),)
273
288
  other.content[c] = SimMemoryObject(
274
- other.sinkhole.bytes_at(page_addr + c, 1),
289
+ v,
275
290
  page_addr + c,
276
291
  byte_width=byte_width,
277
292
  endness="Iend_BE",
@@ -239,9 +239,10 @@ class MVListPage(
239
239
  # get the size that we can merge easily. This is the minimum of the size of all memory objects and
240
240
  # unallocated spaces.
241
241
  min_size = len(self.content) - b
242
+ mask = (1 << memory.state.arch.bits) - 1
242
243
  for mo_set in mo_sets:
243
244
  for mo in mo_set:
244
- min_size = min(min_size, mo.length - (b + page_addr - mo.base))
245
+ min_size = min(min_size, mo.length - ((b + page_addr - mo.base) & mask))
245
246
  for um, _ in unconstrained_in:
246
247
  for i in range(0, min_size):
247
248
  if um._contains(b + i, page_addr):
@@ -28,6 +28,8 @@ class SimpleInterfaceMixin(MemoryMixin):
28
28
  )
29
29
 
30
30
  def _translate_addr(self, a):
31
+ if isinstance(a, int):
32
+ return a
31
33
  if isinstance(a, claripy.ast.Base) and not a.singlevalued:
32
34
  raise SimMemoryError("address not supported")
33
35
  return self.state.solver.eval(a)
@@ -43,6 +45,8 @@ class SimpleInterfaceMixin(MemoryMixin):
43
45
  raise SimMemoryError("data not supported")
44
46
 
45
47
  def _translate_size(self, s, data):
48
+ if isinstance(s, int):
49
+ return s
46
50
  if isinstance(s, claripy.ast.Base) and not s.singlevalued:
47
51
  raise SimMemoryError("size not supported")
48
52
  if s is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.97
3
+ Version: 9.2.99
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
@@ -17,13 +17,13 @@ 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.97
21
- Requires-Dist: archinfo ==9.2.97
20
+ Requires-Dist: ailment ==9.2.99
21
+ Requires-Dist: archinfo ==9.2.99
22
22
  Requires-Dist: cachetools
23
23
  Requires-Dist: capstone ==5.0.0.post1
24
24
  Requires-Dist: cffi >=1.14.0
25
- Requires-Dist: claripy ==9.2.97
26
- Requires-Dist: cle ==9.2.97
25
+ Requires-Dist: claripy ==9.2.99
26
+ Requires-Dist: cle ==9.2.99
27
27
  Requires-Dist: dpkt
28
28
  Requires-Dist: itanium-demangler
29
29
  Requires-Dist: mulpyplexer
@@ -33,7 +33,7 @@ Requires-Dist: protobuf >=3.19.0
33
33
  Requires-Dist: psutil
34
34
  Requires-Dist: pycparser >=2.18
35
35
  Requires-Dist: pyformlang
36
- Requires-Dist: pyvex ==9.2.97
36
+ Requires-Dist: pyvex ==9.2.99
37
37
  Requires-Dist: rich >=13.1.0
38
38
  Requires-Dist: rpyc
39
39
  Requires-Dist: sortedcontainers
@@ -1,4 +1,4 @@
1
- angr/__init__.py,sha256=Auc70xLKdT9S693CD1Y0AUiVTYGNK3sjurd9uhyWrBQ,3992
1
+ angr/__init__.py,sha256=A-YvzHK9UfVTA3SB2oL_4tIS5rdi3MZmTgwbR1xg2SA,3992
2
2
  angr/__main__.py,sha256=kaO56Te6h73SM94BVtASF00q5QbBbC3eBs9poVc9sVI,1887
3
3
  angr/annocfg.py,sha256=dK5JAdN4Ig_jgxTBZeZXwk3kAS4-IQUvE6T02GBZTDQ,10818
4
4
  angr/blade.py,sha256=B8QXVQ93jz1YCIlb-dZLeBqYmVFdMXI5GleP1Wnxjrw,15519
@@ -63,9 +63,9 @@ angr/analyses/cfg/__init__.py,sha256=DRCry4KO2k5VJLyfxD_O6dWAdi21IUoaN5TqCnukJJs
63
63
  angr/analyses/cfg/cfb.py,sha256=TqYdFau9ZH_m6cwkxbA35vDs2ES5rOFqfIuZi0lCBsQ,15450
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=RzXERr48Q6HO29A1saDKL5u9m7PxEx4Vy9f7IIHY4G8,122546
66
+ angr/analyses/cfg/cfg_base.py,sha256=JOliBFWPDWiIJlV5IUxU2Uf7BjExUNcJCibIlOQKoTs,123056
67
67
  angr/analyses/cfg/cfg_emulated.py,sha256=Fi3rDN5ByxhO-H4Y7qn-3WZgBG12JGyvxcWmrD_FnFQ,152842
68
- angr/analyses/cfg/cfg_fast.py,sha256=lLzVD5jli8cScRa_R2nnVCjWAmvGpRP-m8ns7RvQJaw,218220
68
+ angr/analyses/cfg/cfg_fast.py,sha256=2qcNkWihXV7M-KrOQv-j7B3m5okEe_7nIzgmZe09GHE,218261
69
69
  angr/analyses/cfg/cfg_fast_soot.py,sha256=eA_P-OY3gRRNj2BBgSPMsB_llGyFFCNW3VyGZ2uiMoM,26047
70
70
  angr/analyses/cfg/cfg_job_base.py,sha256=3IQE_Iy17xtGfsIkrKc2ERIakAYiNdLtRb_jwOGQtHU,5989
71
71
  angr/analyses/cfg/indirect_jump_resolvers/__init__.py,sha256=T2rCpXy_fIoW_kHwZAVZupoj2UljitHvpI2uWJZ8NwU,361
@@ -76,7 +76,7 @@ angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py,sha256=9ctRVLyVUMhkB
76
76
  angr/analyses/cfg/indirect_jump_resolvers/default_resolvers.py,sha256=TyRIBvH8St1eHktpRrErD4zp8HKP3ppglfPuCEE0wg0,1441
77
77
  angr/analyses/cfg/indirect_jump_resolvers/jumptable.py,sha256=XnRqocVq_Y52d_XkoMnQoWQCGbwpDdQV4RpQlK9pOIc,101955
78
78
  angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py,sha256=G3y7GYPxtuDQCwBz1eec-74YC87npLK6K2mtRPOsOqc,19350
79
- angr/analyses/cfg/indirect_jump_resolvers/propagator_utils.py,sha256=--Xd8ZZTfoB6s6v0KIru-INgX6ilxccGXlECZ-9l5AU,880
79
+ angr/analyses/cfg/indirect_jump_resolvers/propagator_utils.py,sha256=z77LC9YyQjNEr8ncVwIXVVqPyUjL2x2pGvqAax6QlYo,957
80
80
  angr/analyses/cfg/indirect_jump_resolvers/resolver.py,sha256=2YyKPaXuWVbPwUQZcn0CKuba3ydYGIMT0Vxhy09kcV0,3019
81
81
  angr/analyses/cfg/indirect_jump_resolvers/x86_elf_pic_plt.py,sha256=suPJkHzib8JGQpIrB0K5_AC6FgMOUe0iLnLLLhWVCM0,2971
82
82
  angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py,sha256=tGDb2dpgHATY5AlBExtD3mvIEMqqV6fxKOHNTn8uohU,1621
@@ -96,7 +96,7 @@ angr/analyses/decompiler/block_similarity.py,sha256=x7DTJw6QKrXaPmI0Oxhl2V6rMDhQ
96
96
  angr/analyses/decompiler/block_simplifier.py,sha256=X5kO97A1bEwSUfbwgj1cSO56qkhwPQZnIFi1DKMZQoo,17199
97
97
  angr/analyses/decompiler/call_counter.py,sha256=V3TIaSvLUy9vLEWErnvlCS--_ubGWQAeU0tqq6XYeOU,1205
98
98
  angr/analyses/decompiler/callsite_maker.py,sha256=W389gPmq8ylVIr38Re5hEBhaLodipT6div4RlirdnEU,15083
99
- angr/analyses/decompiler/clinic.py,sha256=rWFsKNt6RJYHQK6Ng5OwNRFw1Pvhm0bOKrTODcSIjS0,87477
99
+ angr/analyses/decompiler/clinic.py,sha256=JCW5Trfyc8dmIKQyrTPuj3Jcwil1vaHEvtUDr2H9kdg,85821
100
100
  angr/analyses/decompiler/condition_processor.py,sha256=2d6CLDcGa4WqRBVr5NTFZCtJXSuAGlrAM0fGlknE-x4,49596
101
101
  angr/analyses/decompiler/decompilation_cache.py,sha256=xj5kzGV6OlTtXIIcvK0Z17TMunggn9ilgKD3wjDiTB0,1176
102
102
  angr/analyses/decompiler/decompilation_options.py,sha256=vbuLF0Oze2ldFNpv2jWFnGG4sJPey527KAAbj9TRvAI,8240
@@ -111,13 +111,14 @@ angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=dcgnXt3oKa
111
111
  angr/analyses/decompiler/redundant_label_remover.py,sha256=kDGGFWWV61I5fbASiTQTHgDCFLIOkffUdDOsu5yg5ok,5385
112
112
  angr/analyses/decompiler/region_identifier.py,sha256=KR4SifhPbPwjrJiW2xQ_64BSdAEUnUTWRUFgHeAMhGc,45489
113
113
  angr/analyses/decompiler/region_walker.py,sha256=lTfweYbY4_a2f2yGztTKG6JtU1jXf-kaz-NHbX9nkXE,717
114
+ angr/analyses/decompiler/return_maker.py,sha256=BwxpTtJfVDksZ0Y986KRk9d3jKg98SGaiXXLILeL5Pw,2498
114
115
  angr/analyses/decompiler/seq_to_blocks.py,sha256=2KINMEgaXMG3XIiFDMRkbn10dggy7a9AHgwV383huRM,529
115
116
  angr/analyses/decompiler/sequence_walker.py,sha256=mw4RG-Act5_no_RyQcsxWZwva-n7FdH2a7w_uItGUpI,8428
116
- angr/analyses/decompiler/utils.py,sha256=5oBviBzyOQ_Lv4Y-lMGFEMqgV202iygvbRZCOSSHfjw,27930
117
+ angr/analyses/decompiler/utils.py,sha256=jHTMKKyk4GDkWhJGwmZTl_ZD6efJSr9vtG-cULyzKUc,28116
117
118
  angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=wbWqZ8xG6ZvzEApkAwMsNQFC-iwF3swG1YJsaf1cIrQ,102
118
119
  angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=fSvoTtGeFtyvDp60BNNqPlBMxzBICkEAJi8wV29nwF8,21551
119
120
  angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=gWezEKB7A_YnlfUDs8V8D5syoYAyIXSIme1BKQRoouM,498
120
- angr/analyses/decompiler/optimization_passes/__init__.py,sha256=9FG5MNQdDEIlpo3n49yycm8rxL8dleLEu4kfhgCCnvI,3811
121
+ angr/analyses/decompiler/optimization_passes/__init__.py,sha256=xlLn9Mzcd9vmvV0exca84xejLlOqP1MKYv3WVsQxmX8,3954
121
122
  angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=bjpEMW-Lqj5XW9NWUikGPcRn5scKNc8VvEjVMXxAuq8,5289
122
123
  angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=KEQPdpSfSYiIzHFYGkfj3W8ZupJbogQNhYnYKzo1xUA,15319
123
124
  angr/analyses/decompiler/optimization_passes/const_derefs.py,sha256=FEoiprXxns-3S0nFaIWm2DBW_aDMq3GZ-VOG3CIqcMw,10593
@@ -126,8 +127,9 @@ angr/analyses/decompiler/optimization_passes/div_simplifier.py,sha256=J7LRc3-DKf
126
127
  angr/analyses/decompiler/optimization_passes/engine_base.py,sha256=7nnNZkVMqvikHCy9X11M8KLWbL8lF0DoLYPemETWP4c,10388
127
128
  angr/analyses/decompiler/optimization_passes/expr_op_swapper.py,sha256=vlPhWDyvuEmbGcd1ka8rS68F72Ty6Hw3J00KM3tWCus,4701
128
129
  angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py,sha256=GuDDqmZXUo_a9Af30n9tcihNQcATDrztmraZ-88v134,3946
130
+ angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=RPxrXnPZoYGQ63eol6Ttfv5s_C-iP7k1Iz_dRCDn6oM,16281
129
131
  angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=-6znFCAXS7Z3cn5CTqr3mg4r1G_jJgDFJHk2PzMVwtE,7756
130
- angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=l571GUDoCt4hZ2RHBNVUraLl-ODmP_kb11bLKwbCIB0,6762
132
+ angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=vjDRO-Rh5LVIlxGRCuggjcz12CIxQuISB0LCC-vF6ZM,7207
131
133
  angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=9hhCcvE15MCM6KoJU1ba11hFiN6MXxYAb9FbntzYJbg,34328
132
134
  angr/analyses/decompiler/optimization_passes/mod_simplifier.py,sha256=o2AZIpj4NpOAaWOGbudDUfGJJAD2exu-HvNbwph3mi8,3124
133
135
  angr/analyses/decompiler/optimization_passes/multi_simplifier.py,sha256=_63Y2vMNLSXYM6_Grfs89Nu63i5YLxTPmxTR_Z6fwLY,10420
@@ -141,8 +143,8 @@ angr/analyses/decompiler/optimization_passes/return_duplicator_low.py,sha256=EsP
141
143
  angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=csNKaA4dAP5bIYzC29z67nHKNKzDShcauPuapY4rmF4,12559
142
144
  angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=U9XIMXWYI_UHTamKHdjdXP4QVBvi386SSI0f2KoHu3I,4523
143
145
  angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=tIMZ4kDutUY-5jFrfA34tf3NufE7n33PcAlxz_mSebE,12304
144
- angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py,sha256=lwLc9QpOCTdSIb-0SK0hdxi2gzpABTk2kzdwBY20UOo,2980
145
- angr/analyses/decompiler/peephole_optimizations/__init__.py,sha256=pe_zErF540hOybDNC0ij9B3ASQOck9PYNa64hzSEp3U,3208
146
+ angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py,sha256=ZuD4EMJFEf-lNBLg-vmx1zVOfsb4Vq487RbwnubBs4A,3067
147
+ angr/analyses/decompiler/peephole_optimizations/__init__.py,sha256=nOxGRR-auZN-oEwhjKtNnPAXcxKvQsCEb-a_LZ5qJxk,3252
146
148
  angr/analyses/decompiler/peephole_optimizations/a_div_const_add_a_mul_n_div_const.py,sha256=Whptbt1qujPPRsNX8kJaobHTwgvym7SPu-tC2wBynBs,1727
147
149
  angr/analyses/decompiler/peephole_optimizations/a_mul_const_div_shr_const.py,sha256=xuLPEVN1QdQT_5U9K4-WIdVdHTogCBOmJPWlnDW8Cz8,1365
148
150
  angr/analyses/decompiler/peephole_optimizations/a_shl_const_sub_a.py,sha256=tEr_XcYoOXcFm5paY_CEzgSOjrksz20utMZa6smF9TU,988
@@ -163,8 +165,9 @@ angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=vz
163
165
  angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py,sha256=0IHIk7uxIC70140k3VcXlnx4QcunAeoETXF1ZgJi2Pk,2070
164
166
  angr/analyses/decompiler/peephole_optimizations/eager_eval.py,sha256=A0AUf60c047X7VhOr7tTAJE95qS3yiUxE1dYr9maA-8,10131
165
167
  angr/analyses/decompiler/peephole_optimizations/extended_byte_and_mask.py,sha256=ymP9tDU4NipGOdFWsmLHrR6dKVcEFiaTgM1-L_dfmOM,2015
166
- angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=x8ZS-ThnUiJPBacRFpOZ3gBqixamrHSCCZSR-L5jyC8,2601
168
+ angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=YSphozdu4ORdM_222viSUb6EPigRDkRi9klBQd76nqs,5765
167
169
  angr/analyses/decompiler/peephole_optimizations/inlined_strcpy_consolidation.py,sha256=vrXAaYKT99LJK5BLKlyQ7xtzQx6hIujqTAv0-Ur1CWo,4676
170
+ angr/analyses/decompiler/peephole_optimizations/inlined_wstrcpy.py,sha256=tT57fo30sPuUy2sYD64mZSCL_yAgwBmdvvoW9CA6aUc,6283
168
171
  angr/analyses/decompiler/peephole_optimizations/invert_negated_logical_conjuction_disjunction.py,sha256=a0IDp0kKBrPwhDVejPFhcNseZdprF_5EZRZs7KTR4gA,2084
169
172
  angr/analyses/decompiler/peephole_optimizations/one_sub_bool.py,sha256=kW8AbWfMqFzI1CVFp79TFX60IZxaQhRG8XUckuc-vGI,1136
170
173
  angr/analyses/decompiler/peephole_optimizations/remove_cascading_conversions.py,sha256=3a1ZoTq66HTU68y5DCC2sLvItPmqF_Kv05uvOacxsRM,591
@@ -189,7 +192,7 @@ angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=OTdxZB
189
192
  angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=ZeURg5mKbKRpwo8-SqxJ0jy_A6nNpZMxiKpjZJ0_RS0,48
190
193
  angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=4oRjmKwk9tSxUSOTTDGLVM7prp1aTrQOUpNuQ1gfMrA,3721
191
194
  angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=dbAn1fde1-kiF6A9060wEqPKcE3DeBd2Ltt_2UAEdo4,2490
192
- angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=lCNR9UTzKaUSGmL0Fzv0QDcDubmrGey47eNC3yteUEE,24008
195
+ angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=cTwQHsUz0OyWQwcrTnoIlz2i_H5-xUZfS0Ot1EKrJZE,24126
193
196
  angr/analyses/decompiler/region_simplifiers/goto.py,sha256=b8602yf_WcTJXYyKEqh8Wuenwyatxqq-zGIhDPwJnE0,6032
194
197
  angr/analyses/decompiler/region_simplifiers/if_.py,sha256=qDkZTrRjDzI4CX6vwEcaddmaPvG4sWHn373VVwmf0e0,5034
195
198
  angr/analyses/decompiler/region_simplifiers/ifelse.py,sha256=nWUow7p_TOgFQuUgWXQcH2qSFfxUWJBgkslvajhTbn0,3681
@@ -198,9 +201,9 @@ angr/analyses/decompiler/region_simplifiers/node_address_finder.py,sha256=OjcyE-
198
201
  angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=odeRyT8VItRPIFuUPNaRnA936LwxwXOFbM_HhehK90I,8209
199
202
  angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=0NBa_tpz03ZcaHYUNKXSVZjF3TVmqs2FUc2TdVGwsqc,24545
200
203
  angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=HGIiC6c3C91VfcqxUHe9aTsRohwmMXOHZH_G_dbwwx4,3327
201
- angr/analyses/decompiler/structured_codegen/__init__.py,sha256=Glc4jBCr7lZckltN9XZdSvMrGHf0swXFyKTr_QQKdWE,290
204
+ angr/analyses/decompiler/structured_codegen/__init__.py,sha256=NLEvs8xnJwJiUgX8AmgS7rtFFW4SxtQcA1AjzE-GryA,313
202
205
  angr/analyses/decompiler/structured_codegen/base.py,sha256=nJPOoeJCbewchYdXjSE4S2b1-WN6pT3TxmCQMDO0azw,3845
203
- angr/analyses/decompiler/structured_codegen/c.py,sha256=t7upcoi5ttK7aMM0YfzngXbIzEHUGh6bi2XxcQcn0_4,135109
206
+ angr/analyses/decompiler/structured_codegen/c.py,sha256=UpljxwZANYUX9UrQoYKW5yjTW0OO0faxOzLEyocDKYM,134738
204
207
  angr/analyses/decompiler/structured_codegen/dummy.py,sha256=IVfmtcWpTgNCRVsuW3GdQgDnuPmvodX85V0bBYtF_BI,535
205
208
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=TMz65TkF_ID_Ipocj0aFDb84H6slolN90wq0tzhY2Rk,6773
206
209
  angr/analyses/decompiler/structuring/__init__.py,sha256=eSiT6xUpv9K5-enK3OZj2lNzxwowS9_5OTrjHiPgfFs,371
@@ -251,7 +254,7 @@ angr/analyses/identifier/functions/strtol.py,sha256=Py_6Y9rR5dfy53LX8w9WktSBaxdy
251
254
  angr/analyses/propagator/__init__.py,sha256=5-UKSiAtYocLzmQWXPzxyBnPui_c8P_r617KDwtRnNw,43
252
255
  angr/analyses/propagator/engine_ail.py,sha256=R4_XLRN7Z_Il37bhFPLCBYa01fuGFCXyg7sUhbFo7mY,68660
253
256
  angr/analyses/propagator/engine_base.py,sha256=0j5NzJ9jArF4KeysBeiPoo_RKyCvlgn-i3inSZt1cyc,1735
254
- angr/analyses/propagator/engine_vex.py,sha256=BthcZPPizwrCfPe4P6ycZ8bNAT8YN0h5gAmR-8UqpLE,12491
257
+ angr/analyses/propagator/engine_vex.py,sha256=mbFkn1LTmhL0H_etG4JLdOSBoH6Z2TG6qJJ4W5Oq_0c,12900
255
258
  angr/analyses/propagator/outdated_definition_walker.py,sha256=OJnI9rlyutyy2qHMTqnrnQJCXKcBHvgwHfiqlWDECiY,6890
256
259
  angr/analyses/propagator/propagator.py,sha256=IdIGtwYtxJPS4nU-ktBZBhoLz1_2JtfTVcc7kPczZxs,16134
257
260
  angr/analyses/propagator/tmpvar_finder.py,sha256=GqP1lm-_ez4AvXraDt1BQ1o7GvdjLI7j-TUL5k-lKbU,442
@@ -262,7 +265,7 @@ angr/analyses/reaching_definitions/__init__.py,sha256=3itfNz4b0XcTDJJbU10gZfSuqU
262
265
  angr/analyses/reaching_definitions/call_trace.py,sha256=5y8VtU-5-2ISamCkok6zoMahWASO2TBQYl5Q0pgeLGw,2217
263
266
  angr/analyses/reaching_definitions/dep_graph.py,sha256=M4P5jyA7nVrWk9oEOB5EQUtGIf-eKCevwhH3uj-O7rQ,14886
264
267
  angr/analyses/reaching_definitions/engine_ail.py,sha256=uvkgtdxWxFn2ZBM6-mEhuvYEBjvdwa7PiTlN4yOKqMI,45997
265
- angr/analyses/reaching_definitions/engine_vex.py,sha256=q3CDtDG7p5ZhYLzEO7NAK47TJu9saa7X_uRqqk-n31U,42934
268
+ angr/analyses/reaching_definitions/engine_vex.py,sha256=aN1daC3XSsVSkiPcUAi5_3UvwlXA_nSuQhxMpKk2Rpc,43124
266
269
  angr/analyses/reaching_definitions/external_codeloc.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
267
270
  angr/analyses/reaching_definitions/function_handler.py,sha256=TB6yW0TBQnTdAv3SOBcui6dSCBMoviivKx0v8COY12w,26839
268
271
  angr/analyses/reaching_definitions/heap_allocator.py,sha256=L7LCcE-QvLd_vuc0slWmQ6X73wkYNMkUEDy1cJAV818,2634
@@ -283,8 +286,8 @@ angr/analyses/variable_recovery/__init__.py,sha256=j2SZyfzCAagqNTj0IcYJtOx4b3oAv
283
286
  angr/analyses/variable_recovery/annotations.py,sha256=eAifcWVmb1xUmEGtpiy8PzIupSuZtmEDEiUav-3_z20,1403
284
287
  angr/analyses/variable_recovery/engine_ail.py,sha256=DEotW9Pe6NyS23dOgbDZ5EAYY3qaik_mECGisuNRyb8,25716
285
288
  angr/analyses/variable_recovery/engine_base.py,sha256=SM-BCv-UPE7bmaFCRpxLKJGL6u0WUUtQr3CgmIeqG5Y,41633
286
- angr/analyses/variable_recovery/engine_vex.py,sha256=oDmUaawW8sKJmbtHadubJmiuYuFeORn0Q-BTRG-rUTA,19046
287
- angr/analyses/variable_recovery/irsb_scanner.py,sha256=3lUK_jfJCVEZQ0QvhwsmgCn2RAIj_0FDDn8ftggubjA,4701
289
+ angr/analyses/variable_recovery/engine_vex.py,sha256=ni-OCeHFhhPRo5iH2p4AvI_43ADOO1jUc__GX0tIb-U,19215
290
+ angr/analyses/variable_recovery/irsb_scanner.py,sha256=c8SMeqX4rddO7lDtFaXvFQRwA7AnHHOpXnWOQyjgYtw,4907
288
291
  angr/analyses/variable_recovery/variable_recovery.py,sha256=F7dOWJVdV2kE1jjIyqEDgp0bZ03_cReEeHSPKPnhI1s,21802
289
292
  angr/analyses/variable_recovery/variable_recovery_base.py,sha256=mm9p86ZRYwIXrMB-BW_s5_Aj0_PoOg865QCKDWsrBwE,14960
290
293
  angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=l2O6TRAoENsLnWQu60n_pmgAIyXrk86f1JNzlCJLLi0,24125
@@ -331,7 +334,7 @@ angr/engines/syscall.py,sha256=LNMC3zyis3OiWC7_8Zn1blMw1EDib5FjUqepXlaWDTI,2177
331
334
  angr/engines/unicorn.py,sha256=gf7LjjWyaaujqSuCq3d-BGm8t5sdZjzsJeBevGfdiLw,24447
332
335
  angr/engines/light/__init__.py,sha256=j9vH2fU9MaNVQ8NT3Ek3Tj2zkGlVxlKyzia8zVTofYs,186
333
336
  angr/engines/light/data.py,sha256=jZBAJxor2zg5m4s63joSrjUs8H-OeHBZiqZmc3dqEQQ,23132
334
- angr/engines/light/engine.py,sha256=REogUdY0UD85-07Qc9Nn0gEA4mhgqevq46iRmBy-OvI,40918
337
+ angr/engines/light/engine.py,sha256=dJxHkFrfCjufo-d4PO_SkBT8CMp3aQ7lbWpfQGImCoI,44929
335
338
  angr/engines/pcode/__init__.py,sha256=UwMEwXQvHXIIgedJn2ZOvBBEgfHg2rfREBSpcTSXCZ4,83
336
339
  angr/engines/pcode/behavior.py,sha256=gwMFXQ3cibqchRHnRfiVzzzLIg2mgX-2XJlkD82p8J0,28720
337
340
  angr/engines/pcode/cc.py,sha256=lwMeO9Mg8L7-uxxPzYmu13n7YLNo-Sr3xxLk_-QHTOU,2994
@@ -448,7 +451,7 @@ angr/knowledge_plugins/cfg/cfg_node.py,sha256=Q_qqQ1LisCzTWROOQAfvyaBjS86zxcMw6I
448
451
  angr/knowledge_plugins/cfg/indirect_jump.py,sha256=yzPf1jjUNPgGP7D7IamqX6KF-EJX-heZjDEr4SRUWDA,2145
449
452
  angr/knowledge_plugins/cfg/memory_data.py,sha256=FzRUFltXrN0G3OeMZEbb3xc7I-W8AaomtCTSXUQlJ0g,5040
450
453
  angr/knowledge_plugins/functions/__init__.py,sha256=6IerJjMKKvM70mcJQhmXJYiipePOQ9ZSTmavTIUgg5Q,77
451
- angr/knowledge_plugins/functions/function.py,sha256=cxrP3rh3nMcAkl0mBb5sLpbQmTj5cXXWlmCcAzBMeJw,66932
454
+ angr/knowledge_plugins/functions/function.py,sha256=EBvfQWQqPPvAz3_Hw44kodDz9K5uGbGuhgtf57NTU-I,67184
452
455
  angr/knowledge_plugins/functions/function_manager.py,sha256=BsVGnI-cvcCkpZ_8ssoOCspKmU58uKjLb0CBzIAKo7c,18990
453
456
  angr/knowledge_plugins/functions/function_parser.py,sha256=cb_AD5oFqoyXapDBawnJV1D9XVRMBGa9GwwDudNSc3M,11916
454
457
  angr/knowledge_plugins/functions/soot_function.py,sha256=2zwz_tdKbEnF8eUkOEmpNr7AUeooun2-SiIoY_xIdMw,4971
@@ -1231,7 +1234,7 @@ angr/storage/memory_mixins/hex_dumper_mixin.py,sha256=ciMIrmfTmxWPWVUUiIw5h8YNdH
1231
1234
  angr/storage/memory_mixins/label_merger_mixin.py,sha256=F-1F_zotCO9OOTXaG8Ax2-Mi2F2aN7hQ8pIwxgH1nVE,858
1232
1235
  angr/storage/memory_mixins/multi_value_merger_mixin.py,sha256=Gssxe83oAn8AsFyF2b9Ye99Y3Z6tgYos3Y-24hYVmQ0,3036
1233
1236
  angr/storage/memory_mixins/name_resolution_mixin.py,sha256=YOM3yDjTmybDgAVvJGHuVWUgkDqsbFsWRgkJP8vI9ho,3412
1234
- angr/storage/memory_mixins/simple_interface_mixin.py,sha256=zdTLTKblqep-eA5LwQ3kuUIfV2fhUpgQN4bxRGhIf-g,2492
1237
+ angr/storage/memory_mixins/simple_interface_mixin.py,sha256=KTHvca8MXCWF4W8dbnQLFd7uJ-Gsab03_3kJGfFTAyY,2596
1235
1238
  angr/storage/memory_mixins/simplification_mixin.py,sha256=stTzmaoa0IHxhDSWsYdzKGSt2n37XRjJ7kgZdoa5Uu0,502
1236
1239
  angr/storage/memory_mixins/size_resolution_mixin.py,sha256=KEOCz6B_YOUXczNYeCU4UH2YMoi7k9ww86Ll5cCKNVE,5659
1237
1240
  angr/storage/memory_mixins/slotted_memory.py,sha256=tf-SqyvUg9H9e_cAJBXD5KZ_IIL1PBz5tDiODQCMad8,4884
@@ -1254,9 +1257,9 @@ angr/storage/memory_mixins/paged_memory/pages/__init__.py,sha256=rwGAcESljLORCDt
1254
1257
  angr/storage/memory_mixins/paged_memory/pages/cooperation.py,sha256=wAFitUWddf8-iCuueqg-GW0aqhv7UgnwWekLI7hX3eo,12776
1255
1258
  angr/storage/memory_mixins/paged_memory/pages/history_tracking_mixin.py,sha256=_Nn4lRfGwAHelfl4fCZo41pqH9DM_NI-VXhBPXQbI0o,3039
1256
1259
  angr/storage/memory_mixins/paged_memory/pages/ispo_mixin.py,sha256=mHt5nQYXkXifwGT0_UGvKirECEC2v7jNNtf_6oY57uI,2050
1257
- angr/storage/memory_mixins/paged_memory/pages/list_page.py,sha256=ey-c8PLa_iH5gyz6VRcxtK1I9w8JbIrvkFO1Hj9V8L8,14108
1260
+ angr/storage/memory_mixins/paged_memory/pages/list_page.py,sha256=UpD45TazurTnukRn_t5LZAGH-dRT1TvDcVC4Vxqiasc,14644
1258
1261
  angr/storage/memory_mixins/paged_memory/pages/multi_values.py,sha256=Qhgy3Ie76Hektg_u35Hyt8VfCGV_HS2F5D1nkhYlmCQ,11302
1259
- angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py,sha256=J4RUUfaNCSixtTqrEpoRVjMkgvBDQPYVIMntC8r2yF0,17647
1262
+ angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py,sha256=bxlsOlDUANb2hC6AlQk6W5YlczgSrePR40JzYPHAMRo,17713
1260
1263
  angr/storage/memory_mixins/paged_memory/pages/permissions_mixin.py,sha256=Ek2YSmFOGUScFXPx8hqroNkl3gK1aqKCMv_X3_pImLs,830
1261
1264
  angr/storage/memory_mixins/paged_memory/pages/refcount_mixin.py,sha256=oES5tahTy4SgyDi2h5oRRC0PC4JHNcIvdAC4INKkeJw,1701
1262
1265
  angr/storage/memory_mixins/paged_memory/pages/ultra_page.py,sha256=-q0bkJvWMw-ki9AfZP6hvQeD6JljoWiYTKmuTjDRorA,19139
@@ -1286,9 +1289,9 @@ angr/utils/mp.py,sha256=EPeBml7i1HNOg9OFvj-hoqaGJzKD4fKyM-mHWIaJ3Ko,1825
1286
1289
  angr/utils/segment_list.py,sha256=lhGy16YKKaD-F0JtWmjJ6a2RFcdTrKcLfPE9ILRVtCs,20431
1287
1290
  angr/utils/timing.py,sha256=uOowCP8kotDrKDOjlAod-guBuYkAA8zEtiAwpdwMlIU,1334
1288
1291
  angr/utils/typing.py,sha256=_I4dzZSh1_uRKQ3PpjXseA_CaJH6ru2yAxjICkJhfmI,417
1289
- angr-9.2.97.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1290
- angr-9.2.97.dist-info/METADATA,sha256=sXHpTXy0d0PQYwp2VuqnppRHIL9I-9yvx8FWx8K4ktQ,4796
1291
- angr-9.2.97.dist-info/WHEEL,sha256=eqK0rWjSY7_bgNbVXZVO2Wi8Tj4K-w2xVOdGmXi88ck,109
1292
- angr-9.2.97.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1293
- angr-9.2.97.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1294
- angr-9.2.97.dist-info/RECORD,,
1292
+ angr-9.2.99.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1293
+ angr-9.2.99.dist-info/METADATA,sha256=pDpfAvlHP9K2NuxdbBeYBzXuDjDgZwAiIjRx7CcKwgY,4796
1294
+ angr-9.2.99.dist-info/WHEEL,sha256=eqK0rWjSY7_bgNbVXZVO2Wi8Tj4K-w2xVOdGmXi88ck,109
1295
+ angr-9.2.99.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1296
+ angr-9.2.99.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1297
+ angr-9.2.99.dist-info/RECORD,,