angr 9.2.124__py3-none-manylinux2014_x86_64.whl → 9.2.125__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.
- angr/__init__.py +1 -1
- angr/analyses/__init__.py +9 -1
- angr/analyses/codecave.py +77 -0
- angr/analyses/decompiler/clinic.py +31 -1
- angr/analyses/decompiler/decompiler.py +4 -0
- angr/analyses/decompiler/optimization_passes/__init__.py +3 -0
- angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py +6 -0
- angr/analyses/decompiler/optimization_passes/tag_slicer.py +41 -0
- angr/analyses/decompiler/peephole_optimizations/constant_derefs.py +2 -2
- angr/analyses/patchfinder.py +137 -0
- angr/analyses/pathfinder.py +282 -0
- angr/analyses/smc.py +159 -0
- angr/angrdb/models.py +1 -2
- angr/engines/vex/heavy/heavy.py +2 -0
- angr/exploration_techniques/spiller_db.py +1 -2
- angr/knowledge_plugins/functions/function.py +4 -0
- angr/knowledge_plugins/functions/function_manager.py +18 -9
- angr/knowledge_plugins/functions/function_parser.py +1 -1
- angr/knowledge_plugins/functions/soot_function.py +1 -0
- angr/misc/ux.py +2 -2
- angr/project.py +17 -1
- angr/state_plugins/history.py +6 -4
- angr/utils/bits.py +4 -0
- angr/utils/tagged_interval_map.py +112 -0
- {angr-9.2.124.dist-info → angr-9.2.125.dist-info}/METADATA +6 -6
- {angr-9.2.124.dist-info → angr-9.2.125.dist-info}/RECORD +30 -24
- {angr-9.2.124.dist-info → angr-9.2.125.dist-info}/LICENSE +0 -0
- {angr-9.2.124.dist-info → angr-9.2.125.dist-info}/WHEEL +0 -0
- {angr-9.2.124.dist-info → angr-9.2.125.dist-info}/entry_points.txt +0 -0
- {angr-9.2.124.dist-info → angr-9.2.125.dist-info}/top_level.txt +0 -0
angr/state_plugins/history.py
CHANGED
|
@@ -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.
|
|
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.
|
|
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 =
|
|
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 =
|
|
277
|
+
addr = addr.concrete_value
|
|
276
278
|
return addr == write_offset
|
|
277
279
|
|
|
278
280
|
return [
|
angr/utils/bits.py
CHANGED
|
@@ -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.
|
|
3
|
+
Version: 9.2.125
|
|
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.
|
|
20
|
-
Requires-Dist: archinfo==9.2.
|
|
19
|
+
Requires-Dist: ailment==9.2.125
|
|
20
|
+
Requires-Dist: archinfo==9.2.125
|
|
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.
|
|
25
|
-
Requires-Dist: cle==9.2.
|
|
24
|
+
Requires-Dist: claripy==9.2.125
|
|
25
|
+
Requires-Dist: cle==9.2.125
|
|
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.
|
|
34
|
+
Requires-Dist: pyvex==9.2.125
|
|
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=
|
|
1
|
+
angr/__init__.py,sha256=ab5YAbhAR88Lsps_7vgmcRJcuo3Db9vUr2t8f7jR7P8,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
|
|
@@ -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=
|
|
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=
|
|
29
|
+
angr/analyses/__init__.py,sha256=H8PBIRQoIY3RPRYSdYMA21WGy0Hlka6uoVLsRwFoCLs,3326
|
|
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
|
|
@@ -98,11 +102,11 @@ angr/analyses/decompiler/block_io_finder.py,sha256=xMwG8Bi69OGNYVs0U0F4yxM8kEsny
|
|
|
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
104
|
angr/analyses/decompiler/callsite_maker.py,sha256=BcXjx58pC5GyveGdyLIICMhC9pzG4uKcVak5OkR_iIU,18491
|
|
101
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
105
|
+
angr/analyses/decompiler/clinic.py,sha256=kfZL_GYcvR4elDWUonriepfbvSQtVq40xAWNF-03yOs,105984
|
|
102
106
|
angr/analyses/decompiler/condition_processor.py,sha256=mBJrBnCP3Y3JkJXzihaJwGgelbWmLl561FjD49yevVU,51155
|
|
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=
|
|
109
|
+
angr/analyses/decompiler/decompiler.py,sha256=8lt7IzmR53aBiPl_C0B-dvhaeGQXTSppDF4pXuG-Vms,26713
|
|
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
|
|
@@ -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=
|
|
138
|
+
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=ZKaTvPqNAL6ratVB1V_rz6NRczCLaknZDd9rzRzPzpg,4271
|
|
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=
|
|
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=
|
|
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
|
|
@@ -340,7 +345,7 @@ angr/analyses/variable_recovery/variable_recovery_base.py,sha256=_WX6Qa6HIFUJkZn
|
|
|
340
345
|
angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=7MG8qzgnCJlYyqhZLSQfjpq0022T4825PrWWrCKspnQ,25516
|
|
341
346
|
angr/angrdb/__init__.py,sha256=Jin6JjtVadtqsgm_a6gQGx3Hn7BblkbJvdcl_GwZshg,307
|
|
342
347
|
angr/angrdb/db.py,sha256=ecwcJ9b_LcM9a74GXJUm7JVWTghk3JhXScLhaQ4ZP7o,6260
|
|
343
|
-
angr/angrdb/models.py,sha256=
|
|
348
|
+
angr/angrdb/models.py,sha256=_DTDAV6S7bEuNER8qiHrlo27fRgBRcv_HCfH7to1ZxE,4747
|
|
344
349
|
angr/angrdb/serializers/__init__.py,sha256=Gu2B79cp2wwXx4l_S5ITc4QcqyK5YnoG-zEG253JUZY,184
|
|
345
350
|
angr/angrdb/serializers/cfg_model.py,sha256=Uxy1VDKAy_50dMXUykpEsl_zp3ko5ETuKNPRAd3Xsek,1314
|
|
346
351
|
angr/angrdb/serializers/comments.py,sha256=oHlwu9weMpFJrVBo19Ud1OB-XtpUPrdH9MWZy7QnQ40,1578
|
|
@@ -443,7 +448,7 @@ angr/engines/vex/heavy/__init__.py,sha256=VLvDao7Drp2stJnRfznKM04IFYi7rjfdRWVJ09
|
|
|
443
448
|
angr/engines/vex/heavy/actions.py,sha256=n8LDymfj6qHAd6evzoyZmHkSN8MlVjZHfgREATC-bek,8663
|
|
444
449
|
angr/engines/vex/heavy/concretizers.py,sha256=2xQYLXmugpJWIUjUrMnall2ewX05kTdOYLWjediaf6Q,14433
|
|
445
450
|
angr/engines/vex/heavy/dirty.py,sha256=WXJsC6KBotTdNCn64Zl2GiU_q_YK-QNu4f7RfG4d_qc,18719
|
|
446
|
-
angr/engines/vex/heavy/heavy.py,sha256
|
|
451
|
+
angr/engines/vex/heavy/heavy.py,sha256=-WAb64Lmd5DFDz3RdKLd--p6ryuAOel1CP1BsP5Gsb4,16145
|
|
447
452
|
angr/engines/vex/heavy/inspect.py,sha256=2sFdCnlhC_5Ugrju7uhAmY79lomfNLdl-o4B4mjlfjg,2368
|
|
448
453
|
angr/engines/vex/heavy/resilience.py,sha256=QhGEQztITk1STChDxMWZoOSQuHXxExyW_wdWETaOpl0,3784
|
|
449
454
|
angr/engines/vex/heavy/super_fastpath.py,sha256=jOf8AF3UlL9yc8K6D9Q5qw88Eez0B1ZwG_AA0rNDhQg,1209
|
|
@@ -466,7 +471,7 @@ angr/exploration_techniques/memory_watcher.py,sha256=qHkI6xO5VRzumK6eSjPX-BklFKm
|
|
|
466
471
|
angr/exploration_techniques/oppologist.py,sha256=0rpPxGWuXkMN2igZf7KYQxxzK5gC11YpFRAvjAxmbT0,3522
|
|
467
472
|
angr/exploration_techniques/slicecutor.py,sha256=_AtPqupncNHFVspkCeZWtj-wY1Ta67bgmV19PDjNxjE,5164
|
|
468
473
|
angr/exploration_techniques/spiller.py,sha256=_zXSr2EiT3ZrHPLkRXeNtUcfRuXheZuGauz5zQ5qaPU,9413
|
|
469
|
-
angr/exploration_techniques/spiller_db.py,sha256=
|
|
474
|
+
angr/exploration_techniques/spiller_db.py,sha256=ccbjeAtlgD23tMt8gGbJL9r8Tc4aOJi3Rjn6hg70dnY,811
|
|
470
475
|
angr/exploration_techniques/stochastic.py,sha256=ZHVNKLsMXLaVLu00IQkYSCDqp5imXAwuu9CwW4lOuZo,2032
|
|
471
476
|
angr/exploration_techniques/stub_stasher.py,sha256=c27ebdEJsUjz1ZFYs300edcm415ALNbDZHi_q-QCaLU,494
|
|
472
477
|
angr/exploration_techniques/suggestions.py,sha256=hgaCrymRMzKG9J0o4S4ovJmJy2dUu_MnWWpeYg3yIEw,7006
|
|
@@ -499,10 +504,10 @@ angr/knowledge_plugins/cfg/cfg_node.py,sha256=zP7TwJpTOvJc6HNzPvBSGlDuTji5GHLKhB
|
|
|
499
504
|
angr/knowledge_plugins/cfg/indirect_jump.py,sha256=CogCSY0Do18qD_bsT_0ucb9a7R0_qlal2HUp_YKWTMA,2074
|
|
500
505
|
angr/knowledge_plugins/cfg/memory_data.py,sha256=V0q4EBxvZ5xa40u0ZYekS3iRx4M6IDuK4j6-3NEeaRg,5097
|
|
501
506
|
angr/knowledge_plugins/functions/__init__.py,sha256=asiLNiT6sHbjP6eU-kDpawIoVxv4J35cwz5yQHtQ2E0,167
|
|
502
|
-
angr/knowledge_plugins/functions/function.py,sha256=
|
|
503
|
-
angr/knowledge_plugins/functions/function_manager.py,sha256=
|
|
504
|
-
angr/knowledge_plugins/functions/function_parser.py,sha256=
|
|
505
|
-
angr/knowledge_plugins/functions/soot_function.py,sha256=
|
|
507
|
+
angr/knowledge_plugins/functions/function.py,sha256=2SbWI5xOco5lypTM6c5bp3VmKose9FDO26TGEINM0KE,67400
|
|
508
|
+
angr/knowledge_plugins/functions/function_manager.py,sha256=R-VtbkN3-l1-U4Wk4XHC8lGZo7DpXbEDE7Ok986YYYI,19594
|
|
509
|
+
angr/knowledge_plugins/functions/function_parser.py,sha256=L0ZB9_GZ0zqj5crD4f9TYTRUMmjqdk7owHmQ8GjIebM,11824
|
|
510
|
+
angr/knowledge_plugins/functions/soot_function.py,sha256=kAEzniVHa2FOjb2qlLElXtbbgAeeUkor7iQIFyJuoYY,5005
|
|
506
511
|
angr/knowledge_plugins/key_definitions/__init__.py,sha256=fVWRMdY8j2mUWwBKlgcmtnNDGS8WF1UbKjfb6xpeCM8,432
|
|
507
512
|
angr/knowledge_plugins/key_definitions/atoms.py,sha256=0Tzu3YQatyft6PG5K2sGnn38d41fOmrRhXU51TjpoFk,11069
|
|
508
513
|
angr/knowledge_plugins/key_definitions/constants.py,sha256=i-44XCfMyS2pK8AwW2rL0prhtxvsWB64E9pm4eDSUcY,673
|
|
@@ -540,7 +545,7 @@ angr/misc/picklable_lock.py,sha256=tnwbWxe6V_26T4K2J0AgBEptqAiMZzjdywEZ3KEmXkE,1
|
|
|
540
545
|
angr/misc/plugins.py,sha256=1NzhTd0rSY9oPElCeMGMZXLHEclOWVIEgdq0JvxpUMc,9385
|
|
541
546
|
angr/misc/telemetry.py,sha256=a4IQuBfZvwdjQseVBEG_Np05U-8HRM_NOUAMnQ3_DJg,1217
|
|
542
547
|
angr/misc/testing.py,sha256=b3CWR7bv38RP-IjGKKjZmvCLyYvvSNPSdZu5MgniJ50,626
|
|
543
|
-
angr/misc/ux.py,sha256=
|
|
548
|
+
angr/misc/ux.py,sha256=3iU1tDj4_pZZ_FEouoD8S1frjOGjY9w5gF1sqjOqnXY,742
|
|
544
549
|
angr/procedures/__init__.py,sha256=GPf6JNRtnIKHIRR4r_qv2T13VrwlV5EV77fWpusAK2w,263
|
|
545
550
|
angr/procedures/procedure_dict.py,sha256=dx6tkG4zatE7XS63r5yi_3TXG3T_RCD2LvBSDzDdC-I,1906
|
|
546
551
|
angr/procedures/advapi32/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1230,7 +1235,7 @@ angr/state_plugins/debug_variables.py,sha256=LR-lsjnn6FVrEr8RCVkhA_gyeeh1jiHC92u
|
|
|
1230
1235
|
angr/state_plugins/filesystem.py,sha256=qkM2zCfcrSBjt-g3RO1VYbjHPNRSdvsNRQR_M47pqFU,15765
|
|
1231
1236
|
angr/state_plugins/gdb.py,sha256=ntTEM8AD6PgwGuQffXyosKDKE1ja_AeO4PEFY_qQZiY,5174
|
|
1232
1237
|
angr/state_plugins/globals.py,sha256=IEqdnwW15T61XEaLxt4tO6AF9527uQYquKz_u5aIpi4,1594
|
|
1233
|
-
angr/state_plugins/history.py,sha256=
|
|
1238
|
+
angr/state_plugins/history.py,sha256=tusyuRcgLPACquxrMi07zZaZLorWqjxCtwC_5NnnajI,19233
|
|
1234
1239
|
angr/state_plugins/inspect.py,sha256=DqP5b59IHVtbPORpCNDG1fYZmgSPLiuUp5gdp5OIfyw,11352
|
|
1235
1240
|
angr/state_plugins/javavm_classloader.py,sha256=QOkvHSVnoiaEKX6HK520viBemFpxXBcaXeC_csLSmhY,5589
|
|
1236
1241
|
angr/state_plugins/jni_references.py,sha256=d8ZYjBbB56kQMBrftXvSQKCD_8P-4oZgxTxHR5Yq7Pg,3439
|
|
@@ -1315,7 +1320,7 @@ angr/storage/memory_mixins/regioned_memory/static_find_mixin.py,sha256=tWyiNrMxm
|
|
|
1315
1320
|
angr/utils/__init__.py,sha256=knkVHIwNqvlu-QgvPorAscSpyPWogzfZwP5OnYmLbmk,1159
|
|
1316
1321
|
angr/utils/ail.py,sha256=8_FloZ6cP89D2Nfc_2wCPcuVv7ny-aP-OKS3syCSMLk,1054
|
|
1317
1322
|
angr/utils/algo.py,sha256=4TaEFE4tU-59KyRVFASqXeoiwH01ZMj5fZd_JVcpdOY,1038
|
|
1318
|
-
angr/utils/bits.py,sha256
|
|
1323
|
+
angr/utils/bits.py,sha256=ut-9JR2Ks3fiC9aGae_UfYZBKHCADuhPHmPwPYPDwwg,357
|
|
1319
1324
|
angr/utils/constants.py,sha256=ZnK6Ed-1U_8yaw-7ZaCLSM0-z7bSuKPg715bBrquxKE,257
|
|
1320
1325
|
angr/utils/cowdict.py,sha256=qx2iO1rrCDTQUGX9dqi9ZAly2Dgm6bCEgdSAQw9MxRM,2159
|
|
1321
1326
|
angr/utils/dynamic_dictlist.py,sha256=n-HlT1H8yk4KowLTJ6II5ioJr5qn66DW3t4hhesx1Vs,3048
|
|
@@ -1331,13 +1336,14 @@ angr/utils/loader.py,sha256=5PtUlonkbqENNg3AMJ4YI3-g5dyyXJ0GP83SwO2dECY,1951
|
|
|
1331
1336
|
angr/utils/mp.py,sha256=y6Q0nDOykRZvcQ805DZpcJHQTGN-gqFi0eERGNhb3C0,1903
|
|
1332
1337
|
angr/utils/orderedset.py,sha256=K5PKeDqy4xUeq47k7SdZ7E3K9M1AMXJ9-veTOo5DQIE,1978
|
|
1333
1338
|
angr/utils/segment_list.py,sha256=ayUMIeaFp61AhTuxsf_go4XoXRqGi8cxTeP0OyuhEk4,20369
|
|
1339
|
+
angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoTRVRA,4417
|
|
1334
1340
|
angr/utils/timing.py,sha256=ELuRPzdRSHzOATgtAzTFByMlVr021ypMrsvtpopreLg,1481
|
|
1335
1341
|
angr/utils/ssa/__init__.py,sha256=Z7yXY0xe4X-T4bfdK0YtL9ZFnYF-JhQuJ16ZW-wpSZI,7886
|
|
1336
1342
|
angr/utils/ssa/tmp_uses_collector.py,sha256=rSpvMxBHzg-tmvhsfjn3iLyPEKzaZN-xpQrdslMq3J4,793
|
|
1337
1343
|
angr/utils/ssa/vvar_uses_collector.py,sha256=8gfAWdRMz73Deh-ZshDM3GPAot9Lf-rHzCiaCil0hlE,1342
|
|
1338
|
-
angr-9.2.
|
|
1339
|
-
angr-9.2.
|
|
1340
|
-
angr-9.2.
|
|
1341
|
-
angr-9.2.
|
|
1342
|
-
angr-9.2.
|
|
1343
|
-
angr-9.2.
|
|
1344
|
+
angr-9.2.125.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
|
|
1345
|
+
angr-9.2.125.dist-info/METADATA,sha256=pCK4HHhK_lykw4HyvQgNg7ZbjPYJ9gk0r9b5fHe-9vo,4762
|
|
1346
|
+
angr-9.2.125.dist-info/WHEEL,sha256=Qy-topCisVGFCvGsSFW-dVfpvcHy8RJBhKQd1m2byYY,108
|
|
1347
|
+
angr-9.2.125.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1348
|
+
angr-9.2.125.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1349
|
+
angr-9.2.125.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|