angr 9.2.178__cp310-abi3-win_amd64.whl → 9.2.180__cp310-abi3-win_amd64.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/ailment/converter_vex.py +35 -4
- angr/analyses/cfg/cfb.py +11 -0
- angr/analyses/decompiler/ail_simplifier.py +1 -1
- angr/analyses/decompiler/clinic.py +9 -3
- angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py +2 -2
- angr/analyses/decompiler/region_simplifiers/expr_folding.py +38 -18
- angr/analyses/decompiler/region_simplifiers/region_simplifier.py +10 -4
- angr/analyses/decompiler/ssailification/rewriting.py +1 -1
- angr/analyses/decompiler/structured_codegen/c.py +54 -12
- angr/analyses/decompiler/structuring/phoenix.py +129 -64
- angr/analyses/decompiler/utils.py +26 -8
- angr/analyses/disassembly.py +108 -52
- angr/analyses/proximity_graph.py +20 -19
- angr/flirt/__init__.py +69 -42
- angr/knowledge_plugins/key_definitions/live_definitions.py +2 -1
- angr/rustylib.pyd +0 -0
- angr/unicornlib.dll +0 -0
- angr/utils/types.py +2 -0
- {angr-9.2.178.dist-info → angr-9.2.180.dist-info}/METADATA +8 -8
- {angr-9.2.178.dist-info → angr-9.2.180.dist-info}/RECORD +25 -25
- {angr-9.2.178.dist-info → angr-9.2.180.dist-info}/WHEEL +0 -0
- {angr-9.2.178.dist-info → angr-9.2.180.dist-info}/entry_points.txt +0 -0
- {angr-9.2.178.dist-info → angr-9.2.180.dist-info}/licenses/LICENSE +0 -0
- {angr-9.2.178.dist-info → angr-9.2.180.dist-info}/top_level.txt +0 -0
angr/analyses/proximity_graph.py
CHANGED
|
@@ -357,26 +357,27 @@ class ProximityGraphAnalysis(Analysis):
|
|
|
357
357
|
def _handle_Call(
|
|
358
358
|
stmt_idx: int, stmt: ailment.Stmt.Call, block: ailment.Block | None # pylint:disable=unused-argument
|
|
359
359
|
): # pylint:disable=unused-argument
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
to_expand
|
|
375
|
-
|
|
376
|
-
|
|
360
|
+
if isinstance(stmt.target, ailment.Expr.Const) and self.kb.functions.contains_addr(stmt.target.value):
|
|
361
|
+
func_node = self.kb.functions[stmt.target.value]
|
|
362
|
+
ref_at = {stmt.ins_addr}
|
|
363
|
+
|
|
364
|
+
# extract arguments
|
|
365
|
+
args = []
|
|
366
|
+
if stmt.args:
|
|
367
|
+
for arg in stmt.args:
|
|
368
|
+
self._arg_handler(arg, args, string_refs)
|
|
369
|
+
|
|
370
|
+
if (
|
|
371
|
+
self._expand_funcs and func_node.addr in self._expand_funcs
|
|
372
|
+
): # pylint:disable=unsupported-membership-test
|
|
373
|
+
new_node = FunctionProxiNode(func_node, ref_at=ref_at)
|
|
374
|
+
if new_node not in to_expand:
|
|
375
|
+
to_expand.append(new_node)
|
|
376
|
+
else:
|
|
377
|
+
new_node = CallProxiNode(func_node, ref_at=ref_at, args=tuple(args) if args is not None else None)
|
|
377
378
|
|
|
378
|
-
|
|
379
|
-
|
|
379
|
+
# stmt has been properly handled, add the proxi node to the list
|
|
380
|
+
self.handled_stmts.append(new_node)
|
|
380
381
|
|
|
381
382
|
# This should have the same functionality as the previous handler
|
|
382
383
|
def _handle_CallExpr(
|
angr/flirt/__init__.py
CHANGED
|
@@ -26,6 +26,60 @@ LIBRARY_TO_SIGNATURES: dict[str, list[FlirtSignature]] = defaultdict(list)
|
|
|
26
26
|
STRING_TO_LIBRARIES: dict[str, set[str]] = defaultdict(set)
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
def load_signature(sig_path: str, meta_path: str | None = None) -> tuple[str, FlirtSignature] | None:
|
|
30
|
+
"""
|
|
31
|
+
Load a single FLIRT signature from a specific path.
|
|
32
|
+
|
|
33
|
+
:param sig_path: Location of the FLIRT signature.
|
|
34
|
+
:return: A FlirtSignature object if loading was successful, None otherwise.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
# parse it
|
|
38
|
+
try:
|
|
39
|
+
with open(sig_path, "rb") as f:
|
|
40
|
+
sig_parsed = FlirtSignatureParsed.parse(f)
|
|
41
|
+
except FlirtSignatureError:
|
|
42
|
+
return None
|
|
43
|
+
|
|
44
|
+
# is there a meta data file?
|
|
45
|
+
if meta_path is not None and os.path.isfile(meta_path):
|
|
46
|
+
# yes!
|
|
47
|
+
with open(meta_path) as f:
|
|
48
|
+
meta = json.load(f)
|
|
49
|
+
|
|
50
|
+
arch = str(meta.get("arch", "Unknown"))
|
|
51
|
+
platform = str(meta.get("platform", "UnknownOS"))
|
|
52
|
+
os_name = meta.get("os", None)
|
|
53
|
+
os_version = meta.get("os_version", None)
|
|
54
|
+
compiler = meta.get("compiler", None)
|
|
55
|
+
compiler_version = meta.get("compiler_version", None)
|
|
56
|
+
unique_strings = meta.get("unique_strings", None)
|
|
57
|
+
|
|
58
|
+
else:
|
|
59
|
+
# nope... we need to extract information from the signature file
|
|
60
|
+
arch = flirt_arch_to_arch_name(sig_parsed.arch, sig_parsed.app_types)
|
|
61
|
+
platform = flirt_os_type_to_os_name(sig_parsed.os_types)
|
|
62
|
+
os_name = None
|
|
63
|
+
os_version = None
|
|
64
|
+
unique_strings = None
|
|
65
|
+
compiler = None
|
|
66
|
+
compiler_version = None
|
|
67
|
+
|
|
68
|
+
signature = FlirtSignature(
|
|
69
|
+
arch,
|
|
70
|
+
platform,
|
|
71
|
+
sig_parsed.libname,
|
|
72
|
+
sig_path,
|
|
73
|
+
unique_strings=unique_strings,
|
|
74
|
+
compiler=compiler,
|
|
75
|
+
compiler_version=compiler_version,
|
|
76
|
+
os_name=os_name,
|
|
77
|
+
os_version=os_version,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
return arch, signature
|
|
81
|
+
|
|
82
|
+
|
|
29
83
|
def load_signatures(path: str) -> None:
|
|
30
84
|
"""
|
|
31
85
|
Recursively load all FLIRT signatures under a specific path.
|
|
@@ -40,52 +94,14 @@ def load_signatures(path: str) -> None:
|
|
|
40
94
|
for root, _, filenames in os.walk(path):
|
|
41
95
|
for filename in filenames:
|
|
42
96
|
if filename.endswith(".sig"):
|
|
43
|
-
# parse it
|
|
44
97
|
sig_path = os.path.join(root, filename)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
except FlirtSignatureError:
|
|
98
|
+
meta_path = os.path.join(root, filename[:-4] + ".meta")
|
|
99
|
+
r = load_signature(sig_path, meta_path=meta_path)
|
|
100
|
+
if r is None:
|
|
49
101
|
_l.warning("Failed to load FLIRT signature file %s.", sig_path)
|
|
50
102
|
continue
|
|
51
103
|
|
|
52
|
-
|
|
53
|
-
meta_path = os.path.join(root, filename[:-4] + ".meta")
|
|
54
|
-
if os.path.isfile(meta_path):
|
|
55
|
-
# yes!
|
|
56
|
-
with open(meta_path) as f:
|
|
57
|
-
meta = json.load(f)
|
|
58
|
-
|
|
59
|
-
arch = str(meta.get("arch", "Unknown"))
|
|
60
|
-
platform = str(meta.get("platform", "UnknownOS"))
|
|
61
|
-
os_name = meta.get("os", None)
|
|
62
|
-
os_version = meta.get("os_version", None)
|
|
63
|
-
compiler = meta.get("compiler", None)
|
|
64
|
-
compiler_version = meta.get("compiler_version", None)
|
|
65
|
-
unique_strings = meta.get("unique_strings", None)
|
|
66
|
-
|
|
67
|
-
else:
|
|
68
|
-
# nope... we need to extract information from the signature file
|
|
69
|
-
arch = flirt_arch_to_arch_name(sig_parsed.arch, sig_parsed.app_types)
|
|
70
|
-
platform = flirt_os_type_to_os_name(sig_parsed.os_types)
|
|
71
|
-
os_name = None
|
|
72
|
-
os_version = None
|
|
73
|
-
unique_strings = None
|
|
74
|
-
compiler = None
|
|
75
|
-
compiler_version = None
|
|
76
|
-
|
|
77
|
-
signature = FlirtSignature(
|
|
78
|
-
arch,
|
|
79
|
-
platform,
|
|
80
|
-
sig_parsed.libname,
|
|
81
|
-
sig_path,
|
|
82
|
-
unique_strings=unique_strings,
|
|
83
|
-
compiler=compiler,
|
|
84
|
-
compiler_version=compiler_version,
|
|
85
|
-
os_name=os_name,
|
|
86
|
-
os_version=os_version,
|
|
87
|
-
)
|
|
88
|
-
|
|
104
|
+
arch, signature = r
|
|
89
105
|
FLIRT_SIGNATURES_BY_ARCH[arch].append(signature)
|
|
90
106
|
|
|
91
107
|
# fill in LIBRARY_TO_SIGNATURES and STRING_TO_LIBRARIES
|
|
@@ -95,3 +111,14 @@ def load_signatures(path: str) -> None:
|
|
|
95
111
|
if sig.unique_strings:
|
|
96
112
|
for us in sig.unique_strings:
|
|
97
113
|
STRING_TO_LIBRARIES[us].add(sig.sig_name)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
__all__ = (
|
|
117
|
+
"FLIRT_SIGNATURES_BY_ARCH",
|
|
118
|
+
"FS",
|
|
119
|
+
"LIBRARY_TO_SIGNATURES",
|
|
120
|
+
"STRING_TO_LIBRARIES",
|
|
121
|
+
"FlirtSignature",
|
|
122
|
+
"load_signature",
|
|
123
|
+
"load_signatures",
|
|
124
|
+
)
|
|
@@ -419,7 +419,8 @@ class LiveDefinitions:
|
|
|
419
419
|
sp_v = sp_values.one_value()
|
|
420
420
|
if sp_v is None:
|
|
421
421
|
values = [v for v in next(iter(sp_values.values())) if self.get_stack_offset(v) is not None]
|
|
422
|
-
|
|
422
|
+
if len({self.get_stack_offset(v) for v in values}) != 1:
|
|
423
|
+
return None
|
|
423
424
|
return self.get_stack_offset(values[0])
|
|
424
425
|
|
|
425
426
|
return self.get_stack_offset(sp_v)
|
angr/rustylib.pyd
CHANGED
|
Binary file
|
angr/unicornlib.dll
CHANGED
|
Binary file
|
angr/utils/types.py
CHANGED
|
@@ -97,6 +97,8 @@ def dereference_simtype(
|
|
|
97
97
|
continue
|
|
98
98
|
if real_type is None:
|
|
99
99
|
raise AngrMissingTypeError(f"Missing type {t.name}")
|
|
100
|
+
if t._arch is not None:
|
|
101
|
+
real_type = real_type.with_arch(t._arch)
|
|
100
102
|
return dereference_simtype(real_type, type_collections, memo=memo)
|
|
101
103
|
|
|
102
104
|
# the following code prepares a real_type SimType object that will be returned at the end of this method
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.180
|
|
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
|
License: BSD-2-Clause
|
|
6
6
|
Project-URL: Homepage, https://angr.io/
|
|
@@ -16,12 +16,12 @@ Description-Content-Type: text/markdown
|
|
|
16
16
|
License-File: LICENSE
|
|
17
17
|
Requires-Dist: cxxheaderparser
|
|
18
18
|
Requires-Dist: GitPython
|
|
19
|
-
Requires-Dist: archinfo==9.2.
|
|
19
|
+
Requires-Dist: archinfo==9.2.180
|
|
20
20
|
Requires-Dist: cachetools
|
|
21
21
|
Requires-Dist: capstone==5.0.3
|
|
22
22
|
Requires-Dist: cffi>=1.14.0
|
|
23
|
-
Requires-Dist: claripy==9.2.
|
|
24
|
-
Requires-Dist: cle==9.2.
|
|
23
|
+
Requires-Dist: claripy==9.2.180
|
|
24
|
+
Requires-Dist: cle==9.2.180
|
|
25
25
|
Requires-Dist: msgspec
|
|
26
26
|
Requires-Dist: mulpyplexer
|
|
27
27
|
Requires-Dist: networkx!=2.8.1,>=2.0
|
|
@@ -31,7 +31,7 @@ Requires-Dist: pycparser>=2.18
|
|
|
31
31
|
Requires-Dist: pydemumble
|
|
32
32
|
Requires-Dist: pyformlang
|
|
33
33
|
Requires-Dist: pypcode<4.0,>=3.2.1
|
|
34
|
-
Requires-Dist: pyvex==9.2.
|
|
34
|
+
Requires-Dist: pyvex==9.2.180
|
|
35
35
|
Requires-Dist: rich>=13.1.0
|
|
36
36
|
Requires-Dist: sortedcontainers
|
|
37
37
|
Requires-Dist: sympy
|
|
@@ -66,7 +66,7 @@ Project repository: https://github.com/angr/angr
|
|
|
66
66
|
|
|
67
67
|
Documentation: https://docs.angr.io
|
|
68
68
|
|
|
69
|
-
API Documentation: https://
|
|
69
|
+
API Documentation: https://docs.angr.io/en/latest/api.html
|
|
70
70
|
|
|
71
71
|
## What is angr?
|
|
72
72
|
|
|
@@ -80,7 +80,7 @@ angr is a suite of Python 3 libraries that let you load a binary and do a lot of
|
|
|
80
80
|
- Value-set analysis (VSA)
|
|
81
81
|
- Decompilation
|
|
82
82
|
|
|
83
|
-
The most common angr operation is loading a binary: `p = angr.Project('/bin/bash')` If you do this in an enhanced REPL like IPython, you can use tab-autocomplete to browse the [top-level-accessible methods](https://docs.angr.io/
|
|
83
|
+
The most common angr operation is loading a binary: `p = angr.Project('/bin/bash')` If you do this in an enhanced REPL like IPython, you can use tab-autocomplete to browse the [top-level-accessible methods](https://docs.angr.io/core-concepts/toplevel) and their docstrings.
|
|
84
84
|
|
|
85
85
|
The short version of "how to install angr" is `mkvirtualenv --python=$(which python3) angr && python -m pip install angr`.
|
|
86
86
|
|
|
@@ -108,5 +108,5 @@ project.execute()
|
|
|
108
108
|
- Documentation as [HTML](https://docs.angr.io/) and sources in the angr [Github repository](https://github.com/angr/angr/tree/master/docs)
|
|
109
109
|
- Dive right in: [top-level-accessible methods](https://docs.angr.io/core-concepts/toplevel)
|
|
110
110
|
- [Examples using angr to solve CTF challenges](https://docs.angr.io/examples).
|
|
111
|
-
- [API Reference](https://angr.io/api
|
|
111
|
+
- [API Reference](https://docs.angr.io/en/latest/api.html)
|
|
112
112
|
- [awesome-angr repo](https://github.com/degrigis/awesome-angr)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
angr/__init__.py,sha256=
|
|
1
|
+
angr/__init__.py,sha256=N3ua9-w9Q01-Id9XrkKAweYGX66vX0iiOx_JPukGv8Q,9246
|
|
2
2
|
angr/__main__.py,sha256=N6uAG4GA5S02pSDUKcWFmTuWiT-qiO7OP7kSfXsF4nQ,6142
|
|
3
3
|
angr/annocfg.py,sha256=0NIvcuCskwz45hbBzigUTAuCrYutjDMwEXtMJf0y0S0,10742
|
|
4
4
|
angr/blade.py,sha256=OGGW-oggqI9_LvgZhiQuh9Ktkvf3vhRBmH0XviNyZ6o,15801
|
|
@@ -15,7 +15,7 @@ angr/keyed_region.py,sha256=Cx6dadqFgEvRmEHTbCJpg9mXkBtKGc_BKckHc6bk1IU,17992
|
|
|
15
15
|
angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
|
|
16
16
|
angr/project.py,sha256=sXHWI8EVNK8Ax6--yNOMhyt77Mcxg6shzD1NbMf0GT0,38267
|
|
17
17
|
angr/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
|
|
18
|
-
angr/rustylib.pyd,sha256=
|
|
18
|
+
angr/rustylib.pyd,sha256=gW0fuxa9XER0OdxjTRwqsGs4I-qEOIpSoCkcrjcO3-8,4432384
|
|
19
19
|
angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
|
|
20
20
|
angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
|
|
21
21
|
angr/sim_options.py,sha256=WNLSnmn7gqKBYgQs3Me2H3zKusgt0WVqFzsBuzEZpoU,17436
|
|
@@ -27,7 +27,7 @@ angr/sim_variable.py,sha256=3DssmMw5G7m_-MYToJ3LBP-ooy2UQEuI2YgxIuX3d4Y,13177
|
|
|
27
27
|
angr/slicer.py,sha256=DND0BERanYKafasRH9MDFAng0rSjdjmzXj2-phCD6CQ,10634
|
|
28
28
|
angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
|
|
29
29
|
angr/tablespecs.py,sha256=Kx1e87FxTx3_ZN7cAHWZSRpdInT4Vfj5gExAWtLkLTw,3259
|
|
30
|
-
angr/unicornlib.dll,sha256=
|
|
30
|
+
angr/unicornlib.dll,sha256=5aF90U__q67MEybXG-BJMXze1uiDFMAwR_7s_jX-VGw,813568
|
|
31
31
|
angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
|
|
32
32
|
angr/ailment/__init__.py,sha256=X1LTS6MuTovGtbXBjZendUVOzRk-ib-bP0imuqJDOYI,2039
|
|
33
33
|
angr/ailment/block.py,sha256=rkmimsNPhrUabVVbRd2IgCaW0hA2_isvAsKlYtHZhgY,2428
|
|
@@ -35,7 +35,7 @@ angr/ailment/block_walker.py,sha256=pAIHNaN0BMxz8iEy-_4qWz1xX-QFSSPr_iA1qqIWsa8,
|
|
|
35
35
|
angr/ailment/constant.py,sha256=UG4OKm6VL3uBW_0NxlosWKBqK49gyduJjw64nBcfFfE,64
|
|
36
36
|
angr/ailment/converter_common.py,sha256=6MxxI3PRZBlFlIP2uZhQAa8vDvJr0nMDd-QnTbPLn6o,180
|
|
37
37
|
angr/ailment/converter_pcode.py,sha256=6kJmHk2WjPtfQDu_k-4ncRIaNayvxOdsyMFVNUwzUg0,23958
|
|
38
|
-
angr/ailment/converter_vex.py,sha256=
|
|
38
|
+
angr/ailment/converter_vex.py,sha256=PSZvU83HCtRpVax87QUJXWiAshuZ02pNjyU9TbyJ8iU,29091
|
|
39
39
|
angr/ailment/expression.py,sha256=8gmRcBOBdNitm9xLj7ZRyc8OWhYHep5ANSyQo7EIcms,48632
|
|
40
40
|
angr/ailment/manager.py,sha256=N6yMJnBdxJfj568KYZbKYERHmQIQpMf_hZPwfpdk9Y8,699
|
|
41
41
|
angr/ailment/statement.py,sha256=3JEhg-JDRrNjaeHFgO-liEIrZRW6v5sIsOqcGHiuM3A,30472
|
|
@@ -56,7 +56,7 @@ angr/analyses/complete_calling_conventions.py,sha256=a-hJQ6yRusDhRADGcLxjY6ETlD1
|
|
|
56
56
|
angr/analyses/congruency_check.py,sha256=QeYRrdrs_iluLLnKz3KUHkCTPRVl5PgM2T0ZXd786HA,16165
|
|
57
57
|
angr/analyses/datagraph_meta.py,sha256=Ng0jqLD5ucRn_fBXhYq3l6scs3kczRk6Sk-Sen1forc,3414
|
|
58
58
|
angr/analyses/ddg.py,sha256=AWPPsL2bfTAua5meuQfPFL6b29PLpCLZzw-LGCv5iVo,63214
|
|
59
|
-
angr/analyses/disassembly.py,sha256=
|
|
59
|
+
angr/analyses/disassembly.py,sha256=ukPUguw1WhjsUsXSb-ZbTPbQeN2BuY_UneccNdru20o,48912
|
|
60
60
|
angr/analyses/disassembly_utils.py,sha256=Pj9vnyji9fBDL3a3vAo2D3H4CfB-XrvVDLIsNXrp9pU,2877
|
|
61
61
|
angr/analyses/dominance_frontier.py,sha256=kRoOCr3EaIUW1YnvtjmKFJW65zYsJHNe-HtVx2LR15s,2002
|
|
62
62
|
angr/analyses/find_objects_static.py,sha256=27uxIeRA8nJ1XiuGay0oGVYKDvWOI9HFVSuPVXHJT7U,10264
|
|
@@ -65,7 +65,7 @@ angr/analyses/loop_analysis.py,sha256=up6N3SZzya6N6OlKldo_MP36DqiY_tMbVdFWSM8fBy
|
|
|
65
65
|
angr/analyses/loopfinder.py,sha256=eNH41_3MW10ccwzw6SGsAuILTKttxikDm2e3c-FUlVI,7030
|
|
66
66
|
angr/analyses/patchfinder.py,sha256=yf8FwkWPVOrvMRA90dKZizVz4s4QE-upq6B0Xxn8wj8,5063
|
|
67
67
|
angr/analyses/pathfinder.py,sha256=_prNqmRUSuSt2ZCP8qbvNN7pw7mtM8pWr9IL0AO6XL8,11496
|
|
68
|
-
angr/analyses/proximity_graph.py,sha256=
|
|
68
|
+
angr/analyses/proximity_graph.py,sha256=iZU1fIUnfg3HEC0E9x4cVC8WC3V0cUbgVQ9CoAbVj0Q,16270
|
|
69
69
|
angr/analyses/reassembler.py,sha256=UXrDQNJtn4RUurpbIyMVpQ3AZ0VGVQZatoGHziEHvU0,98357
|
|
70
70
|
angr/analyses/s_liveness.py,sha256=mSWwwAPpXl-dIZNx5pAHA5vWXqCO_OivOXWoiaI7tss,7984
|
|
71
71
|
angr/analyses/s_propagator.py,sha256=-pqaSlP6TmonDylPbQeHz1DirlpDBq0cMn29LuEzsU8,25157
|
|
@@ -83,7 +83,7 @@ angr/analyses/calling_convention/calling_convention.py,sha256=UfMXXoa51UvqHS5XGy
|
|
|
83
83
|
angr/analyses/calling_convention/fact_collector.py,sha256=9qx3jvBBrhKvRoZrCir61KZBqFtduiFzhbHAtWFvMic,28762
|
|
84
84
|
angr/analyses/calling_convention/utils.py,sha256=twkO073RvkkFXnOTc-KYQT1GKUtz0OPjxh0N6AWIriQ,2110
|
|
85
85
|
angr/analyses/cfg/__init__.py,sha256=-w8Vd6FD6rtjlQaQ7MxwmliFgS2zt-kZepAY4gHas04,446
|
|
86
|
-
angr/analyses/cfg/cfb.py,sha256=
|
|
86
|
+
angr/analyses/cfg/cfb.py,sha256=IpHAvGQPkzY7p_HDSCjVc5cJOXFK-z3scJR9CP4Cr9I,15918
|
|
87
87
|
angr/analyses/cfg/cfg.py,sha256=dc9M91CaLeEKduYfMwpsT_01x6XyYuoNvgvcDKtbN-I,3177
|
|
88
88
|
angr/analyses/cfg/cfg_arch_options.py,sha256=_XRewFZ51SeNaxChadb6_ER7-8LW8KXeTIpoP8_iRj0,3506
|
|
89
89
|
angr/analyses/cfg/cfg_base.py,sha256=AdFw6ujMKc0nqLGymiYACOUSNYXTf-5cOjnPeGTaF0U,125012
|
|
@@ -116,13 +116,13 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=_vQPkw1NMrzD7kAFeotOaa
|
|
|
116
116
|
angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
|
|
117
117
|
angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
|
|
118
118
|
angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
|
|
119
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
119
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=RAhozYRT21_c80-8czvAwrCzo7eTInIPmHio764uU4s,95944
|
|
120
120
|
angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
|
|
121
121
|
angr/analyses/decompiler/block_io_finder.py,sha256=9J56W0_SQPczZ2-VoxqSv61T57foHmzy7wPtUtQKffU,10943
|
|
122
122
|
angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
|
|
123
123
|
angr/analyses/decompiler/block_simplifier.py,sha256=vjlugXCB3xFYBDBn3LPxOtU1dDc76PpYtVEoju3i9-4,15513
|
|
124
124
|
angr/analyses/decompiler/callsite_maker.py,sha256=O7vjwNTmCLijzjKgSCaoX3IX4_sC-u-OqoKhE7lahlc,23427
|
|
125
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
125
|
+
angr/analyses/decompiler/clinic.py,sha256=Yo1OGf5jGDseCOQZt01DqgTi9Ds1QHtEgK4LLB01wWA,152135
|
|
126
126
|
angr/analyses/decompiler/condition_processor.py,sha256=ALx1EO82EWOfj1mjWhS_8GNMLdEO98jqnIqB-CtfELg,56692
|
|
127
127
|
angr/analyses/decompiler/decompilation_cache.py,sha256=06oiG299mVpGOTL54Xy1CUxz5s8QLgYJn5XIvKFLYkU,1566
|
|
128
128
|
angr/analyses/decompiler/decompilation_options.py,sha256=bs6CNpU3UxepgBB_9eUH4jriNpGoryyPP0sR1hDWpTk,8477
|
|
@@ -142,7 +142,7 @@ angr/analyses/decompiler/return_maker.py,sha256=sUxRx4LRt1lf-N7x93t7W04lDgJomt_l
|
|
|
142
142
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=4-tqstendHHO2J0WD3JHQkm8c4c2KG3AO3mYWrn4xvg,569
|
|
143
143
|
angr/analyses/decompiler/sequence_walker.py,sha256=_-kUn01iU7iGdrzOPpwzquwk9CVDUL7QfQkv2OT9r8Y,10083
|
|
144
144
|
angr/analyses/decompiler/stack_item.py,sha256=4HpYE54sOnODzMLrNX1m-Mb9RlQYjojJqNKjjDz9jxU,814
|
|
145
|
-
angr/analyses/decompiler/utils.py,sha256=
|
|
145
|
+
angr/analyses/decompiler/utils.py,sha256=eM1pOuoEUzT-7wd8waRrUvZk7bgA3MamzbyjLv4ETs8,43451
|
|
146
146
|
angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=TrnykR5cGCXy85f8OApJBjWSQ8WQSzjrnpND2fODWG8,207
|
|
147
147
|
angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=pANATa8vdZ9zeVau_VHatCY3ZeSmMszjDpfNI0r3C-4,26634
|
|
148
148
|
angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=c7-GxWZbFfJvmg4DPdjYgLXyiasmfgmiQ6IY4fjOVWs,727
|
|
@@ -221,7 +221,7 @@ angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py,sh
|
|
|
221
221
|
angr/analyses/decompiler/peephole_optimizations/bitwise_or_to_logical_or.py,sha256=09PA82Sg2FlBp2XZd4-WSES-8BQesXPXvIlpuuGByvM,1306
|
|
222
222
|
angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=vLXt0ekjRep4SgaNq1wyxVkBTzOMTa03d3rgkjUOcUg,995
|
|
223
223
|
angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=fXV_a58W2X30KCanYeSHdZ2yPcfDlyZq_OkYNMkglrg,6420
|
|
224
|
-
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=
|
|
224
|
+
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=xfLNvquH6x_-NtEHJpbBJBPTIcBQW6-JpDmcHeuRTxA,7957
|
|
225
225
|
angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py,sha256=sJV-8aP9KUx5Kt7pZmb3M28K3z2bGD3NWJFZOdYaBYc,2662
|
|
226
226
|
angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=fXq-qFe7JUdD5LdtUhoA9AF3LnY-3Jrmo4t3ZRJIIiQ,1414
|
|
227
227
|
angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=--C1JQluHt8ltdfUPBHvRD3SjW_ZcBU3oWdFwpCtpuw,1072
|
|
@@ -271,17 +271,17 @@ angr/analyses/decompiler/presets/preset.py,sha256=LvX7ydyO0ZzQsC0M2fy1wXA_0ygSqe
|
|
|
271
271
|
angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=BSD9osrReTEdapOMmyI1kFiN7AmE1EeJGLBV7i0u-Uc,117
|
|
272
272
|
angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=xVY1NUqFudjdcFFO5RAfbdIlHyCRPLYDVPM8Z4J6uic,3832
|
|
273
273
|
angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=kPWajH8__ap-7713B-rT3Dun_O1gYW-AoS5gJHRoMlY,2610
|
|
274
|
-
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=
|
|
274
|
+
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=OkKG5u5EONaQ5IOO87ZF04Y3Xsha3dzgNJsSJ1C6cHE,32822
|
|
275
275
|
angr/analyses/decompiler/region_simplifiers/goto.py,sha256=z2fZYNK5DsiHdOBLSEeZ-_CC6_5bBZDVV7N6z-wD_TE,6117
|
|
276
276
|
angr/analyses/decompiler/region_simplifiers/if_.py,sha256=FPTNUKPB-7kABEXntq6x5pUfVzGgVR25h18h2HTTv5E,4422
|
|
277
277
|
angr/analyses/decompiler/region_simplifiers/ifelse.py,sha256=rU01g103DJXtHBX72A2gbZJYlpVnmjLxL5Oo0FfjrVs,3808
|
|
278
278
|
angr/analyses/decompiler/region_simplifiers/loop.py,sha256=iU2lG-O0HUqxkKtY3ydmKh2pL1TPxEttdUV_oiB3qn8,6331
|
|
279
279
|
angr/analyses/decompiler/region_simplifiers/node_address_finder.py,sha256=saxgjw416DtUlMsE7kvLL5pTr5CUffRNHWwvXhEe9-s,616
|
|
280
|
-
angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=
|
|
280
|
+
angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=9Kt6TmXFoL0h4ml2GwQRsN9LQApBR-V8Oj02cbsmvXw,9744
|
|
281
281
|
angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=QYrSLtD9zvfJnU8VwFa0E7NaDfKkA8vF32s2G08wTho,24926
|
|
282
282
|
angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=YSmBBC1MIr4Na1DDFiw-309nkyNTnL-9hucM8gZf-C0,3351
|
|
283
283
|
angr/analyses/decompiler/ssailification/__init__.py,sha256=zcHoI7e2El2RSU_bHTpQRd1XRLHOfFScG6f3cm5y_lQ,108
|
|
284
|
-
angr/analyses/decompiler/ssailification/rewriting.py,sha256=
|
|
284
|
+
angr/analyses/decompiler/ssailification/rewriting.py,sha256=opMP9ONIx-cQ26PSyXO_NR9MTM_LaH-MObFk8C2uXto,15143
|
|
285
285
|
angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=wGUdybrGWTlE73hwS3gzyRiTtXL03tq8FL7-qYNl_X8,41486
|
|
286
286
|
angr/analyses/decompiler/ssailification/rewriting_state.py,sha256=NAwVcBYh-BQo9K7nfnUlNDBAYflfFMgBYzsVD3BwiN8,1898
|
|
287
287
|
angr/analyses/decompiler/ssailification/ssailification.py,sha256=LGRFDz6tQmKeJKomSQlxTTr3ILdJaI0iYBaizE5BNCI,11288
|
|
@@ -290,12 +290,12 @@ angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=MdmNKWN2LVQ9f
|
|
|
290
290
|
angr/analyses/decompiler/ssailification/traversal_state.py,sha256=RDs2mTc6GYnbMom2gBfNfNMcazKMSkhemEmse8uELTY,1558
|
|
291
291
|
angr/analyses/decompiler/structured_codegen/__init__.py,sha256=mxG4yruPAab8735wVgXZ1zu8qFPz-njKe0m5UcywE3o,633
|
|
292
292
|
angr/analyses/decompiler/structured_codegen/base.py,sha256=mb5d5iQO1N2wMl7QySvfHemXM-e0yQBhjtlmnLsVSgE,5134
|
|
293
|
-
angr/analyses/decompiler/structured_codegen/c.py,sha256=
|
|
293
|
+
angr/analyses/decompiler/structured_codegen/c.py,sha256=fgkU26x8sNFZij1h7GTkFGlQYG6oKn5L9tFBVQa8j0c,152371
|
|
294
294
|
angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbejxCG30l-yCx4sWFh7JMF_iRM,570
|
|
295
295
|
angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
|
|
296
296
|
angr/analyses/decompiler/structuring/__init__.py,sha256=kEFP-zv9CZrhJtLTKwT9-9cGVTls71wLYaLDUuYorBU,711
|
|
297
297
|
angr/analyses/decompiler/structuring/dream.py,sha256=QNZ8dKk79Uq0urUEpwmBgX2Ak3ZQLhiydcSKJTx968c,48738
|
|
298
|
-
angr/analyses/decompiler/structuring/phoenix.py,sha256
|
|
298
|
+
angr/analyses/decompiler/structuring/phoenix.py,sha256=Ekifz6wkQ0LI0s4Ar7aKBCj65jTzXc8VOaijf3p9eI8,167978
|
|
299
299
|
angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=iWFZdM54C1q2ezL7ouhH6rygJiGO2OCUH5JKXKgrf6w,7422
|
|
300
300
|
angr/analyses/decompiler/structuring/sailr.py,sha256=aJCES4r5HaLs-l1tXagIPtXpWnqY_uTlJn7wCYKnwTg,6127
|
|
301
301
|
angr/analyses/decompiler/structuring/structurer_base.py,sha256=xzQMYBInNyeRYibbiuk6EYbvPO235El3guT1yh1qAxw,50690
|
|
@@ -548,7 +548,7 @@ angr/exploration_techniques/timeout.py,sha256=JbKoV1MXYHVaiMERUy0gbEV7yeRy_uDjsg
|
|
|
548
548
|
angr/exploration_techniques/tracer.py,sha256=QqxsNn4jPwbpquZfjZDMlyIyAoZa1cOodDJhvS41Cx4,50111
|
|
549
549
|
angr/exploration_techniques/unique.py,sha256=UqB8dUzvgaSfYBfm15g8XYlBsS8Out0z1loN4sjBsNw,4453
|
|
550
550
|
angr/exploration_techniques/veritesting.py,sha256=8F7emyvQa8SOjr7Ztk7Bw-aIrYjrvmXBeaavMlNLvxs,1392
|
|
551
|
-
angr/flirt/__init__.py,sha256=
|
|
551
|
+
angr/flirt/__init__.py,sha256=HXFNQiXaGhcnJVaTXKhkXVywO_8uLCQHXW4y9FbnXdM,3783
|
|
552
552
|
angr/flirt/build_sig.py,sha256=AO48uuWi76eMiw4-RTJn58j6DDyziy7HCuWMNpApcOQ,10020
|
|
553
553
|
angr/knowledge_plugins/__init__.py,sha256=T8ovRNYYhqk_QkKN2OU5JXzeYZob8iq3v0ZlnX8_Hho,1160
|
|
554
554
|
angr/knowledge_plugins/callsite_prototypes.py,sha256=ZVqTebckIj2VonQSGLFYW6TUgft1J5sOpSwE0K1Nyuk,1587
|
|
@@ -581,7 +581,7 @@ angr/knowledge_plugins/key_definitions/definition.py,sha256=AAePJW3BYV0Ju3ZFdqVJ
|
|
|
581
581
|
angr/knowledge_plugins/key_definitions/environment.py,sha256=UbXUgv2vjz_dbG_gF2iNK6ZztKt2vgxov9SXdVEWFXk,3886
|
|
582
582
|
angr/knowledge_plugins/key_definitions/heap_address.py,sha256=YF5k7saQTQA7cz3Sz0PbW7N3qpNZoVrlpOvq1L6gvFI,919
|
|
583
583
|
angr/knowledge_plugins/key_definitions/key_definition_manager.py,sha256=LYLFUutUqWB1jSOjWh7b_JQtIaT08duv8_TUZIt5R-k,3313
|
|
584
|
-
angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=
|
|
584
|
+
angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=y5oFS8du8TYSDN_d26aW-83WaZ8_PGs1TkaDcAdZwYA,38989
|
|
585
585
|
angr/knowledge_plugins/key_definitions/liveness.py,sha256=FtbfnQTtILx3a3j21MKVVuZX4lN3x7n6ccYuIVDo2CY,6933
|
|
586
586
|
angr/knowledge_plugins/key_definitions/rd_model.py,sha256=wJUpQ1-QkNNOTYqPrlCY840SrG3KUns8fJahIqvcdTM,7105
|
|
587
587
|
angr/knowledge_plugins/key_definitions/tag.py,sha256=QWtBe5yuMei6t2NRPwolVyUa1XyY2khMeU6pQwb66iQ,1710
|
|
@@ -1393,14 +1393,14 @@ angr/utils/orderedset.py,sha256=aGfmLdOS77nzz2eoPpCqRICqzaAeBnuis1Et_I_hiZg,2047
|
|
|
1393
1393
|
angr/utils/strings.py,sha256=iv3Mg_KCyyPx9dkIw-O0ZidWyGl8mqPDkyNJwZYQr_U,688
|
|
1394
1394
|
angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoTRVRA,4417
|
|
1395
1395
|
angr/utils/timing.py,sha256=n-YZ86g0ZWmLhsoNvcimRpKzewR5hmquLZe6fagxlBw,2224
|
|
1396
|
-
angr/utils/types.py,sha256=
|
|
1396
|
+
angr/utils/types.py,sha256=_DklLSyARlUJyEf4Viub95lYWF7Yh9PmKAd74munutQ,5052
|
|
1397
1397
|
angr/utils/vex.py,sha256=epcrCexi_NjKnPGM2gfpiRsUea_Scd-71UMuF32ZAQo,306
|
|
1398
1398
|
angr/utils/ssa/__init__.py,sha256=rKlgdaTSouwofsLNMa8MKfWb_tqntfp_B5nm-FOeh2Y,17390
|
|
1399
1399
|
angr/utils/ssa/tmp_uses_collector.py,sha256=digAUQpYoFR1VYfwoXlF3T1pYdDi6Pdq_ck54SjMabQ,813
|
|
1400
1400
|
angr/utils/ssa/vvar_uses_collector.py,sha256=HewqUQluNE9EsaiLeFo7LaBvws_DDBDYNt9RBExy464,1367
|
|
1401
|
-
angr-9.2.
|
|
1402
|
-
angr-9.2.
|
|
1403
|
-
angr-9.2.
|
|
1404
|
-
angr-9.2.
|
|
1405
|
-
angr-9.2.
|
|
1406
|
-
angr-9.2.
|
|
1401
|
+
angr-9.2.180.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
|
|
1402
|
+
angr-9.2.180.dist-info/METADATA,sha256=1_x78tjck5wIwyCHF4YuOG-MvbhjIt3_HJJv-6s-xj4,4557
|
|
1403
|
+
angr-9.2.180.dist-info/WHEEL,sha256=OJ2zpOfp3Fst0GC5jHtFuY8tAf46LLgZ9O920dE4b3c,100
|
|
1404
|
+
angr-9.2.180.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1405
|
+
angr-9.2.180.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1406
|
+
angr-9.2.180.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|