angr 9.2.178__cp310-abi3-macosx_11_0_arm64.whl → 9.2.180__cp310-abi3-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.abi3.so +0 -0
- angr/unicornlib.dylib +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.abi3.so
CHANGED
|
Binary file
|
angr/unicornlib.dylib
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,17 +1,23 @@
|
|
|
1
|
+
angr-9.2.180.dist-info/RECORD,,
|
|
2
|
+
angr-9.2.180.dist-info/WHEEL,sha256=kFn0Fg1gyV9Pk02-Hr4CbqbhAvYPyosBpF5pwZB07jU,135
|
|
3
|
+
angr-9.2.180.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
4
|
+
angr-9.2.180.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
5
|
+
angr-9.2.180.dist-info/METADATA,sha256=FrAAYo2drnFnR8J3PO9dqr21gCdCMF1lc5NSMAwVOsc,4445
|
|
6
|
+
angr-9.2.180.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
|
|
1
7
|
angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
|
|
2
|
-
angr/unicornlib.dylib,sha256=
|
|
8
|
+
angr/unicornlib.dylib,sha256=CX5lk467Y4yWOcGSobhVDfj_uiwiyEpv1i9rnKstLfU,234064
|
|
3
9
|
angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
|
|
4
10
|
angr/callable.py,sha256=j9Orwd4H4fPqOYylcEt5GuLGPV7ZOqyA_OYO2bp5PAA,6437
|
|
5
11
|
angr/sim_type.py,sha256=8AJjzu_hp4GvgXogz8KnLiPXSnxBGUy-D3G8w4wEicQ,144714
|
|
6
12
|
angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
|
|
7
13
|
angr/emulator.py,sha256=aZXi8-jQ_9uelN2zvlecR2ZYXPey4PHyju6yVJIWDAk,4708
|
|
8
|
-
angr/rustylib.abi3.so,sha256=
|
|
14
|
+
angr/rustylib.abi3.so,sha256=7jWwz0kikkRqO8M9W3d1yK6sRZyL_-LJdwsOF-U2JYo,4768352
|
|
9
15
|
angr/codenode.py,sha256=hCrQRp4Ebb2X6JicNmY1PXo3_Pm8GDxVivVW0Pwe84k,3918
|
|
10
16
|
angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
17
|
angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
|
|
12
18
|
angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
|
|
13
19
|
angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
|
|
14
|
-
angr/__init__.py,sha256=
|
|
20
|
+
angr/__init__.py,sha256=N3ua9-w9Q01-Id9XrkKAweYGX66vX0iiOx_JPukGv8Q,9246
|
|
15
21
|
angr/blade.py,sha256=OGGW-oggqI9_LvgZhiQuh9Ktkvf3vhRBmH0XviNyZ6o,15801
|
|
16
22
|
angr/factory.py,sha256=PPNWvTiWaIgzxzyoTr8ObSF-TXp1hCdbY2e-0xBePNc,17815
|
|
17
23
|
angr/sim_state_options.py,sha256=dsMY3UefvL7yZKXloubMhzUET3N2Crw-Fpw2Vd1ouZQ,12468
|
|
@@ -684,7 +690,7 @@ angr/procedures/win32_kernel/ExFreePoolWithTag.py,sha256=ok_CG6yILlPGZzg-VvBxWMX
|
|
|
684
690
|
angr/procedures/java_io/write.py,sha256=zYTD5OYySQEfj4Z8t54AEoM1gUR5AXdeCa6AmNabwXk,662
|
|
685
691
|
angr/procedures/java_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
686
692
|
angr/procedures/java_io/read.py,sha256=PWQjyUErAHcoL5JYG4IhSqeRc5s30IeHM2mpsWdBqgI,384
|
|
687
|
-
angr/ailment/converter_vex.py,sha256=
|
|
693
|
+
angr/ailment/converter_vex.py,sha256=PSZvU83HCtRpVax87QUJXWiAshuZ02pNjyU9TbyJ8iU,29091
|
|
688
694
|
angr/ailment/converter_common.py,sha256=6MxxI3PRZBlFlIP2uZhQAa8vDvJr0nMDd-QnTbPLn6o,180
|
|
689
695
|
angr/ailment/tagged_object.py,sha256=48xIMC5WKebEpA12Zq6dQz3evvKxT3ULEu2cPdw9w-Y,1566
|
|
690
696
|
angr/ailment/statement.py,sha256=3JEhg-JDRrNjaeHFgO-liEIrZRW6v5sIsOqcGHiuM3A,30472
|
|
@@ -755,7 +761,7 @@ angr/utils/graph.py,sha256=-8cipOvaBeD4owh2cksAwBgcIx2jOeKZa-zcFk73WeM,34787
|
|
|
755
761
|
angr/utils/constants.py,sha256=kY8SvX3475AT7JWD2uKHiLKuFEAMxn6OFVtnfbIJzaE,281
|
|
756
762
|
angr/utils/cowdict.py,sha256=qx2iO1rrCDTQUGX9dqi9ZAly2Dgm6bCEgdSAQw9MxRM,2159
|
|
757
763
|
angr/utils/__init__.py,sha256=kBUIJCp9WSgzb62zMg4puUUeheMSl9U4RFqkfiL3en8,1159
|
|
758
|
-
angr/utils/types.py,sha256=
|
|
764
|
+
angr/utils/types.py,sha256=_DklLSyARlUJyEf4Viub95lYWF7Yh9PmKAd74munutQ,5052
|
|
759
765
|
angr/utils/formatting.py,sha256=OWzSfAlKcL09cEtcqxszYWHsRO9tih7hvXD2K9kUZc8,4343
|
|
760
766
|
angr/utils/orderedset.py,sha256=aGfmLdOS77nzz2eoPpCqRICqzaAeBnuis1Et_I_hiZg,2047
|
|
761
767
|
angr/utils/cpp.py,sha256=k6ZOUNIqYxLd5WSRKP2T3li-3zt06PtneLgaBWPOtiU,516
|
|
@@ -889,7 +895,7 @@ angr/knowledge_plugins/key_definitions/constants.py,sha256=n1h_yQbwD9qUOmuBFRNZO
|
|
|
889
895
|
angr/knowledge_plugins/key_definitions/__init__.py,sha256=-x1VGH3LHMze3T-RygodvUG3oXXa5jhKvjXoPKyiU_0,432
|
|
890
896
|
angr/knowledge_plugins/key_definitions/rd_model.py,sha256=wJUpQ1-QkNNOTYqPrlCY840SrG3KUns8fJahIqvcdTM,7105
|
|
891
897
|
angr/knowledge_plugins/key_definitions/heap_address.py,sha256=YF5k7saQTQA7cz3Sz0PbW7N3qpNZoVrlpOvq1L6gvFI,919
|
|
892
|
-
angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=
|
|
898
|
+
angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=y5oFS8du8TYSDN_d26aW-83WaZ8_PGs1TkaDcAdZwYA,38989
|
|
893
899
|
angr/knowledge_plugins/key_definitions/undefined.py,sha256=9_lhbftnUqPGBc1boOoZtUQnNFn0eXsl3Xty0y79z2A,1273
|
|
894
900
|
angr/knowledge_plugins/key_definitions/definition.py,sha256=AAePJW3BYV0Ju3ZFdqVJdQebPAkB1ASdTiuU9sRqzn4,8574
|
|
895
901
|
angr/knowledge_plugins/key_definitions/environment.py,sha256=UbXUgv2vjz_dbG_gF2iNK6ZztKt2vgxov9SXdVEWFXk,3886
|
|
@@ -1048,7 +1054,7 @@ angr/analyses/boyscout.py,sha256=KIxl1chV_hQV2Unn-vnoYne1dmFVy1WTUdoidkUpQ8I,246
|
|
|
1048
1054
|
angr/analyses/congruency_check.py,sha256=QeYRrdrs_iluLLnKz3KUHkCTPRVl5PgM2T0ZXd786HA,16165
|
|
1049
1055
|
angr/analyses/stack_pointer_tracker.py,sha256=tsiA8VHyrUsR9sCFh6CL0BS1Ubunv2pat6D3DLanDgI,38151
|
|
1050
1056
|
angr/analyses/binary_optimizer.py,sha256=xFDv8c1s5nQUKY_EWYRCuVroSXFkMiSLl5LngPiysDA,26145
|
|
1051
|
-
angr/analyses/proximity_graph.py,sha256=
|
|
1057
|
+
angr/analyses/proximity_graph.py,sha256=iZU1fIUnfg3HEC0E9x4cVC8WC3V0cUbgVQ9CoAbVj0Q,16270
|
|
1052
1058
|
angr/analyses/vtable.py,sha256=1Ed7jzr99rk9VgOGzcxBw_6GFqby5mIdSTGPqQPhcZM,3872
|
|
1053
1059
|
angr/analyses/soot_class_hierarchy.py,sha256=R4xeacn-a_Q7PxSyj_stu5mnglZkPB5US5srKChX3mk,8740
|
|
1054
1060
|
angr/analyses/__init__.py,sha256=KFu0Otm7bqAcjX8dsnQzphJmkUVxMLssjFIJJOci32U,3479
|
|
@@ -1059,7 +1065,7 @@ angr/analyses/complete_calling_conventions.py,sha256=a-hJQ6yRusDhRADGcLxjY6ETlD1
|
|
|
1059
1065
|
angr/analyses/callee_cleanup_finder.py,sha256=lQRn5rHS6mGNOqDh-UsxX-gs4cDpwQ6KNjvzQFVCdio,2800
|
|
1060
1066
|
angr/analyses/static_hooker.py,sha256=AYJXoHtdq2m-MgpJbx4eur7wy7llrKXvsVM5NdPcKHU,1852
|
|
1061
1067
|
angr/analyses/code_tagging.py,sha256=Gj7Ms24RnmhC9OD57gw7R6_c-pLfqSug-LVUMw_JmXE,3510
|
|
1062
|
-
angr/analyses/disassembly.py,sha256=
|
|
1068
|
+
angr/analyses/disassembly.py,sha256=ukPUguw1WhjsUsXSb-ZbTPbQeN2BuY_UneccNdru20o,48912
|
|
1063
1069
|
angr/analyses/s_propagator.py,sha256=-pqaSlP6TmonDylPbQeHz1DirlpDBq0cMn29LuEzsU8,25157
|
|
1064
1070
|
angr/analyses/s_liveness.py,sha256=mSWwwAPpXl-dIZNx5pAHA5vWXqCO_OivOXWoiaI7tss,7984
|
|
1065
1071
|
angr/analyses/patchfinder.py,sha256=yf8FwkWPVOrvMRA90dKZizVz4s4QE-upq6B0Xxn8wj8,5063
|
|
@@ -1138,7 +1144,7 @@ angr/analyses/reaching_definitions/function_handler_library/stdio.py,sha256=dPGE
|
|
|
1138
1144
|
angr/analyses/reaching_definitions/function_handler_library/string.py,sha256=qh7XJXiSuT5dwUjnYKSo6RhGQbsMjJm97mma1gypNG0,8825
|
|
1139
1145
|
angr/analyses/reaching_definitions/function_handler_library/stdlib.py,sha256=YRNWe87eQ9aJo-m0IvN_nRIqQLFJxb9kfN3cboN3218,8124
|
|
1140
1146
|
angr/analyses/cfg/cfg.py,sha256=dc9M91CaLeEKduYfMwpsT_01x6XyYuoNvgvcDKtbN-I,3177
|
|
1141
|
-
angr/analyses/cfg/cfb.py,sha256=
|
|
1147
|
+
angr/analyses/cfg/cfb.py,sha256=IpHAvGQPkzY7p_HDSCjVc5cJOXFK-z3scJR9CP4Cr9I,15918
|
|
1142
1148
|
angr/analyses/cfg/cfg_job_base.py,sha256=Zshze972MakTsd-licQz77lac17igQaaTsAteHeHhYQ,5974
|
|
1143
1149
|
angr/analyses/cfg/cfg_fast.py,sha256=uTW7bOn8WR9aP0RZiZQFgEuHunrrHp4FhgU8wX_cpwo,236180
|
|
1144
1150
|
angr/analyses/cfg/__init__.py,sha256=-w8Vd6FD6rtjlQaQ7MxwmliFgS2zt-kZepAY4gHas04,446
|
|
@@ -1209,27 +1215,27 @@ angr/analyses/decompiler/region_identifier.py,sha256=kQJ_KCd3Qx9LWStTM_iUNBG10bD
|
|
|
1209
1215
|
angr/analyses/decompiler/empty_node_remover.py,sha256=4CdxTM1AVmRoEdRIwJg1YEy10AgkEoRmJ8SU7xGbKnM,7424
|
|
1210
1216
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=4-tqstendHHO2J0WD3JHQkm8c4c2KG3AO3mYWrn4xvg,569
|
|
1211
1217
|
angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
|
|
1212
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
1218
|
+
angr/analyses/decompiler/clinic.py,sha256=Yo1OGf5jGDseCOQZt01DqgTi9Ds1QHtEgK4LLB01wWA,152135
|
|
1213
1219
|
angr/analyses/decompiler/decompilation_cache.py,sha256=06oiG299mVpGOTL54Xy1CUxz5s8QLgYJn5XIvKFLYkU,1566
|
|
1214
1220
|
angr/analyses/decompiler/block_simplifier.py,sha256=vjlugXCB3xFYBDBn3LPxOtU1dDc76PpYtVEoju3i9-4,15513
|
|
1215
1221
|
angr/analyses/decompiler/node_replacer.py,sha256=jJd3XkIwFE07bIbLriJ6_mQEvfhm90C8lqlrL5Mz1Xg,1450
|
|
1216
1222
|
angr/analyses/decompiler/decompilation_options.py,sha256=bs6CNpU3UxepgBB_9eUH4jriNpGoryyPP0sR1hDWpTk,8477
|
|
1217
1223
|
angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
|
|
1218
1224
|
angr/analyses/decompiler/graph_region.py,sha256=uSDdCLXfLZJVcb0wMdgBh-KtBJUUhLGHQ-Ap4dNs8wo,18186
|
|
1219
|
-
angr/analyses/decompiler/utils.py,sha256=
|
|
1225
|
+
angr/analyses/decompiler/utils.py,sha256=eM1pOuoEUzT-7wd8waRrUvZk7bgA3MamzbyjLv4ETs8,43451
|
|
1220
1226
|
angr/analyses/decompiler/decompiler.py,sha256=adX2UJv6s4JAF7Qf6HTgwPo28QQ6yCzrrQrtlqDZyfE,31864
|
|
1221
1227
|
angr/analyses/decompiler/goto_manager.py,sha256=wVoeXJcadIda84LloGgqW-rL0QHLv3fx4vZHLhmz-_o,4027
|
|
1222
1228
|
angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
|
|
1223
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
1229
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=RAhozYRT21_c80-8czvAwrCzo7eTInIPmHio764uU4s,95944
|
|
1224
1230
|
angr/analyses/decompiler/jump_target_collector.py,sha256=CucT99luxIVrioM-keMMjyNKWE5QaXEFQOFphtyU8b4,1189
|
|
1225
1231
|
angr/analyses/decompiler/label_collector.py,sha256=fsCkldy8ZKH4FjkREByg-NDmfCd7Pmuz2K1Dks9oVjM,814
|
|
1226
1232
|
angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=f_JyNiSZfoudElfl2kIzONoYCiosR4xYFOe8Q5SkvLg,2176
|
|
1227
1233
|
angr/analyses/decompiler/structured_codegen/__init__.py,sha256=mxG4yruPAab8735wVgXZ1zu8qFPz-njKe0m5UcywE3o,633
|
|
1228
1234
|
angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
|
|
1229
|
-
angr/analyses/decompiler/structured_codegen/c.py,sha256=
|
|
1235
|
+
angr/analyses/decompiler/structured_codegen/c.py,sha256=fgkU26x8sNFZij1h7GTkFGlQYG6oKn5L9tFBVQa8j0c,152371
|
|
1230
1236
|
angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbejxCG30l-yCx4sWFh7JMF_iRM,570
|
|
1231
1237
|
angr/analyses/decompiler/structured_codegen/base.py,sha256=mb5d5iQO1N2wMl7QySvfHemXM-e0yQBhjtlmnLsVSgE,5134
|
|
1232
|
-
angr/analyses/decompiler/ssailification/rewriting.py,sha256=
|
|
1238
|
+
angr/analyses/decompiler/ssailification/rewriting.py,sha256=opMP9ONIx-cQ26PSyXO_NR9MTM_LaH-MObFk8C2uXto,15143
|
|
1233
1239
|
angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=MdmNKWN2LVQ9fH7O-E4yNn5oXUS2p2u1qHM_OayPJ-k,11466
|
|
1234
1240
|
angr/analyses/decompiler/ssailification/traversal.py,sha256=rvFatMUpQQMbENCsPoPogAbBv0AAaCDcKiNvh6GOVeQ,4027
|
|
1235
1241
|
angr/analyses/decompiler/ssailification/__init__.py,sha256=zcHoI7e2El2RSU_bHTpQRd1XRLHOfFScG6f3cm5y_lQ,108
|
|
@@ -1251,7 +1257,7 @@ angr/analyses/decompiler/dephication/graph_dephication.py,sha256=OB3wLoUtfSTyZGI
|
|
|
1251
1257
|
angr/analyses/decompiler/notes/deobfuscated_strings.py,sha256=f9AtSSVIB7kAlPUlkLxqNodco4KWbYivPV3Yh8KjVTo,1877
|
|
1252
1258
|
angr/analyses/decompiler/notes/__init__.py,sha256=4e5yTEQr5tnTQt8BfsMXqRUUpWPaQIFLzsgNVx55VJw,181
|
|
1253
1259
|
angr/analyses/decompiler/notes/decompilation_note.py,sha256=MTFHVMlfmJGrKGuvlHppcIEFR1FWF9xW8_0U0xoFOUo,1352
|
|
1254
|
-
angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=
|
|
1260
|
+
angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=9Kt6TmXFoL0h4ml2GwQRsN9LQApBR-V8Oj02cbsmvXw,9744
|
|
1255
1261
|
angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=QYrSLtD9zvfJnU8VwFa0E7NaDfKkA8vF32s2G08wTho,24926
|
|
1256
1262
|
angr/analyses/decompiler/region_simplifiers/goto.py,sha256=z2fZYNK5DsiHdOBLSEeZ-_CC6_5bBZDVV7N6z-wD_TE,6117
|
|
1257
1263
|
angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=xVY1NUqFudjdcFFO5RAfbdIlHyCRPLYDVPM8Z4J6uic,3832
|
|
@@ -1262,10 +1268,10 @@ angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=BSD9osrReTEdapOMm
|
|
|
1262
1268
|
angr/analyses/decompiler/region_simplifiers/ifelse.py,sha256=rU01g103DJXtHBX72A2gbZJYlpVnmjLxL5Oo0FfjrVs,3808
|
|
1263
1269
|
angr/analyses/decompiler/region_simplifiers/loop.py,sha256=iU2lG-O0HUqxkKtY3ydmKh2pL1TPxEttdUV_oiB3qn8,6331
|
|
1264
1270
|
angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=kPWajH8__ap-7713B-rT3Dun_O1gYW-AoS5gJHRoMlY,2610
|
|
1265
|
-
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=
|
|
1271
|
+
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=OkKG5u5EONaQ5IOO87ZF04Y3Xsha3dzgNJsSJ1C6cHE,32822
|
|
1266
1272
|
angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py,sha256=2Tb4zGnFA5hZH8oI6t1hoRstGDmOBsOoQxf6fU5Ct7A,1105
|
|
1267
1273
|
angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=8gPWhFTcezgO7pZ_v0pxR7pweds4_GrrY82ur6Nrlf8,4796
|
|
1268
|
-
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=
|
|
1274
|
+
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=xfLNvquH6x_-NtEHJpbBJBPTIcBQW6-JpDmcHeuRTxA,7957
|
|
1269
1275
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_nots.py,sha256=V5Vm1zUGjsauyOYXbUgDfZEgmChLbY8wnvmcRbfdMk0,1278
|
|
1270
1276
|
angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=vLXt0ekjRep4SgaNq1wyxVkBTzOMTa03d3rgkjUOcUg,995
|
|
1271
1277
|
angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=fXV_a58W2X30KCanYeSHdZ2yPcfDlyZq_OkYNMkglrg,6420
|
|
@@ -1325,7 +1331,7 @@ angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=iWFZdM54C1q2
|
|
|
1325
1331
|
angr/analyses/decompiler/structuring/__init__.py,sha256=kEFP-zv9CZrhJtLTKwT9-9cGVTls71wLYaLDUuYorBU,711
|
|
1326
1332
|
angr/analyses/decompiler/structuring/dream.py,sha256=QNZ8dKk79Uq0urUEpwmBgX2Ak3ZQLhiydcSKJTx968c,48738
|
|
1327
1333
|
angr/analyses/decompiler/structuring/structurer_nodes.py,sha256=3T6QPeD1KlLkcjMDBblQCb1Cf50VF36C-hlFhiKi9nc,12823
|
|
1328
|
-
angr/analyses/decompiler/structuring/phoenix.py,sha256
|
|
1334
|
+
angr/analyses/decompiler/structuring/phoenix.py,sha256=Ekifz6wkQ0LI0s4Ar7aKBCj65jTzXc8VOaijf3p9eI8,167978
|
|
1329
1335
|
angr/analyses/decompiler/structuring/structurer_base.py,sha256=xzQMYBInNyeRYibbiuk6EYbvPO235El3guT1yh1qAxw,50690
|
|
1330
1336
|
angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=M9ywJ3WuQBurI5hZw9WqcwLCppW9iHGvK9HkqSXUIbY,22115
|
|
1331
1337
|
angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=cr_9dkuQdvlhErrf221V2ugpNDj0ReAwO6FD3ksf9f8,28307
|
|
@@ -1396,11 +1402,5 @@ angr/analyses/flirt/flirt_function.py,sha256=IHskIu5XTTCLKfmow23ig4HIqzs7oGbw7ik
|
|
|
1396
1402
|
angr/analyses/flirt/flirt_matcher.py,sha256=nzhvPTIlVwHrn07qLLSRvgfpyOnlNRsziDCls_xh0Gg,6353
|
|
1397
1403
|
angr/analyses/flirt/flirt_node.py,sha256=ecfJq4Ymp38zzvoZPDfLcLSR045GNOM9je-F_NPM5e0,638
|
|
1398
1404
|
angr/analyses/flirt/flirt_utils.py,sha256=ojZ_01s7O23vU7dN6xZL7Wyx5M3pgm43frxjbZzSmyU,819
|
|
1399
|
-
angr/flirt/__init__.py,sha256=
|
|
1405
|
+
angr/flirt/__init__.py,sha256=HXFNQiXaGhcnJVaTXKhkXVywO_8uLCQHXW4y9FbnXdM,3783
|
|
1400
1406
|
angr/flirt/build_sig.py,sha256=AO48uuWi76eMiw4-RTJn58j6DDyziy7HCuWMNpApcOQ,10020
|
|
1401
|
-
angr-9.2.178.dist-info/RECORD,,
|
|
1402
|
-
angr-9.2.178.dist-info/WHEEL,sha256=kFn0Fg1gyV9Pk02-Hr4CbqbhAvYPyosBpF5pwZB07jU,135
|
|
1403
|
-
angr-9.2.178.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1404
|
-
angr-9.2.178.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1405
|
-
angr-9.2.178.dist-info/METADATA,sha256=eFS8mj0EGjYZtRGsL89HOjuId2Xhn5DVxTroY727LgA,4412
|
|
1406
|
-
angr-9.2.178.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|