angr 9.2.124__py3-none-manylinux2014_aarch64.whl → 9.2.126__py3-none-manylinux2014_aarch64.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 (52) hide show
  1. angr/__init__.py +1 -1
  2. angr/analyses/__init__.py +13 -1
  3. angr/analyses/codecave.py +77 -0
  4. angr/analyses/decompiler/ail_simplifier.py +1 -0
  5. angr/analyses/decompiler/callsite_maker.py +9 -1
  6. angr/analyses/decompiler/clinic.py +32 -2
  7. angr/analyses/decompiler/condition_processor.py +104 -66
  8. angr/analyses/decompiler/decompiler.py +7 -0
  9. angr/analyses/decompiler/optimization_passes/__init__.py +18 -1
  10. angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py +6 -0
  11. angr/analyses/decompiler/optimization_passes/tag_slicer.py +41 -0
  12. angr/analyses/decompiler/peephole_optimizations/constant_derefs.py +2 -2
  13. angr/analyses/decompiler/return_maker.py +1 -0
  14. angr/analyses/decompiler/ssailification/rewriting.py +4 -0
  15. angr/analyses/decompiler/ssailification/rewriting_engine.py +10 -3
  16. angr/analyses/decompiler/structured_codegen/c.py +18 -2
  17. angr/analyses/deobfuscator/__init__.py +18 -0
  18. angr/analyses/deobfuscator/api_obf_finder.py +313 -0
  19. angr/analyses/deobfuscator/api_obf_peephole_optimizer.py +51 -0
  20. angr/analyses/deobfuscator/irsb_reg_collector.py +85 -0
  21. angr/analyses/deobfuscator/string_obf_finder.py +774 -0
  22. angr/analyses/deobfuscator/string_obf_opt_passes.py +133 -0
  23. angr/analyses/deobfuscator/string_obf_peephole_optimizer.py +47 -0
  24. angr/analyses/patchfinder.py +137 -0
  25. angr/analyses/pathfinder.py +282 -0
  26. angr/analyses/reaching_definitions/function_handler_library/stdio.py +8 -1
  27. angr/analyses/smc.py +159 -0
  28. angr/analyses/unpacker/__init__.py +6 -0
  29. angr/analyses/unpacker/obfuscation_detector.py +103 -0
  30. angr/analyses/unpacker/packing_detector.py +138 -0
  31. angr/angrdb/models.py +1 -2
  32. angr/calling_conventions.py +3 -1
  33. angr/engines/vex/claripy/irop.py +10 -5
  34. angr/engines/vex/heavy/heavy.py +2 -0
  35. angr/exploration_techniques/spiller_db.py +1 -2
  36. angr/knowledge_plugins/__init__.py +2 -0
  37. angr/knowledge_plugins/functions/function.py +4 -0
  38. angr/knowledge_plugins/functions/function_manager.py +18 -9
  39. angr/knowledge_plugins/functions/function_parser.py +1 -1
  40. angr/knowledge_plugins/functions/soot_function.py +1 -0
  41. angr/knowledge_plugins/obfuscations.py +36 -0
  42. angr/misc/ux.py +2 -2
  43. angr/project.py +17 -1
  44. angr/state_plugins/history.py +6 -4
  45. angr/utils/bits.py +4 -0
  46. angr/utils/tagged_interval_map.py +112 -0
  47. {angr-9.2.124.dist-info → angr-9.2.126.dist-info}/METADATA +6 -6
  48. {angr-9.2.124.dist-info → angr-9.2.126.dist-info}/RECORD +52 -35
  49. {angr-9.2.124.dist-info → angr-9.2.126.dist-info}/WHEEL +1 -1
  50. {angr-9.2.124.dist-info → angr-9.2.126.dist-info}/LICENSE +0 -0
  51. {angr-9.2.124.dist-info → angr-9.2.126.dist-info}/entry_points.txt +0 -0
  52. {angr-9.2.124.dist-info → angr-9.2.126.dist-info}/top_level.txt +0 -0
angr/misc/ux.py CHANGED
@@ -20,9 +20,9 @@ def deprecated(replacement=None):
20
20
  def inner(*args, **kwargs):
21
21
  if func not in already_complained:
22
22
  if replacement is None:
23
- warnings.warn(f"Don't use {func.__name__}", DeprecationWarning, stacklevel=1)
23
+ warnings.warn(f"Don't use {func.__name__}", DeprecationWarning, stacklevel=2)
24
24
  else:
25
- warnings.warn(f"Use {replacement} instead of {func.__name__}", DeprecationWarning, stacklevel=1)
25
+ warnings.warn(f"Use {replacement} instead of {func.__name__}", DeprecationWarning, stacklevel=2)
26
26
  already_complained.add(func)
27
27
  return func(*args, **kwargs)
28
28
 
angr/project.py CHANGED
@@ -236,7 +236,7 @@ class Project:
236
236
  self._initialize_analyses_hub()
237
237
 
238
238
  # Step 5.3: ...etc
239
- self.kb = KnowledgeBase(self, name="global")
239
+ self._knowledge_bases = {"default": KnowledgeBase(self, name="global")}
240
240
 
241
241
  self.is_java_project = isinstance(self.arch, ArchSoot)
242
242
  self.is_java_jni_project = isinstance(self.arch, ArchSoot) and getattr(
@@ -257,6 +257,22 @@ class Project:
257
257
  # Step 7: Run OS-specific configuration
258
258
  self.simos.configure_project()
259
259
 
260
+ @property
261
+ def kb(self):
262
+ return self._knowledge_bases["default"]
263
+
264
+ @kb.setter
265
+ def kb(self, kb):
266
+ self._knowledge_bases["default"] = kb
267
+
268
+ def get_kb(self, name):
269
+ try:
270
+ return self._knowledge_bases[name]
271
+ except KeyError:
272
+ kb = KnowledgeBase(self, name)
273
+ self._knowledge_bases[name] = kb
274
+ return kb
275
+
260
276
  @property
261
277
  def analyses(self) -> AnalysesHubWithDefault:
262
278
  result = self._analyses
@@ -63,9 +63,11 @@ class SimStateHistory(SimStatePlugin):
63
63
  self.successor_ip = None if clone is None else clone.successor_ip
64
64
 
65
65
  self.strongref_state = None if clone is None else clone.strongref_state
66
+ self.arch = None
66
67
 
67
68
  def init_state(self):
68
69
  self.successor_ip = self.state._ip
70
+ self.arch = self.state.arch
69
71
 
70
72
  def __getstate__(self):
71
73
  # flatten ancestry, otherwise we hit recursion errors trying to get the entire history...
@@ -217,7 +219,7 @@ class SimStateHistory(SimStatePlugin):
217
219
  read_offset = None
218
220
  elif isinstance(read_from, str):
219
221
  read_type = "reg"
220
- read_offset = self.state.project.arch.registers[read_from][0]
222
+ read_offset = self.arch.registers[read_from][0]
221
223
  else:
222
224
  read_type = "mem"
223
225
  read_offset = read_from
@@ -227,7 +229,7 @@ class SimStateHistory(SimStatePlugin):
227
229
  write_offset = None
228
230
  elif isinstance(write_to, str):
229
231
  write_type = "reg"
230
- write_offset = self.state.project.arch.registers[write_to][0]
232
+ write_offset = self.arch.registers[write_to][0]
231
233
  else:
232
234
  write_type = "mem"
233
235
  write_offset = write_to
@@ -256,7 +258,7 @@ class SimStateHistory(SimStatePlugin):
256
258
  if isinstance(addr, claripy.ast.Base):
257
259
  if addr.symbolic:
258
260
  return False
259
- addr = self.state.solver.eval(addr)
261
+ addr = addr.concrete_value
260
262
  return addr == read_offset
261
263
 
262
264
  def action_writes(action):
@@ -272,7 +274,7 @@ class SimStateHistory(SimStatePlugin):
272
274
  if isinstance(addr, claripy.ast.Base):
273
275
  if addr.symbolic:
274
276
  return False
275
- addr = self.state.solver.eval(addr)
277
+ addr = addr.concrete_value
276
278
  return addr == write_offset
277
279
 
278
280
  return [
angr/utils/bits.py CHANGED
@@ -10,3 +10,7 @@ def truncate_bits(value: int, nbits: int) -> int:
10
10
  if nbits < 0:
11
11
  raise ValueError("nbits must not be negative")
12
12
  return value & (2**nbits - 1)
13
+
14
+
15
+ def ffs(x: int) -> int:
16
+ return (x & -x).bit_length() - 1
@@ -0,0 +1,112 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Iterator
3
+
4
+ from sortedcontainers import SortedDict
5
+
6
+
7
+ class TaggedIntervalMap:
8
+ """
9
+ Catalogs features of intervals.
10
+ """
11
+
12
+ def __init__(self, nbits: int = 0):
13
+ """
14
+ :param nbits: Number of binning bits. Higher values reduce detail. 0 for no binning.
15
+ """
16
+ self._nbits: int = nbits
17
+ self._map: SortedDict = SortedDict() # SortedDict[int, int]
18
+
19
+ @property
20
+ def nbits(self) -> int:
21
+ return self._nbits
22
+
23
+ def add(self, addr: int, size: int, tags: int) -> None:
24
+ """
25
+ Add interval starting at `addr` of `size` bytes.
26
+
27
+ When binning, intervals endpoints are aligned to 2^nbits. Gaps between added intervals are populated with
28
+ implicit intervals having tag value of 0. Overlapping intervals will have tag bits OR'd together.
29
+
30
+ Adjacent intervals in the interval map have unique tags. When intervals are added to the map, any adjacent stops
31
+ with identical tags will be eliminated so the map retains this property.
32
+
33
+ For example: if an interval(addr=0, size=100, tags=1) is added, followed by (100, 100, 1), the resulting
34
+ interval in the map will be (0, 200, 1).
35
+ """
36
+ assert addr >= 0
37
+ assert size >= 0
38
+ assert tags != 0
39
+
40
+ if size == 0:
41
+ return
42
+
43
+ max_bin_offset = (1 << self._nbits) - 1
44
+ mask = ~max_bin_offset
45
+
46
+ start_addr = addr & mask # Round down to bin alignment
47
+ end_addr = (addr + size + max_bin_offset) & mask # Round up to bin alignment
48
+
49
+ if self._is_already_covered(start_addr, end_addr, tags):
50
+ return
51
+
52
+ self._insert_stop(start_addr)
53
+ self._insert_stop(end_addr)
54
+ for affected_addr in self._map.irange(start_addr, end_addr, inclusive=(True, False)):
55
+ self._map[affected_addr] |= tags
56
+ self._eliminate_extraneous_stops(start_addr, end_addr)
57
+
58
+ def _insert_stop(self, addr: int) -> None:
59
+ """
60
+ Insert a new interval stop point at `addr`, if one is not already present in the map. Tags are copied from
61
+ nearest stop before `addr`.
62
+ """
63
+ if addr not in self._map:
64
+ idx = self._map.bisect(addr) - 1
65
+ self._map[addr] = self._map.peekitem(idx)[1] if idx >= 0 else 0
66
+
67
+ def _is_already_covered(self, min_addr: int, end_addr: int, tags: int) -> bool:
68
+ """
69
+ Determine if interval [min_addr, end_addr) is covered by an existing range with identical tags.
70
+ """
71
+ idx = self._map.bisect(min_addr) - 1
72
+ if idx >= 0 and len(self._map) > idx + 1:
73
+ e_addr, e_tags = self._map.peekitem(idx)
74
+ e_addr_next, _ = self._map.peekitem(idx + 1)
75
+ return (e_addr <= min_addr) and (end_addr <= e_addr_next) and (e_tags == tags)
76
+ return False
77
+
78
+ def _eliminate_extraneous_stops(self, min_addr: int, max_addr: int) -> None:
79
+ """
80
+ Canonicalize the map by eliminating adjacent stops with identical tags both inside and directly outside of
81
+ [min_addr, max_addr].
82
+ """
83
+ keys_to_drop = []
84
+ prev_tags = None
85
+ for addr, _, tags in self.irange(min_addr, max_addr):
86
+ if tags == prev_tags:
87
+ keys_to_drop.append(addr)
88
+ else:
89
+ prev_tags = tags
90
+
91
+ for addr in keys_to_drop:
92
+ del self._map[addr]
93
+
94
+ def irange(self, min_addr: int | None = None, max_addr: int | None = None) -> Iterator[tuple[int, int, int]]:
95
+ """
96
+ Iterate over intervals intersecting [min_addr, max_addr], yielding interval (addr, size, tags) tuples. Implicit
97
+ gap intervals (with tags=0) are also returned.
98
+
99
+ :param min_addr: Minimum address (inclusive) to begin iterating from. If None, iterate from start of map.
100
+ :param max_addr: Maximum address (inclusive) to iterate to. If None, iterate to end of map.
101
+ """
102
+ if not self._map:
103
+ return
104
+
105
+ start_idx = 0 if min_addr is None else max(0, self._map.bisect_left(min_addr) - 1)
106
+ stop_idx = None if max_addr is None else (self._map.bisect(max_addr) + 1)
107
+
108
+ start_addr, tags = self._map.peekitem(start_idx)
109
+ for addr in self._map.islice(start_idx + 1, stop_idx):
110
+ yield (start_addr, addr - start_addr, tags)
111
+ tags = self._map[addr]
112
+ start_addr = addr
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.124
3
+ Version: 9.2.126
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.124
20
- Requires-Dist: archinfo==9.2.124
19
+ Requires-Dist: ailment==9.2.126
20
+ Requires-Dist: archinfo==9.2.126
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.124
25
- Requires-Dist: cle==9.2.124
24
+ Requires-Dist: claripy==9.2.126
25
+ Requires-Dist: cle==9.2.126
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.124
34
+ Requires-Dist: pyvex==9.2.126
35
35
  Requires-Dist: rich>=13.1.0
36
36
  Requires-Dist: sortedcontainers
37
37
  Requires-Dist: sympy
@@ -1,10 +1,10 @@
1
- angr/__init__.py,sha256=LP2q5oYZ83AH1Es8f-vhT-XMCgT_HqDb_S7z8EdaSNI,9153
1
+ angr/__init__.py,sha256=9wJycKm7XIhAgcU_NaR1jipFfExGOE4p3d01V5DIbAE,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
5
5
  angr/block.py,sha256=O5kFpofRMVlCqdG-6E53UEti7bGtIcqqx6fvyWDPu58,14975
6
6
  angr/callable.py,sha256=1rzhXjWlx62jKJaRKHvp12rbsJ75zNa86vXtCt6eFLo,6065
7
- angr/calling_conventions.py,sha256=p_efVNwRtCOnbEzRCUrL_D0H9T3O982NqA5qCHINmIw,92824
7
+ angr/calling_conventions.py,sha256=2Fet0k_lIPMYwyOqHpYWz6SlPontXID8BBsSVrMwKWs,92950
8
8
  angr/code_location.py,sha256=JpxnEa-FbQIloGwrGa4SyZlA6La_DsvHNt4WMh7lMMY,5466
9
9
  angr/codenode.py,sha256=z-XdQh20yl_exg5H4Ep62Kw2lb3ce8od_IaEHw2v-D8,3793
10
10
  angr/errors.py,sha256=I0L-TbxmVYIkC-USuHwaQ9BGPi2YVObnhZXQQ3kJFuo,8385
@@ -12,7 +12,7 @@ angr/factory.py,sha256=YMieuzZk70g96BcqgUT0vZxemDlQh0WvjzoxZgduZj0,17453
12
12
  angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  angr/keyed_region.py,sha256=bi4xQYh3Is4t5LuFykgVDaaPpko0s4kEmDUEsGsJuPM,17992
14
14
  angr/knowledge_base.py,sha256=rpQTkiIKpbjkJTaIaPf-L7ylwiGeM95VTGnUsTg9pOs,4538
15
- angr/project.py,sha256=3oUXEEBOZgQF81LgDNMr8E9ihcMEVmb0jyKqksSwXWA,37119
15
+ angr/project.py,sha256=TQUXF1qyKpYjAs0gY2abwwhSwxLj67IeHlwQC-9ylcY,37535
16
16
  angr/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
17
17
  angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
18
18
  angr/sim_manager.py,sha256=mrmtD9CZR3w6BwYhbmRLfObBh3Gtz5goBOy4_rWSqfQ,39406
@@ -26,7 +26,7 @@ angr/slicer.py,sha256=74ujgNMKcEIHM8lqal69Cbls07yCxpxvi-jUYeScfaU,10668
26
26
  angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
27
27
  angr/tablespecs.py,sha256=Kx1e87FxTx3_ZN7cAHWZSRpdInT4Vfj5gExAWtLkLTw,3259
28
28
  angr/vaults.py,sha256=v_RBKEGN2wkyOoskC_akKSlawcRtMicukKh1O1hxrJk,9719
29
- angr/analyses/__init__.py,sha256=jipIm_HhzMFYr_mtI1OaRUStb-hYW7wS0AKYAVKslC0,3060
29
+ angr/analyses/__init__.py,sha256=wchoQKOTR2QWB-5Gk-cNI4Zi5510LPZcBjcDp9PiIOw,3434
30
30
  angr/analyses/analysis.py,sha256=ggR1xFe0HSpLhkqiJtmzm8qmS5H-7xZDwhYf4IyBNf8,14551
31
31
  angr/analyses/backward_slice.py,sha256=pLMeo7Y2niifNmtfIzMbQDlRy_w5GbKi1sYa0XVhPBA,27228
32
32
  angr/analyses/binary_optimizer.py,sha256=JqKfOXx5FiWsYdQ6JMWYivfB2AiNl2Pw8Utk8kPEVrk,26186
@@ -37,6 +37,7 @@ angr/analyses/calling_convention.py,sha256=rXBOiLcS4QLt58dKAHPGTFCX9wrx7t998rI4E
37
37
  angr/analyses/cdg.py,sha256=oPgHV4MVpGkfRUE0ZiaghBSkgTsr6tkG1IK4f_GtOBA,6230
38
38
  angr/analyses/class_identifier.py,sha256=bytFQ0c7KuQhbYPPJDkhtV0ZU_Xo8_9KLZxHe9TtyMs,3010
39
39
  angr/analyses/code_tagging.py,sha256=Gj7Ms24RnmhC9OD57gw7R6_c-pLfqSug-LVUMw_JmXE,3510
40
+ angr/analyses/codecave.py,sha256=k_dDhMN4wcq2bs5VrwpOv96OowQ7AbZSs6j5Z6YbIpk,2209
40
41
  angr/analyses/complete_calling_conventions.py,sha256=rwsVfq0TUOx-YW2RtbeXajAreBEfs9QDyQAE51PnEfo,18279
41
42
  angr/analyses/congruency_check.py,sha256=SRlUKJaylCQydWsb4AGG8LUGuh5RwI8ksKZL6jf-4P8,16166
42
43
  angr/analyses/datagraph_meta.py,sha256=PnxBQSFDAeZHfUnAaAJO2s89oSBn1AM5e_0ljMURMRM,3418
@@ -49,10 +50,13 @@ angr/analyses/flirt.py,sha256=cly_6Xodsgmf5gEagYBH5HXdjhKaY2HwyUW7porEzU8,7798
49
50
  angr/analyses/init_finder.py,sha256=HC9bGZA4VxbafTMbofSWgJW7ZFPXJzZUu0pU0n9XQvQ,8531
50
51
  angr/analyses/loop_analysis.py,sha256=ssrXeNsMNNwjARKy5VF34ymUfCvqCNYGLp_m-5zvAyU,9311
51
52
  angr/analyses/loopfinder.py,sha256=C9Vo-Lv4a0SL7xbfzlWt9nFbv6tOjaEHgY1cW3M2Nyg,7035
53
+ angr/analyses/patchfinder.py,sha256=i0TJmBwNlFKJYpG04YpU6yFBdZlNAuzj3VwM28jfnW0,5045
54
+ angr/analyses/pathfinder.py,sha256=_prNqmRUSuSt2ZCP8qbvNN7pw7mtM8pWr9IL0AO6XL8,11496
52
55
  angr/analyses/proximity_graph.py,sha256=-g7pNpbP2HQhKW3w1Eff23K8vAsgWWYoe3wVxRh3Lhk,16066
53
56
  angr/analyses/reassembler.py,sha256=y41XIGWqCVvwFlE3uACEMFLR-vByKkOazC405UPCOpM,98524
54
57
  angr/analyses/s_liveness.py,sha256=YI-N62--Wo8B4yB5lvUi4mFBNqxwRxYq-p3zXR4qFNs,5213
55
58
  angr/analyses/s_propagator.py,sha256=vmOnkwrBQTvh3WJbAXY7R4imAW_AKzYoeRM311oXVsA,11311
59
+ angr/analyses/smc.py,sha256=0fvLPUpjlg6GCjYnfSqanXkGYlthmPwqMYR-ZYBHsbo,5075
56
60
  angr/analyses/soot_class_hierarchy.py,sha256=AtvXMAlz6CVvfbtkPY4ghouH_1mNnPg9s9jFhZwWvEw,8741
57
61
  angr/analyses/stack_pointer_tracker.py,sha256=5NZf4muUFIJX-F605n5LMw8ihA648-FA4Bm5mAcsHBE,31379
58
62
  angr/analyses/static_hooker.py,sha256=lSVOZWiLl3fArz41fEbPMPvdsmlo40BeOeaVmeDxFow,1765
@@ -92,17 +96,17 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=QN_m2yDyOWnRHg1l4n6dKD
92
96
  angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
93
97
  angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
94
98
  angr/analyses/decompiler/__init__.py,sha256=JAHy5toHIzNxlRnht8geYexKueYhhCGHs7GM4E11AN4,1162
95
- angr/analyses/decompiler/ail_simplifier.py,sha256=F47aJt_0BIowrmT4CDhJ0uarnbvb-WUxnn_nOQYhRN8,71814
99
+ angr/analyses/decompiler/ail_simplifier.py,sha256=dFoUJPeJF6cx03cdNG6NMGFvNfZJrCXAsDY1ncppiCI,71855
96
100
  angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
97
101
  angr/analyses/decompiler/block_io_finder.py,sha256=xMwG8Bi69OGNYVs0U0F4yxM8kEsnyrsMrf0gEr8dOEw,10923
98
102
  angr/analyses/decompiler/block_similarity.py,sha256=ISMoOm-TGJ_1wD2i_4m8IYTletgnP66gReQESJnfvS0,6873
99
103
  angr/analyses/decompiler/block_simplifier.py,sha256=_WYyfFW8bJ_-RkrudJIlDdHh9fc6_aHkuwzW9gylY-k,13922
100
- angr/analyses/decompiler/callsite_maker.py,sha256=BcXjx58pC5GyveGdyLIICMhC9pzG4uKcVak5OkR_iIU,18491
101
- angr/analyses/decompiler/clinic.py,sha256=MaHsTU_zQ1cGQW_PECQ7AN9tXbbx3jQc0JjNnw8NiGQ,104867
102
- angr/analyses/decompiler/condition_processor.py,sha256=mBJrBnCP3Y3JkJXzihaJwGgelbWmLl561FjD49yevVU,51155
104
+ angr/analyses/decompiler/callsite_maker.py,sha256=Gs_FmlmIs5jM-XccL9OMCaj_-L83NlYzkzxsy2HmcfQ,18749
105
+ angr/analyses/decompiler/clinic.py,sha256=fl5waZwLlU279EJqoTdK4-9feJwSWGwZOfrB1iUyiO8,105986
106
+ angr/analyses/decompiler/condition_processor.py,sha256=yfQZzPr5gYxnxMCWM6uue9DZdHF8rAzRKfIT0yNgSD8,52897
103
107
  angr/analyses/decompiler/decompilation_cache.py,sha256=dnlY0w4-ViAFz_M1qCjXbGNOLiMlDG8hJW6z2x-VKEs,1230
104
108
  angr/analyses/decompiler/decompilation_options.py,sha256=QWUGnfQ0FUekGs_I6X-ZKvAvL39VX2hFRcZrlXd72fY,7957
105
- angr/analyses/decompiler/decompiler.py,sha256=EUqb_ePQcAIHocG7c7IZg1_UblUD-bu4kk2NuF5QMvs,26501
109
+ angr/analyses/decompiler/decompiler.py,sha256=A3diyVLzYDrB_1WQqplyboTnFBvE8Bvn7RiYNT_ijvk,26868
106
110
  angr/analyses/decompiler/empty_node_remover.py,sha256=_RAGjqDyRmannEGPcMmWkL7em990-_sKgl5CYreb-yI,7403
107
111
  angr/analyses/decompiler/expression_narrower.py,sha256=TvkqtgNI9aDsquqyNFH5kXLW04rP_J940GFhrGopxP4,10343
108
112
  angr/analyses/decompiler/goto_manager.py,sha256=GUWt3Y_NCpmreIt4plxX5Y3UO2V8IVGZuRtF2GqI-cw,4006
@@ -112,7 +116,7 @@ angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=f_JyNiSZfo
112
116
  angr/analyses/decompiler/redundant_label_remover.py,sha256=J9hpP3C_P08v84FjVU0q5Rmj5M1N9q3HKWSWsA2u7Yg,5879
113
117
  angr/analyses/decompiler/region_identifier.py,sha256=FUynH4k09y5NiTdor8PLiPFviDcdWpzwz0xa9fRocJs,47293
114
118
  angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
115
- angr/analyses/decompiler/return_maker.py,sha256=mCJdEcnU8P5sld5B-b5e2YLilct98gJa7VWAMXT2wIY,2502
119
+ angr/analyses/decompiler/return_maker.py,sha256=pKn9_y5VXqTeJnD5uzLLd9sH_Dp_9wkPcWPiJPTV-7A,2550
116
120
  angr/analyses/decompiler/seq_to_blocks.py,sha256=bB-1m8oBO59AlAp6izAROks3BBxFW8zigLlrIMt6Yfs,564
117
121
  angr/analyses/decompiler/sequence_walker.py,sha256=ODDPnChZ3Li0JyIXDR41JW9zvCsfPF5JvGYDL52wAYI,9375
118
122
  angr/analyses/decompiler/utils.py,sha256=ldej1mpMKsWYgENa5qG4VTeoCrID-9JudTaaFLTQEco,30456
@@ -131,7 +135,7 @@ angr/analyses/decompiler/dephication/graph_rewriting.py,sha256=R0rlwYL0Cnt1UPjdE
131
135
  angr/analyses/decompiler/dephication/graph_vvar_mapping.py,sha256=KeZ6VIQAB-Jy4bGUychFCKyinK3rKwy8E9_25ImlKhQ,13724
132
136
  angr/analyses/decompiler/dephication/rewriting_engine.py,sha256=3KUIxwUmfTZj2Jm1mB98J5vMkHqy4LLPYTrLzZfLbBA,10442
133
137
  angr/analyses/decompiler/dephication/seqnode_dephication.py,sha256=q29kS8lOs_-mxgJMtQvoZdw6l3q2lUDeXcTcGienIrY,4343
134
- angr/analyses/decompiler/optimization_passes/__init__.py,sha256=HcewOuaA5dafuSHaXAvViAxasqbVJRVQ2qMuDCSi00s,4205
138
+ angr/analyses/decompiler/optimization_passes/__init__.py,sha256=pCYamez51inHric94E2tD_Hy9gHl8sGHJbfG2dcpGBQ,4833
135
139
  angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=uUzQWVkeKL2C9Lq8NZ7UkkZBAXydxOd0F1jxr0Zi__Q,5514
136
140
  angr/analyses/decompiler/optimization_passes/call_stmt_rewriter.py,sha256=G1CEWo62dAMrm-3V4DfEDxT6kwXxuks10bcTtW9C_tA,1320
137
141
  angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=7o6lf-qahXv5H8jLqEASVXHaz-_PGo3r6l7qH5PbDtU,15343
@@ -143,7 +147,7 @@ angr/analyses/decompiler/optimization_passes/div_simplifier.py,sha256=Cju0NE3fo_
143
147
  angr/analyses/decompiler/optimization_passes/engine_base.py,sha256=Wxx1vNKJ6uX8vgQXf6iXbb0wpj4r1g50G8vO0PdD4lg,11168
144
148
  angr/analyses/decompiler/optimization_passes/expr_op_swapper.py,sha256=PJMJ0INWiINSkv1eD5QsMJS81XtfuyKqoqe6NTkU120,4715
145
149
  angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py,sha256=ULonaiVMx2g7bflZrfoEgjrW7yQJDsfdieTdV7kfGug,4031
146
- angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=FoqkKQM5MC2Pc4gTCKaTg9VKq_6NmmUL8fdWySIh4uc,19217
150
+ angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=9ZLqWNZyZsNkYFJlZgHIh8cBbt0lBFGdjMcStAlSrVE,19390
147
151
  angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=eeKEkoT0WphueWZd5P07cfa9lTBK3BzL0jUyOx4XmJQ,7820
148
152
  angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=zTplo_VsSfY6WR_F4SIwHFvAySUo3USDntnniD23i-A,13201
149
153
  angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=1Yto_EBmmB5FkwZzaAO7S0MEvbQNEknFbbq-nUU0Eao,38818
@@ -158,6 +162,7 @@ angr/analyses/decompiler/optimization_passes/return_duplicator_high.py,sha256=IC
158
162
  angr/analyses/decompiler/optimization_passes/return_duplicator_low.py,sha256=-mBEVfwGz986lDDEGwBG8wvGQTrFZHE7TLV-7rWt-H0,10076
159
163
  angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=cEbZ5jyYbRiBJSzVJbnqssUY5MzirXXgzvzpxllY_Zk,14343
160
164
  angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=pxb0jyDQ5BXkjzzo4JiHEA1NZeKVmp0G5Pd-T5_UIa8,4758
165
+ angr/analyses/decompiler/optimization_passes/tag_slicer.py,sha256=8_gmoeYgDD1Hb8Rpqcb-01_B4897peDF-J6KA5PjQT8,1176
161
166
  angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=cpbsP6_ilZDu2M_jX8TEnwVrsQXljHEjSMw25HyK6PM,12806
162
167
  angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py,sha256=6NxaX2oT6BMkevb8xt9vlS3Jl-CmSK59F0FVab68B48,3088
163
168
  angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py,sha256=hTeOdooVDZnBnjiAguD7_BS9YJru8rOiSHN3H0sdzcA,126
@@ -184,7 +189,7 @@ angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py,sha256=4ERanm
184
189
  angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=xZ129l0U5hoPXtczxZFUfZL59V7d0u2amQTO4phIpQU,1409
185
190
  angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=h3m9FIxsMpElPE3ecFfa0vnzuxwG5oJLNEqvLuMpMgI,1062
186
191
  angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py,sha256=3KTxUUlK74T1bcuufBRgexhDA8M_TAG_2Nqi7e2lZJg,7469
187
- angr/analyses/decompiler/peephole_optimizations/constant_derefs.py,sha256=KTGrECpzRuIjsthtcl6IhxNPLibuclzlUCcTE11nrio,1701
192
+ angr/analyses/decompiler/peephole_optimizations/constant_derefs.py,sha256=5ThmIgu38Un_N5AltnQtcTnoEnOT45HRu6NehB3rG5M,1713
188
193
  angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=6WooyVqwdlMLixGFR8QE0n6GDEC2AluVo4dIr7vwmqY,2379
189
194
  angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py,sha256=5LtXTzPwO_Dtru3UYbr6l8YYylxKrAVZ9q6Gjk1C8sI,2105
190
195
  angr/analyses/decompiler/peephole_optimizations/eager_eval.py,sha256=T2dA5fhkNj-Y4NSVwz4N54jyVolMK6X963eESKqX0Ow,10594
@@ -231,8 +236,8 @@ angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=ByEbrHPA
231
236
  angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=lsTKhU6aljpXPSz-K9qDhgySuB2FsGrF9j7buWqiYr0,24980
232
237
  angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=CngQ_LSACeEVIjuU6kIW2Y0ZSMJWFBwpL95Yh_7w3O4,3335
233
238
  angr/analyses/decompiler/ssailification/__init__.py,sha256=zcHoI7e2El2RSU_bHTpQRd1XRLHOfFScG6f3cm5y_lQ,108
234
- angr/analyses/decompiler/ssailification/rewriting.py,sha256=Ee4BZSFCjgv4q24ARNzUkbuZIXa6KbiPf_WM0kz3d64,12152
235
- angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=Zc5lAgjSlD0hntCk_GBhnMQ0lMI1NEl2IlAlXwenhmc,27003
239
+ angr/analyses/decompiler/ssailification/rewriting.py,sha256=-3jNGbtTH8-Yznoy0BguKlwoLTh9kqihT1tG0XfXX7E,12328
240
+ angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=IUQOrEJDxvCZ0iKpPfj-0lod8ejnTke629JMw1dGG_Q,27204
236
241
  angr/analyses/decompiler/ssailification/rewriting_state.py,sha256=L7apDXQLPiItuLdQFoQdut5RMUE8MRV1zRc3CsnuH6E,1883
237
242
  angr/analyses/decompiler/ssailification/ssailification.py,sha256=bTMTwS4auYQCnY9cNwqbgdYksFym0Iro5e7qRIDmlME,8711
238
243
  angr/analyses/decompiler/ssailification/traversal.py,sha256=Er6XFmgwmpTf6W8vg9vZupO5MDvsE2y4wONYIYYXzAQ,2949
@@ -240,7 +245,7 @@ angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=YBsWyuXyt_3q1
240
245
  angr/analyses/decompiler/ssailification/traversal_state.py,sha256=_AsCnLiI2HFdM6WrPyAudhc0X4aU_PziznbOgmzpDzQ,1313
241
246
  angr/analyses/decompiler/structured_codegen/__init__.py,sha256=unzkTPhZbpjf5J3GWg1iAFkW17aHFHzuByZCMKE4onQ,633
242
247
  angr/analyses/decompiler/structured_codegen/base.py,sha256=9Zfp2d8Oqp6TAgLJyu7v214YDBtdy3Qx8rs801wIsv0,3796
243
- angr/analyses/decompiler/structured_codegen/c.py,sha256=ry6_o-aClSstQXIblbk1Oq-nYBX1ZF02qsKw72o-XQs,138204
248
+ angr/analyses/decompiler/structured_codegen/c.py,sha256=z3Xejr4nRA-VAfw-T-52Wtr7HP2YxHhpUR7a5M7Azz8,139083
244
249
  angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbejxCG30l-yCx4sWFh7JMF_iRM,570
245
250
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=Lf4DKgDs17ohKH8UmCrnJI1BVmPrx2oIb3zXvJ7qc4U,6819
246
251
  angr/analyses/decompiler/structuring/__init__.py,sha256=u2SGBezMdqQF_2ixo8wr66vCMedAMY-cSjQyq2m-nR8,711
@@ -250,6 +255,13 @@ angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=HRUpZiD8xlpJ
250
255
  angr/analyses/decompiler/structuring/sailr.py,sha256=6lM9cK3iU1kQ_eki7v1Z2VxTiX5OwQzIRF_BbEsw67Q,5721
251
256
  angr/analyses/decompiler/structuring/structurer_base.py,sha256=ql8HoTn9SG6snNmgEx1xQVeIHAlvdkASQpDwNR04YKw,41547
252
257
  angr/analyses/decompiler/structuring/structurer_nodes.py,sha256=a916imPog4YCCtWtzcnHIQMPLEC73C5t-zSvx9mnvGk,12081
258
+ angr/analyses/deobfuscator/__init__.py,sha256=dkmq-mm3V6kiuchwUZCXr3bDRAEB1-zsPHeEt54tlUE,648
259
+ angr/analyses/deobfuscator/api_obf_finder.py,sha256=WWl55WESeAwcJMrJPX0LqGKN0druzWz--PsG79IliQA,13241
260
+ angr/analyses/deobfuscator/api_obf_peephole_optimizer.py,sha256=VTxw3FPV7-OCPwAy6LLPnBWtiD2eDxYwAF0g3h4YOCM,2207
261
+ angr/analyses/deobfuscator/irsb_reg_collector.py,sha256=-Vd5SKwsKwGNgUVnXATus9Ty9KkvcIm8Om9lwXHSKpc,1912
262
+ angr/analyses/deobfuscator/string_obf_finder.py,sha256=ASVlbRumzlcdKZmmpLslSBU_vqeVdkhKC_g5sRyh7NA,33160
263
+ angr/analyses/deobfuscator/string_obf_opt_passes.py,sha256=W507aFl8ZyLxeUxwF4uOUkt8CIEu0xjM-dS9lVatYIg,5343
264
+ angr/analyses/deobfuscator/string_obf_peephole_optimizer.py,sha256=SlzSTIZos_pMiC_VavvbfjAaYDoCA_ffj5vblhaBI-0,1947
253
265
  angr/analyses/forward_analysis/__init__.py,sha256=59wRf7JtGPRPQLye7gjeEjuIJ2t7lzeUwGiVKgkM6lQ,319
254
266
  angr/analyses/forward_analysis/forward_analysis.py,sha256=xqix831kl0U2p4mXZYpCQKVP52bRtoLaaHhXks1OHF0,20013
255
267
  angr/analyses/forward_analysis/job_info.py,sha256=5iYthtygg22taqFTR9oFhmB2FX6z2rCuoXfBULHhFsU,1592
@@ -312,7 +324,7 @@ angr/analyses/reaching_definitions/rd_state.py,sha256=sVlbPfscDErg9Mag7XPa1HPX20
312
324
  angr/analyses/reaching_definitions/reaching_definitions.py,sha256=1GVrmkz4PfQlg9pkyl8bBM4XB6nT2eFVKaZq77GeYc4,24043
313
325
  angr/analyses/reaching_definitions/subject.py,sha256=LxfEi_uko0KJixwFMWMy79l7QW4ZMEzZ6ftIzsrC8pw,2005
314
326
  angr/analyses/reaching_definitions/function_handler_library/__init__.py,sha256=7q_JCZ0RkwaWEhOeaAd2hns9O9afso3r3BHYsdollk0,458
315
- angr/analyses/reaching_definitions/function_handler_library/stdio.py,sha256=6TFqf5F4RXCt-KQ-L2wSXNE7xC2keg2xArG2MML3k38,11059
327
+ angr/analyses/reaching_definitions/function_handler_library/stdio.py,sha256=To3dKtjqRbtqcJhybbhuQF_uxBXg4JX-A0601SsftRQ,11370
316
328
  angr/analyses/reaching_definitions/function_handler_library/stdlib.py,sha256=5PWr7HGaIxcZwkHqZCumXnGPgur5Gf1mE9a1a9izv2U,6426
317
329
  angr/analyses/reaching_definitions/function_handler_library/string.py,sha256=qUV3JRRkhxxAX92IeQgLkrlotjTy5SHtPXlFj_YHIhs,5047
318
330
  angr/analyses/reaching_definitions/function_handler_library/unistd.py,sha256=J_wALo_qxPk-KjhiWMoWDhH4O36wKmqKkWyf2zlAqug,1238
@@ -329,6 +341,9 @@ angr/analyses/typehoon/typeconsts.py,sha256=LLXbaYIdU03GgA8xYsW4eguV6qlIoHhSesqW
329
341
  angr/analyses/typehoon/typehoon.py,sha256=YzrzK6iTMCO08l2pk2ov3WAtRZuHB6AYxlFpdtDI5HY,9333
330
342
  angr/analyses/typehoon/typevars.py,sha256=F7CBFVplF_xy1gsUkUXnxEhBVeceXb-VvnYwntJ6ivU,16198
331
343
  angr/analyses/typehoon/variance.py,sha256=3wYw3of8uoar-MQ7gD6arALiwlJRW990t0BUqMarXIY,193
344
+ angr/analyses/unpacker/__init__.py,sha256=uwWYeRUgAs_F_ZtIUkzCyca_5nTpc5HwqW0JeRtPN8o,190
345
+ angr/analyses/unpacker/obfuscation_detector.py,sha256=VWMHOO2UbyiGzRYzAq9yrU3WwZ7N1i99utC8Vkbtptw,3502
346
+ angr/analyses/unpacker/packing_detector.py,sha256=SO6aXR1gZkQ7w17AAv3C1-U2KAc0yL9OIQqjNOtVnuo,5331
332
347
  angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDYKKMJklcOoCO7Ao,208
333
348
  angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
334
349
  angr/analyses/variable_recovery/engine_ail.py,sha256=oOlvhYyU9FkAcWcpRE9G_simBdDMrsCEyZRasr9TzlI,28546
@@ -340,7 +355,7 @@ angr/analyses/variable_recovery/variable_recovery_base.py,sha256=_WX6Qa6HIFUJkZn
340
355
  angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=7MG8qzgnCJlYyqhZLSQfjpq0022T4825PrWWrCKspnQ,25516
341
356
  angr/angrdb/__init__.py,sha256=Jin6JjtVadtqsgm_a6gQGx3Hn7BblkbJvdcl_GwZshg,307
342
357
  angr/angrdb/db.py,sha256=ecwcJ9b_LcM9a74GXJUm7JVWTghk3JhXScLhaQ4ZP7o,6260
343
- angr/angrdb/models.py,sha256=rd7SD8F5xbXGL2p34Dodc6oeXo6Ld0QWklfJFlodcV4,4785
358
+ angr/angrdb/models.py,sha256=_DTDAV6S7bEuNER8qiHrlo27fRgBRcv_HCfH7to1ZxE,4747
344
359
  angr/angrdb/serializers/__init__.py,sha256=Gu2B79cp2wwXx4l_S5ITc4QcqyK5YnoG-zEG253JUZY,184
345
360
  angr/angrdb/serializers/cfg_model.py,sha256=Uxy1VDKAy_50dMXUykpEsl_zp3ko5ETuKNPRAd3Xsek,1314
346
361
  angr/angrdb/serializers/comments.py,sha256=oHlwu9weMpFJrVBo19Ud1OB-XtpUPrdH9MWZy7QnQ40,1578
@@ -438,12 +453,12 @@ angr/engines/vex/lifter.py,sha256=ZW37S1McKXzOkhP8JRfMwYT7iMxv3wOLhbQOdTW6cp8,16
438
453
  angr/engines/vex/claripy/__init__.py,sha256=4B8H1VOHrrKJMjAXZkZ0r_02issFP_bxDJJMw50yVe4,109
439
454
  angr/engines/vex/claripy/ccall.py,sha256=82w7I1OIIFmnarngCOn39iBwmYv3Xp46Xcz1ATqjn80,81765
440
455
  angr/engines/vex/claripy/datalayer.py,sha256=62OwjpOPxpXBmxkRLde5RYLfI_oCIfdj23GVYP25VUQ,4973
441
- angr/engines/vex/claripy/irop.py,sha256=Y1zmrbI3NVbmoOfcuhTyz_b-HE7HnaY-z4rnrCljlTQ,45601
456
+ angr/engines/vex/claripy/irop.py,sha256=meEiCdsUhAiAydBl8D6Zp9SrTrIOiGVVUlgu3NNRj7w,45753
442
457
  angr/engines/vex/heavy/__init__.py,sha256=VLvDao7Drp2stJnRfznKM04IFYi7rjfdRWVJ09nl7Ow,376
443
458
  angr/engines/vex/heavy/actions.py,sha256=n8LDymfj6qHAd6evzoyZmHkSN8MlVjZHfgREATC-bek,8663
444
459
  angr/engines/vex/heavy/concretizers.py,sha256=2xQYLXmugpJWIUjUrMnall2ewX05kTdOYLWjediaf6Q,14433
445
460
  angr/engines/vex/heavy/dirty.py,sha256=WXJsC6KBotTdNCn64Zl2GiU_q_YK-QNu4f7RfG4d_qc,18719
446
- angr/engines/vex/heavy/heavy.py,sha256=cN2k2VraDRcrs0bnaXK6qSwttF3hd4Gkn6-RrbmeoZQ,16059
461
+ angr/engines/vex/heavy/heavy.py,sha256=-WAb64Lmd5DFDz3RdKLd--p6ryuAOel1CP1BsP5Gsb4,16145
447
462
  angr/engines/vex/heavy/inspect.py,sha256=2sFdCnlhC_5Ugrju7uhAmY79lomfNLdl-o4B4mjlfjg,2368
448
463
  angr/engines/vex/heavy/resilience.py,sha256=QhGEQztITk1STChDxMWZoOSQuHXxExyW_wdWETaOpl0,3784
449
464
  angr/engines/vex/heavy/super_fastpath.py,sha256=jOf8AF3UlL9yc8K6D9Q5qw88Eez0B1ZwG_AA0rNDhQg,1209
@@ -466,7 +481,7 @@ angr/exploration_techniques/memory_watcher.py,sha256=qHkI6xO5VRzumK6eSjPX-BklFKm
466
481
  angr/exploration_techniques/oppologist.py,sha256=0rpPxGWuXkMN2igZf7KYQxxzK5gC11YpFRAvjAxmbT0,3522
467
482
  angr/exploration_techniques/slicecutor.py,sha256=_AtPqupncNHFVspkCeZWtj-wY1Ta67bgmV19PDjNxjE,5164
468
483
  angr/exploration_techniques/spiller.py,sha256=_zXSr2EiT3ZrHPLkRXeNtUcfRuXheZuGauz5zQ5qaPU,9413
469
- angr/exploration_techniques/spiller_db.py,sha256=7z-JrDMcGMzn6u4D8EW1y7UtsdW7LcJl5_rm7MgVfFg,853
484
+ angr/exploration_techniques/spiller_db.py,sha256=ccbjeAtlgD23tMt8gGbJL9r8Tc4aOJi3Rjn6hg70dnY,811
470
485
  angr/exploration_techniques/stochastic.py,sha256=ZHVNKLsMXLaVLu00IQkYSCDqp5imXAwuu9CwW4lOuZo,2032
471
486
  angr/exploration_techniques/stub_stasher.py,sha256=c27ebdEJsUjz1ZFYs300edcm415ALNbDZHi_q-QCaLU,494
472
487
  angr/exploration_techniques/suggestions.py,sha256=hgaCrymRMzKG9J0o4S4ovJmJy2dUu_MnWWpeYg3yIEw,7006
@@ -479,7 +494,7 @@ angr/exploration_techniques/unique.py,sha256=uA-BynLkUw9V1QJGdVGHDMmH020I5LWH8xd
479
494
  angr/exploration_techniques/veritesting.py,sha256=XmMuNcvV3lxbAyjtuFdgB8pfGiAtvfGxRPbr1MZrDBc,1388
480
495
  angr/flirt/__init__.py,sha256=O6Qo4OKaEkpq1kxluphTNauGjBH2WS5AuX91xlToyzA,4403
481
496
  angr/flirt/build_sig.py,sha256=3vQl6gZWWcF2HRgTQzFP6G3st8q2vpPHzRa3GfwkBnY,10036
482
- angr/knowledge_plugins/__init__.py,sha256=03TMAHhh9o7KyFhyfKBt9FAJJ_02GslLiWQIvhCKpvY,1177
497
+ angr/knowledge_plugins/__init__.py,sha256=spYypq3Rzbic2fD5eWF6D1KpSu8W6BwsPtoZPyJ5NAM,1236
483
498
  angr/knowledge_plugins/callsite_prototypes.py,sha256=ZVqTebckIj2VonQSGLFYW6TUgft1J5sOpSwE0K1Nyuk,1587
484
499
  angr/knowledge_plugins/comments.py,sha256=s4wUAtbUa75MC0Dc5h44V08kyVtO8VO39zcy_qkU6cg,339
485
500
  angr/knowledge_plugins/custom_strings.py,sha256=5qYAvmcm9BkTA247hZngDaHHrO9iIipYKJgGH9vxLLA,1037
@@ -488,6 +503,7 @@ angr/knowledge_plugins/debug_variables.py,sha256=pxiY6l0OPX3y2ZEcCGu-vJCGfw60tiP
488
503
  angr/knowledge_plugins/decompilation.py,sha256=izceZ5UEhnF7q5EO0D1Hd7_LLKk1QHXfdv4g4kIbFS4,1346
489
504
  angr/knowledge_plugins/indirect_jumps.py,sha256=VlIDWeU3xZyTAp1qSYyZxtusz2idxa1vrlLQmGWlkHA,1034
490
505
  angr/knowledge_plugins/labels.py,sha256=H9_as9RFSKmth-Dxwq-iibXo007ayvS7nFGnYtnN8jE,3146
506
+ angr/knowledge_plugins/obfuscations.py,sha256=CM7wGiSdZamD3t9v9kdymDWkSMtcFYsKupL7jVs-jjo,1407
491
507
  angr/knowledge_plugins/patches.py,sha256=tPjKI2GloTaWcA96u0yp75956HUkqOfsvusitEeWmGE,4335
492
508
  angr/knowledge_plugins/plugin.py,sha256=8tPrsgo1hsZG3ifXs4mWsKkeyB03ubfZdY5YArWw9-Q,766
493
509
  angr/knowledge_plugins/structured_code.py,sha256=Ri7e9ccjZw1v8I5WTXQ6ccj2NHPuqAkTS3BTEFxb3Rg,2168
@@ -499,10 +515,10 @@ angr/knowledge_plugins/cfg/cfg_node.py,sha256=zP7TwJpTOvJc6HNzPvBSGlDuTji5GHLKhB
499
515
  angr/knowledge_plugins/cfg/indirect_jump.py,sha256=CogCSY0Do18qD_bsT_0ucb9a7R0_qlal2HUp_YKWTMA,2074
500
516
  angr/knowledge_plugins/cfg/memory_data.py,sha256=V0q4EBxvZ5xa40u0ZYekS3iRx4M6IDuK4j6-3NEeaRg,5097
501
517
  angr/knowledge_plugins/functions/__init__.py,sha256=asiLNiT6sHbjP6eU-kDpawIoVxv4J35cwz5yQHtQ2E0,167
502
- angr/knowledge_plugins/functions/function.py,sha256=dBjRR_MPxWhU6G19S3Wf91iVygZwBh5ik8WzNAfC0ys,67238
503
- angr/knowledge_plugins/functions/function_manager.py,sha256=I3CIEUjBtw2gjQiHOuS8pzzPaBAymdH6zW5bl8eNtFo,18979
504
- angr/knowledge_plugins/functions/function_parser.py,sha256=7md9BANfgtlioDJc_Zt9Jo5qffvJACM3V98iQA5L0JU,11821
505
- angr/knowledge_plugins/functions/soot_function.py,sha256=oBWuhdw3LvZORVhuh98sf2UeqOLtkjt6j4Awf4NBvtc,4972
518
+ angr/knowledge_plugins/functions/function.py,sha256=2SbWI5xOco5lypTM6c5bp3VmKose9FDO26TGEINM0KE,67400
519
+ angr/knowledge_plugins/functions/function_manager.py,sha256=R-VtbkN3-l1-U4Wk4XHC8lGZo7DpXbEDE7Ok986YYYI,19594
520
+ angr/knowledge_plugins/functions/function_parser.py,sha256=L0ZB9_GZ0zqj5crD4f9TYTRUMmjqdk7owHmQ8GjIebM,11824
521
+ angr/knowledge_plugins/functions/soot_function.py,sha256=kAEzniVHa2FOjb2qlLElXtbbgAeeUkor7iQIFyJuoYY,5005
506
522
  angr/knowledge_plugins/key_definitions/__init__.py,sha256=fVWRMdY8j2mUWwBKlgcmtnNDGS8WF1UbKjfb6xpeCM8,432
507
523
  angr/knowledge_plugins/key_definitions/atoms.py,sha256=0Tzu3YQatyft6PG5K2sGnn38d41fOmrRhXU51TjpoFk,11069
508
524
  angr/knowledge_plugins/key_definitions/constants.py,sha256=i-44XCfMyS2pK8AwW2rL0prhtxvsWB64E9pm4eDSUcY,673
@@ -540,7 +556,7 @@ angr/misc/picklable_lock.py,sha256=tnwbWxe6V_26T4K2J0AgBEptqAiMZzjdywEZ3KEmXkE,1
540
556
  angr/misc/plugins.py,sha256=1NzhTd0rSY9oPElCeMGMZXLHEclOWVIEgdq0JvxpUMc,9385
541
557
  angr/misc/telemetry.py,sha256=a4IQuBfZvwdjQseVBEG_Np05U-8HRM_NOUAMnQ3_DJg,1217
542
558
  angr/misc/testing.py,sha256=b3CWR7bv38RP-IjGKKjZmvCLyYvvSNPSdZu5MgniJ50,626
543
- angr/misc/ux.py,sha256=52G7MJgULeZKsBlTlk4_qDHcG2hhBRJ10SM8HLn8uL0,742
559
+ angr/misc/ux.py,sha256=3iU1tDj4_pZZ_FEouoD8S1frjOGjY9w5gF1sqjOqnXY,742
544
560
  angr/procedures/__init__.py,sha256=GPf6JNRtnIKHIRR4r_qv2T13VrwlV5EV77fWpusAK2w,263
545
561
  angr/procedures/procedure_dict.py,sha256=dx6tkG4zatE7XS63r5yi_3TXG3T_RCD2LvBSDzDdC-I,1906
546
562
  angr/procedures/advapi32/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1230,7 +1246,7 @@ angr/state_plugins/debug_variables.py,sha256=LR-lsjnn6FVrEr8RCVkhA_gyeeh1jiHC92u
1230
1246
  angr/state_plugins/filesystem.py,sha256=qkM2zCfcrSBjt-g3RO1VYbjHPNRSdvsNRQR_M47pqFU,15765
1231
1247
  angr/state_plugins/gdb.py,sha256=ntTEM8AD6PgwGuQffXyosKDKE1ja_AeO4PEFY_qQZiY,5174
1232
1248
  angr/state_plugins/globals.py,sha256=IEqdnwW15T61XEaLxt4tO6AF9527uQYquKz_u5aIpi4,1594
1233
- angr/state_plugins/history.py,sha256=NCA1uaez4UGj8tn2DRh_QpxuVTk5VY7Cdb7uDqMtH7o,19218
1249
+ angr/state_plugins/history.py,sha256=tusyuRcgLPACquxrMi07zZaZLorWqjxCtwC_5NnnajI,19233
1234
1250
  angr/state_plugins/inspect.py,sha256=DqP5b59IHVtbPORpCNDG1fYZmgSPLiuUp5gdp5OIfyw,11352
1235
1251
  angr/state_plugins/javavm_classloader.py,sha256=QOkvHSVnoiaEKX6HK520viBemFpxXBcaXeC_csLSmhY,5589
1236
1252
  angr/state_plugins/jni_references.py,sha256=d8ZYjBbB56kQMBrftXvSQKCD_8P-4oZgxTxHR5Yq7Pg,3439
@@ -1315,7 +1331,7 @@ angr/storage/memory_mixins/regioned_memory/static_find_mixin.py,sha256=tWyiNrMxm
1315
1331
  angr/utils/__init__.py,sha256=knkVHIwNqvlu-QgvPorAscSpyPWogzfZwP5OnYmLbmk,1159
1316
1332
  angr/utils/ail.py,sha256=8_FloZ6cP89D2Nfc_2wCPcuVv7ny-aP-OKS3syCSMLk,1054
1317
1333
  angr/utils/algo.py,sha256=4TaEFE4tU-59KyRVFASqXeoiwH01ZMj5fZd_JVcpdOY,1038
1318
- angr/utils/bits.py,sha256=-yXIHPsJ3nYNNdnAnqLCmjAm_beAfZdbWHVQGWuAGd8,294
1334
+ angr/utils/bits.py,sha256=ut-9JR2Ks3fiC9aGae_UfYZBKHCADuhPHmPwPYPDwwg,357
1319
1335
  angr/utils/constants.py,sha256=ZnK6Ed-1U_8yaw-7ZaCLSM0-z7bSuKPg715bBrquxKE,257
1320
1336
  angr/utils/cowdict.py,sha256=qx2iO1rrCDTQUGX9dqi9ZAly2Dgm6bCEgdSAQw9MxRM,2159
1321
1337
  angr/utils/dynamic_dictlist.py,sha256=n-HlT1H8yk4KowLTJ6II5ioJr5qn66DW3t4hhesx1Vs,3048
@@ -1331,13 +1347,14 @@ angr/utils/loader.py,sha256=5PtUlonkbqENNg3AMJ4YI3-g5dyyXJ0GP83SwO2dECY,1951
1331
1347
  angr/utils/mp.py,sha256=y6Q0nDOykRZvcQ805DZpcJHQTGN-gqFi0eERGNhb3C0,1903
1332
1348
  angr/utils/orderedset.py,sha256=K5PKeDqy4xUeq47k7SdZ7E3K9M1AMXJ9-veTOo5DQIE,1978
1333
1349
  angr/utils/segment_list.py,sha256=ayUMIeaFp61AhTuxsf_go4XoXRqGi8cxTeP0OyuhEk4,20369
1350
+ angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoTRVRA,4417
1334
1351
  angr/utils/timing.py,sha256=ELuRPzdRSHzOATgtAzTFByMlVr021ypMrsvtpopreLg,1481
1335
1352
  angr/utils/ssa/__init__.py,sha256=Z7yXY0xe4X-T4bfdK0YtL9ZFnYF-JhQuJ16ZW-wpSZI,7886
1336
1353
  angr/utils/ssa/tmp_uses_collector.py,sha256=rSpvMxBHzg-tmvhsfjn3iLyPEKzaZN-xpQrdslMq3J4,793
1337
1354
  angr/utils/ssa/vvar_uses_collector.py,sha256=8gfAWdRMz73Deh-ZshDM3GPAot9Lf-rHzCiaCil0hlE,1342
1338
- angr-9.2.124.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1339
- angr-9.2.124.dist-info/METADATA,sha256=V5f1NckrmQjlwlc786BRKwSxCERShpNQXNeB8AY_CEg,4762
1340
- angr-9.2.124.dist-info/WHEEL,sha256=y1GJ_VupNstuhRFAPvC_BhjKroEPf9HGDivUNmV_9Ls,109
1341
- angr-9.2.124.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1342
- angr-9.2.124.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1343
- angr-9.2.124.dist-info/RECORD,,
1355
+ angr-9.2.126.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1356
+ angr-9.2.126.dist-info/METADATA,sha256=19rrTfgPBg4OHgBK6THWNcmcfQICUl2FPLVMhwngrpc,4762
1357
+ angr-9.2.126.dist-info/WHEEL,sha256=uEDBtbrkGAvMsG1z7kIl7b5DYNNKZ110KP7bgdmmbH0,109
1358
+ angr-9.2.126.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1359
+ angr-9.2.126.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1360
+ angr-9.2.126.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-manylinux2014_aarch64
5
5