angr 9.2.125__py3-none-manylinux2014_x86_64.whl → 9.2.127__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 +4 -0
- angr/analyses/analysis.py +8 -2
- angr/analyses/cfg/cfg_fast.py +12 -1
- angr/analyses/decompiler/ail_simplifier.py +1 -0
- angr/analyses/decompiler/callsite_maker.py +9 -1
- angr/analyses/decompiler/clinic.py +2 -1
- angr/analyses/decompiler/condition_processor.py +109 -73
- angr/analyses/decompiler/decompilation_cache.py +4 -0
- angr/analyses/decompiler/decompiler.py +21 -3
- angr/analyses/decompiler/dephication/graph_vvar_mapping.py +1 -2
- angr/analyses/decompiler/optimization_passes/__init__.py +15 -1
- angr/analyses/decompiler/return_maker.py +1 -0
- angr/analyses/decompiler/ssailification/rewriting.py +4 -0
- angr/analyses/decompiler/ssailification/rewriting_engine.py +10 -3
- angr/analyses/decompiler/ssailification/traversal.py +1 -0
- angr/analyses/decompiler/ssailification/traversal_engine.py +15 -0
- angr/analyses/decompiler/structured_codegen/c.py +18 -5
- angr/analyses/decompiler/structured_codegen/dwarf_import.py +4 -1
- angr/analyses/deobfuscator/__init__.py +18 -0
- angr/analyses/deobfuscator/api_obf_finder.py +313 -0
- angr/analyses/deobfuscator/api_obf_peephole_optimizer.py +51 -0
- angr/analyses/deobfuscator/irsb_reg_collector.py +85 -0
- angr/analyses/deobfuscator/string_obf_finder.py +774 -0
- angr/analyses/deobfuscator/string_obf_opt_passes.py +133 -0
- angr/analyses/deobfuscator/string_obf_peephole_optimizer.py +47 -0
- angr/analyses/reaching_definitions/function_handler_library/stdio.py +8 -1
- angr/analyses/reaching_definitions/function_handler_library/string.py +2 -2
- angr/analyses/s_liveness.py +3 -3
- angr/analyses/s_propagator.py +74 -3
- angr/analyses/unpacker/__init__.py +6 -0
- angr/analyses/unpacker/obfuscation_detector.py +103 -0
- angr/analyses/unpacker/packing_detector.py +138 -0
- angr/angrdb/models.py +2 -1
- angr/angrdb/serializers/kb.py +3 -3
- angr/angrdb/serializers/structured_code.py +5 -3
- angr/calling_conventions.py +4 -2
- angr/engines/vex/claripy/irop.py +10 -5
- angr/knowledge_base.py +1 -1
- angr/knowledge_plugins/__init__.py +2 -2
- angr/knowledge_plugins/obfuscations.py +36 -0
- angr/knowledge_plugins/structured_code.py +1 -1
- angr/utils/ssa/__init__.py +8 -3
- {angr-9.2.125.dist-info → angr-9.2.127.dist-info}/METADATA +6 -6
- {angr-9.2.125.dist-info → angr-9.2.127.dist-info}/RECORD +49 -39
- {angr-9.2.125.dist-info → angr-9.2.127.dist-info}/WHEEL +1 -1
- angr/knowledge_plugins/decompilation.py +0 -45
- {angr-9.2.125.dist-info → angr-9.2.127.dist-info}/LICENSE +0 -0
- {angr-9.2.125.dist-info → angr-9.2.127.dist-info}/entry_points.txt +0 -0
- {angr-9.2.125.dist-info → angr-9.2.127.dist-info}/top_level.txt +0 -0
angr/calling_conventions.py
CHANGED
|
@@ -1061,7 +1061,9 @@ class SimCC:
|
|
|
1061
1061
|
if isinstance(arg, claripy.ast.BV):
|
|
1062
1062
|
if isinstance(ty, (SimTypeReg, SimTypeNum)):
|
|
1063
1063
|
if len(arg) != ty.size:
|
|
1064
|
-
|
|
1064
|
+
if arg.concrete:
|
|
1065
|
+
return claripy.BVV(arg.concrete_value, ty.size)
|
|
1066
|
+
raise TypeError("Type mismatch of symbolic data: expected %s, got %d bits" % (ty, len(arg)))
|
|
1065
1067
|
return arg
|
|
1066
1068
|
if isinstance(ty, (SimTypeFloat)):
|
|
1067
1069
|
raise TypeError(
|
|
@@ -1652,7 +1654,7 @@ class SimCCAMD64WindowsSyscall(SimCCSyscall):
|
|
|
1652
1654
|
class SimCCARM(SimCC):
|
|
1653
1655
|
ARG_REGS = ["r0", "r1", "r2", "r3"]
|
|
1654
1656
|
FP_ARG_REGS = [] # regular arg regs are used as fp arg regs
|
|
1655
|
-
CALLER_SAVED_REGS = []
|
|
1657
|
+
CALLER_SAVED_REGS = ["r0", "r1", "r2", "r3"]
|
|
1656
1658
|
RETURN_ADDR = SimRegArg("lr", 4)
|
|
1657
1659
|
RETURN_VAL = SimRegArg("r0", 4)
|
|
1658
1660
|
OVERFLOW_RETURN_VAL = SimRegArg("r1", 4)
|
angr/engines/vex/claripy/irop.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
This module contains symbolic implementations of VEX operations.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
+
# pylint:disable=no-member
|
|
5
6
|
from __future__ import annotations
|
|
6
7
|
|
|
7
8
|
from functools import partial
|
|
@@ -10,14 +11,17 @@ import itertools
|
|
|
10
11
|
import operator
|
|
11
12
|
import math
|
|
12
13
|
import re
|
|
13
|
-
|
|
14
14
|
import logging
|
|
15
15
|
|
|
16
|
-
l = logging.getLogger(name=__name__)
|
|
17
|
-
|
|
18
16
|
import pyvex
|
|
19
17
|
import claripy
|
|
20
18
|
|
|
19
|
+
from angr.errors import UnsupportedIROpError, SimOperationError, SimValueError, SimZeroDivisionException
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
l = logging.getLogger(name=__name__)
|
|
23
|
+
|
|
24
|
+
|
|
21
25
|
#
|
|
22
26
|
# The more sane approach
|
|
23
27
|
#
|
|
@@ -1044,6 +1048,9 @@ class SimIROp:
|
|
|
1044
1048
|
exp_threshold = (2 ** (exp_bits - 1) - 1) + mantissa_bits
|
|
1045
1049
|
return claripy.If(exp_bv >= exp_threshold, args[1].raw_to_fp(), rounded_fp)
|
|
1046
1050
|
|
|
1051
|
+
def _op_fgeneric_RSqrtEst(self, arg): # pylint:disable=no-self-use
|
|
1052
|
+
return claripy.BVS("RSqrtEst", arg.size())
|
|
1053
|
+
|
|
1047
1054
|
def _generic_pack_saturation(self, args, src_size, dst_size, src_signed, dst_signed):
|
|
1048
1055
|
"""
|
|
1049
1056
|
Generic pack with saturation.
|
|
@@ -1255,6 +1262,4 @@ def vexop_to_simop(op, extended=True, fp=True):
|
|
|
1255
1262
|
return res
|
|
1256
1263
|
|
|
1257
1264
|
|
|
1258
|
-
from angr.errors import UnsupportedIROpError, SimOperationError, SimValueError, SimZeroDivisionException
|
|
1259
|
-
|
|
1260
1265
|
make_operations()
|
angr/knowledge_base.py
CHANGED
|
@@ -35,13 +35,13 @@ class KnowledgeBase:
|
|
|
35
35
|
|
|
36
36
|
functions: FunctionManager
|
|
37
37
|
variables: VariableManager
|
|
38
|
-
structured_code: StructuredCodeManager
|
|
39
38
|
defs: KeyDefinitionManager
|
|
40
39
|
cfgs: CFGManager
|
|
41
40
|
_project: Project
|
|
42
41
|
types: TypesStore
|
|
43
42
|
propagations: PropagationManager
|
|
44
43
|
xrefs: XRefManager
|
|
44
|
+
decompilations: StructuredCodeManager
|
|
45
45
|
|
|
46
46
|
def __init__(self, project, obj=None, name=None):
|
|
47
47
|
if obj is not None:
|
|
@@ -17,7 +17,7 @@ from .structured_code import StructuredCodeManager
|
|
|
17
17
|
from .types import TypesStore
|
|
18
18
|
from .callsite_prototypes import CallsitePrototypes
|
|
19
19
|
from .custom_strings import CustomStrings
|
|
20
|
-
from .
|
|
20
|
+
from .obfuscations import Obfuscations
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
__all__ = (
|
|
@@ -39,5 +39,5 @@ __all__ = (
|
|
|
39
39
|
"TypesStore",
|
|
40
40
|
"CallsitePrototypes",
|
|
41
41
|
"CustomStrings",
|
|
42
|
-
"
|
|
42
|
+
"Obfuscations",
|
|
43
43
|
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from .plugin import KnowledgeBasePlugin
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Obfuscations(KnowledgeBasePlugin):
|
|
7
|
+
"""
|
|
8
|
+
Store discovered information and artifacts about (string) obfuscation techniques in the project.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
def __init__(self, kb):
|
|
12
|
+
super().__init__(kb)
|
|
13
|
+
|
|
14
|
+
self.obfuscated_strings_analyzed: bool = False
|
|
15
|
+
self.type1_deobfuscated_strings = {}
|
|
16
|
+
self.type1_string_loader_candidates = set()
|
|
17
|
+
self.type2_deobfuscated_strings = {}
|
|
18
|
+
self.type2_string_loader_candidates = set()
|
|
19
|
+
self.type3_deobfuscated_strings = {} # from the address of the call instruction to the actual string (in bytes)
|
|
20
|
+
|
|
21
|
+
self.obfuscated_apis_analyzed: bool = False
|
|
22
|
+
self.type1_deobfuscated_apis: dict[int, tuple[str, str]] = {}
|
|
23
|
+
|
|
24
|
+
def copy(self):
|
|
25
|
+
o = Obfuscations(self._kb)
|
|
26
|
+
o.type1_deobfuscated_strings = dict(self.type1_deobfuscated_strings)
|
|
27
|
+
o.type1_string_loader_candidates = self.type1_string_loader_candidates.copy()
|
|
28
|
+
o.type2_deobfuscated_strings = dict(self.type2_deobfuscated_strings)
|
|
29
|
+
o.type2_string_loader_candidates = self.type2_string_loader_candidates.copy()
|
|
30
|
+
o.type3_deobfuscated_strings = self.type3_deobfuscated_strings.copy()
|
|
31
|
+
|
|
32
|
+
o.type1_deobfuscated_apis = self.type1_deobfuscated_apis.copy()
|
|
33
|
+
return o
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
KnowledgeBasePlugin.register_default("obfuscations", Obfuscations)
|
angr/utils/ssa/__init__.py
CHANGED
|
@@ -178,10 +178,14 @@ def is_const_vvar_load_dirty_assignment(stmt: Statement) -> bool:
|
|
|
178
178
|
return False
|
|
179
179
|
|
|
180
180
|
|
|
181
|
-
def is_phi_assignment(stmt: Statement) ->
|
|
181
|
+
def is_phi_assignment(stmt: Statement) -> bool:
|
|
182
|
+
return isinstance(stmt, Assignment) and isinstance(stmt.src, Phi)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def phi_assignment_get_src(stmt: Statement) -> Phi | None:
|
|
182
186
|
if isinstance(stmt, Assignment) and isinstance(stmt.src, Phi):
|
|
183
|
-
return
|
|
184
|
-
return
|
|
187
|
+
return stmt.src
|
|
188
|
+
return None
|
|
185
189
|
|
|
186
190
|
|
|
187
191
|
__all__ = (
|
|
@@ -190,6 +194,7 @@ __all__ = (
|
|
|
190
194
|
"get_vvar_uselocs",
|
|
191
195
|
"is_const_assignment",
|
|
192
196
|
"is_phi_assignment",
|
|
197
|
+
"phi_assignment_get_src",
|
|
193
198
|
"is_const_and_vvar_assignment",
|
|
194
199
|
"is_const_vvar_load_assignment",
|
|
195
200
|
"is_const_vvar_load_dirty_assignment",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.127
|
|
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.127
|
|
20
|
+
Requires-Dist: archinfo==9.2.127
|
|
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.127
|
|
25
|
+
Requires-Dist: cle==9.2.127
|
|
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.127
|
|
35
35
|
Requires-Dist: rich>=13.1.0
|
|
36
36
|
Requires-Dist: sortedcontainers
|
|
37
37
|
Requires-Dist: sympy
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
angr/__init__.py,sha256=
|
|
1
|
+
angr/__init__.py,sha256=RVxXUHB8F4gQKi1KltS9-39I-4HywT29QiDLx2F1bMY,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=
|
|
7
|
+
angr/calling_conventions.py,sha256=oBgMwDZBVqKYcLa9w96Brn32s06Ffuru3fd2V7gFI_0,92972
|
|
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
|
|
11
11
|
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
|
-
angr/knowledge_base.py,sha256=
|
|
14
|
+
angr/knowledge_base.py,sha256=cvMTebMzLwTdvYCALxGDK1mj3PRf-CJWfI0GFOUDNxo,4537
|
|
15
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
|
|
@@ -26,8 +26,8 @@ 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=
|
|
30
|
-
angr/analyses/analysis.py,sha256=
|
|
29
|
+
angr/analyses/__init__.py,sha256=wchoQKOTR2QWB-5Gk-cNI4Zi5510LPZcBjcDp9PiIOw,3434
|
|
30
|
+
angr/analyses/analysis.py,sha256=upfeqlRt9mePT1io8FvV_rREdGrjZOROoERmqjqHv30,14872
|
|
31
31
|
angr/analyses/backward_slice.py,sha256=pLMeo7Y2niifNmtfIzMbQDlRy_w5GbKi1sYa0XVhPBA,27228
|
|
32
32
|
angr/analyses/binary_optimizer.py,sha256=JqKfOXx5FiWsYdQ6JMWYivfB2AiNl2Pw8Utk8kPEVrk,26186
|
|
33
33
|
angr/analyses/bindiff.py,sha256=ZAnBeB4-0sGRZ494MTjM6NrNXL33YWcXw2bHZRBqY8M,51431
|
|
@@ -54,8 +54,8 @@ angr/analyses/patchfinder.py,sha256=i0TJmBwNlFKJYpG04YpU6yFBdZlNAuzj3VwM28jfnW0,
|
|
|
54
54
|
angr/analyses/pathfinder.py,sha256=_prNqmRUSuSt2ZCP8qbvNN7pw7mtM8pWr9IL0AO6XL8,11496
|
|
55
55
|
angr/analyses/proximity_graph.py,sha256=-g7pNpbP2HQhKW3w1Eff23K8vAsgWWYoe3wVxRh3Lhk,16066
|
|
56
56
|
angr/analyses/reassembler.py,sha256=y41XIGWqCVvwFlE3uACEMFLR-vByKkOazC405UPCOpM,98524
|
|
57
|
-
angr/analyses/s_liveness.py,sha256=
|
|
58
|
-
angr/analyses/s_propagator.py,sha256=
|
|
57
|
+
angr/analyses/s_liveness.py,sha256=TQ_Er-6nQXZZU-tp_LNUXPbZeVCyR_QtVofpPLo8DU4,5239
|
|
58
|
+
angr/analyses/s_propagator.py,sha256=7iyYX_MW6ljpd5BPjALIYcFmcjHzOW_BcmZLaO4YPQQ,14634
|
|
59
59
|
angr/analyses/smc.py,sha256=0fvLPUpjlg6GCjYnfSqanXkGYlthmPwqMYR-ZYBHsbo,5075
|
|
60
60
|
angr/analyses/soot_class_hierarchy.py,sha256=AtvXMAlz6CVvfbtkPY4ghouH_1mNnPg9s9jFhZwWvEw,8741
|
|
61
61
|
angr/analyses/stack_pointer_tracker.py,sha256=5NZf4muUFIJX-F605n5LMw8ihA648-FA4Bm5mAcsHBE,31379
|
|
@@ -71,7 +71,7 @@ angr/analyses/cfg/cfg.py,sha256=ZHZFWtP4uD1YxgKy44O_oD_BiSo871Llcd1zpXmFkBE,3177
|
|
|
71
71
|
angr/analyses/cfg/cfg_arch_options.py,sha256=QpC_sonf0eODcIxWtjVrW6E-gFRGvvdataqGEp9DFFI,3142
|
|
72
72
|
angr/analyses/cfg/cfg_base.py,sha256=CIVnGRf8zDUK-lu4Ovm0joPn9pRNjijilSUX585MteA,122866
|
|
73
73
|
angr/analyses/cfg/cfg_emulated.py,sha256=BK80J79mEyg2RlDo-ikuQkW2VePuquY3kkSCA2YwDw4,152255
|
|
74
|
-
angr/analyses/cfg/cfg_fast.py,sha256=
|
|
74
|
+
angr/analyses/cfg/cfg_fast.py,sha256=QE28ijb8Kk5FIRhOocjve0Qw_ouzgDtMgchYzF0cr9A,222452
|
|
75
75
|
angr/analyses/cfg/cfg_fast_soot.py,sha256=3ImLNg04hssYTQYm2ZcKXoc5E30LxFrPDA0MQblpn6k,25913
|
|
76
76
|
angr/analyses/cfg/cfg_job_base.py,sha256=Zshze972MakTsd-licQz77lac17igQaaTsAteHeHhYQ,5974
|
|
77
77
|
angr/analyses/cfg/indirect_jump_resolvers/__init__.py,sha256=EXzMcZH1DBZ-jBLJcYThR0fmWAlJmqhesZNBh_2SlCk,691
|
|
@@ -96,17 +96,17 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=QN_m2yDyOWnRHg1l4n6dKD
|
|
|
96
96
|
angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
|
|
97
97
|
angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
|
|
98
98
|
angr/analyses/decompiler/__init__.py,sha256=JAHy5toHIzNxlRnht8geYexKueYhhCGHs7GM4E11AN4,1162
|
|
99
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
99
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=dFoUJPeJF6cx03cdNG6NMGFvNfZJrCXAsDY1ncppiCI,71855
|
|
100
100
|
angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
|
|
101
101
|
angr/analyses/decompiler/block_io_finder.py,sha256=xMwG8Bi69OGNYVs0U0F4yxM8kEsnyrsMrf0gEr8dOEw,10923
|
|
102
102
|
angr/analyses/decompiler/block_similarity.py,sha256=ISMoOm-TGJ_1wD2i_4m8IYTletgnP66gReQESJnfvS0,6873
|
|
103
103
|
angr/analyses/decompiler/block_simplifier.py,sha256=_WYyfFW8bJ_-RkrudJIlDdHh9fc6_aHkuwzW9gylY-k,13922
|
|
104
|
-
angr/analyses/decompiler/callsite_maker.py,sha256=
|
|
105
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
106
|
-
angr/analyses/decompiler/condition_processor.py,sha256=
|
|
107
|
-
angr/analyses/decompiler/decompilation_cache.py,sha256=
|
|
104
|
+
angr/analyses/decompiler/callsite_maker.py,sha256=Gs_FmlmIs5jM-XccL9OMCaj_-L83NlYzkzxsy2HmcfQ,18749
|
|
105
|
+
angr/analyses/decompiler/clinic.py,sha256=pSM3UVv-HMolsBeNZwLLKxpYof_fVH5m9G95gD4-OfE,106033
|
|
106
|
+
angr/analyses/decompiler/condition_processor.py,sha256=MbpbSk6zXHmMLWjLAHxpYjcLCVL1TuL08KmTBTNpm_4,52839
|
|
107
|
+
angr/analyses/decompiler/decompilation_cache.py,sha256=ELz1DDVYvrs6IeUX4_L0OZDZICUifSBdJkdJXWrFZAY,1375
|
|
108
108
|
angr/analyses/decompiler/decompilation_options.py,sha256=QWUGnfQ0FUekGs_I6X-ZKvAvL39VX2hFRcZrlXd72fY,7957
|
|
109
|
-
angr/analyses/decompiler/decompiler.py,sha256=
|
|
109
|
+
angr/analyses/decompiler/decompiler.py,sha256=h6f8fsy3BzFm_-WuGdtXCb_u9xTL494lUEXI5j-PreU,27928
|
|
110
110
|
angr/analyses/decompiler/empty_node_remover.py,sha256=_RAGjqDyRmannEGPcMmWkL7em990-_sKgl5CYreb-yI,7403
|
|
111
111
|
angr/analyses/decompiler/expression_narrower.py,sha256=TvkqtgNI9aDsquqyNFH5kXLW04rP_J940GFhrGopxP4,10343
|
|
112
112
|
angr/analyses/decompiler/goto_manager.py,sha256=GUWt3Y_NCpmreIt4plxX5Y3UO2V8IVGZuRtF2GqI-cw,4006
|
|
@@ -116,7 +116,7 @@ angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=f_JyNiSZfo
|
|
|
116
116
|
angr/analyses/decompiler/redundant_label_remover.py,sha256=J9hpP3C_P08v84FjVU0q5Rmj5M1N9q3HKWSWsA2u7Yg,5879
|
|
117
117
|
angr/analyses/decompiler/region_identifier.py,sha256=FUynH4k09y5NiTdor8PLiPFviDcdWpzwz0xa9fRocJs,47293
|
|
118
118
|
angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
|
|
119
|
-
angr/analyses/decompiler/return_maker.py,sha256=
|
|
119
|
+
angr/analyses/decompiler/return_maker.py,sha256=pKn9_y5VXqTeJnD5uzLLd9sH_Dp_9wkPcWPiJPTV-7A,2550
|
|
120
120
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=bB-1m8oBO59AlAp6izAROks3BBxFW8zigLlrIMt6Yfs,564
|
|
121
121
|
angr/analyses/decompiler/sequence_walker.py,sha256=ODDPnChZ3Li0JyIXDR41JW9zvCsfPF5JvGYDL52wAYI,9375
|
|
122
122
|
angr/analyses/decompiler/utils.py,sha256=ldej1mpMKsWYgENa5qG4VTeoCrID-9JudTaaFLTQEco,30456
|
|
@@ -132,10 +132,10 @@ angr/analyses/decompiler/dephication/__init__.py,sha256=0Ufg3SSL7VkKBn-sfMZg2XRA
|
|
|
132
132
|
angr/analyses/decompiler/dephication/dephication_base.py,sha256=UToP1wF9814qxzJpQcqGljYlOkYA7mwvLveGn41089o,3132
|
|
133
133
|
angr/analyses/decompiler/dephication/graph_dephication.py,sha256=xjm_OrWgcuDIoDCEAhbW4xGzCHwOPw9ya8IroZH3qf4,2169
|
|
134
134
|
angr/analyses/decompiler/dephication/graph_rewriting.py,sha256=R0rlwYL0Cnt1UPjdEJZG4kEvruKPr8I1hfhTMTZnBxA,3405
|
|
135
|
-
angr/analyses/decompiler/dephication/graph_vvar_mapping.py,sha256=
|
|
135
|
+
angr/analyses/decompiler/dephication/graph_vvar_mapping.py,sha256=nsMwppwMXrGC8_RF-neehpaz-7kmEORVhpAbjOdVFWM,13703
|
|
136
136
|
angr/analyses/decompiler/dephication/rewriting_engine.py,sha256=3KUIxwUmfTZj2Jm1mB98J5vMkHqy4LLPYTrLzZfLbBA,10442
|
|
137
137
|
angr/analyses/decompiler/dephication/seqnode_dephication.py,sha256=q29kS8lOs_-mxgJMtQvoZdw6l3q2lUDeXcTcGienIrY,4343
|
|
138
|
-
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=
|
|
138
|
+
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=pCYamez51inHric94E2tD_Hy9gHl8sGHJbfG2dcpGBQ,4833
|
|
139
139
|
angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=uUzQWVkeKL2C9Lq8NZ7UkkZBAXydxOd0F1jxr0Zi__Q,5514
|
|
140
140
|
angr/analyses/decompiler/optimization_passes/call_stmt_rewriter.py,sha256=G1CEWo62dAMrm-3V4DfEDxT6kwXxuks10bcTtW9C_tA,1320
|
|
141
141
|
angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=7o6lf-qahXv5H8jLqEASVXHaz-_PGo3r6l7qH5PbDtU,15343
|
|
@@ -236,18 +236,18 @@ angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=ByEbrHPA
|
|
|
236
236
|
angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=lsTKhU6aljpXPSz-K9qDhgySuB2FsGrF9j7buWqiYr0,24980
|
|
237
237
|
angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=CngQ_LSACeEVIjuU6kIW2Y0ZSMJWFBwpL95Yh_7w3O4,3335
|
|
238
238
|
angr/analyses/decompiler/ssailification/__init__.py,sha256=zcHoI7e2El2RSU_bHTpQRd1XRLHOfFScG6f3cm5y_lQ,108
|
|
239
|
-
angr/analyses/decompiler/ssailification/rewriting.py,sha256
|
|
240
|
-
angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=
|
|
239
|
+
angr/analyses/decompiler/ssailification/rewriting.py,sha256=-3jNGbtTH8-Yznoy0BguKlwoLTh9kqihT1tG0XfXX7E,12328
|
|
240
|
+
angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=IUQOrEJDxvCZ0iKpPfj-0lod8ejnTke629JMw1dGG_Q,27204
|
|
241
241
|
angr/analyses/decompiler/ssailification/rewriting_state.py,sha256=L7apDXQLPiItuLdQFoQdut5RMUE8MRV1zRc3CsnuH6E,1883
|
|
242
242
|
angr/analyses/decompiler/ssailification/ssailification.py,sha256=bTMTwS4auYQCnY9cNwqbgdYksFym0Iro5e7qRIDmlME,8711
|
|
243
|
-
angr/analyses/decompiler/ssailification/traversal.py,sha256=
|
|
244
|
-
angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=
|
|
243
|
+
angr/analyses/decompiler/ssailification/traversal.py,sha256=75QzMIAC5RY_RcxMmqUTNeoEgGJwuTnR2KXIc8hnaMI,2981
|
|
244
|
+
angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=qVkx9fevkqxXy6PO1Yu2esPholvoaUOzqB1zmLKW9Os,5877
|
|
245
245
|
angr/analyses/decompiler/ssailification/traversal_state.py,sha256=_AsCnLiI2HFdM6WrPyAudhc0X4aU_PziznbOgmzpDzQ,1313
|
|
246
246
|
angr/analyses/decompiler/structured_codegen/__init__.py,sha256=unzkTPhZbpjf5J3GWg1iAFkW17aHFHzuByZCMKE4onQ,633
|
|
247
247
|
angr/analyses/decompiler/structured_codegen/base.py,sha256=9Zfp2d8Oqp6TAgLJyu7v214YDBtdy3Qx8rs801wIsv0,3796
|
|
248
|
-
angr/analyses/decompiler/structured_codegen/c.py,sha256=
|
|
248
|
+
angr/analyses/decompiler/structured_codegen/c.py,sha256=zkS0NwthFXiILkdlRuniPXRKyeKlI6QMHPjaERG8ysQ,138987
|
|
249
249
|
angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbejxCG30l-yCx4sWFh7JMF_iRM,570
|
|
250
|
-
angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=
|
|
250
|
+
angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
|
|
251
251
|
angr/analyses/decompiler/structuring/__init__.py,sha256=u2SGBezMdqQF_2ixo8wr66vCMedAMY-cSjQyq2m-nR8,711
|
|
252
252
|
angr/analyses/decompiler/structuring/dream.py,sha256=mPNNsNvNb-LoDcoU_HjUejRytIFY_ZyCAbK4tNq_5lM,48254
|
|
253
253
|
angr/analyses/decompiler/structuring/phoenix.py,sha256=uJ6V7DMoc7DOH2b_NfnuRPvyKvB31eUIUOmuWmC7Sz4,120632
|
|
@@ -255,6 +255,13 @@ angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=HRUpZiD8xlpJ
|
|
|
255
255
|
angr/analyses/decompiler/structuring/sailr.py,sha256=6lM9cK3iU1kQ_eki7v1Z2VxTiX5OwQzIRF_BbEsw67Q,5721
|
|
256
256
|
angr/analyses/decompiler/structuring/structurer_base.py,sha256=ql8HoTn9SG6snNmgEx1xQVeIHAlvdkASQpDwNR04YKw,41547
|
|
257
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
|
|
258
265
|
angr/analyses/forward_analysis/__init__.py,sha256=59wRf7JtGPRPQLye7gjeEjuIJ2t7lzeUwGiVKgkM6lQ,319
|
|
259
266
|
angr/analyses/forward_analysis/forward_analysis.py,sha256=xqix831kl0U2p4mXZYpCQKVP52bRtoLaaHhXks1OHF0,20013
|
|
260
267
|
angr/analyses/forward_analysis/job_info.py,sha256=5iYthtygg22taqFTR9oFhmB2FX6z2rCuoXfBULHhFsU,1592
|
|
@@ -317,9 +324,9 @@ angr/analyses/reaching_definitions/rd_state.py,sha256=sVlbPfscDErg9Mag7XPa1HPX20
|
|
|
317
324
|
angr/analyses/reaching_definitions/reaching_definitions.py,sha256=1GVrmkz4PfQlg9pkyl8bBM4XB6nT2eFVKaZq77GeYc4,24043
|
|
318
325
|
angr/analyses/reaching_definitions/subject.py,sha256=LxfEi_uko0KJixwFMWMy79l7QW4ZMEzZ6ftIzsrC8pw,2005
|
|
319
326
|
angr/analyses/reaching_definitions/function_handler_library/__init__.py,sha256=7q_JCZ0RkwaWEhOeaAd2hns9O9afso3r3BHYsdollk0,458
|
|
320
|
-
angr/analyses/reaching_definitions/function_handler_library/stdio.py,sha256=
|
|
327
|
+
angr/analyses/reaching_definitions/function_handler_library/stdio.py,sha256=To3dKtjqRbtqcJhybbhuQF_uxBXg4JX-A0601SsftRQ,11370
|
|
321
328
|
angr/analyses/reaching_definitions/function_handler_library/stdlib.py,sha256=5PWr7HGaIxcZwkHqZCumXnGPgur5Gf1mE9a1a9izv2U,6426
|
|
322
|
-
angr/analyses/reaching_definitions/function_handler_library/string.py,sha256=
|
|
329
|
+
angr/analyses/reaching_definitions/function_handler_library/string.py,sha256=14gNFX-oH8zVmfnyILklXbHAkxmsWcNT0YkYDSdHMo8,5047
|
|
323
330
|
angr/analyses/reaching_definitions/function_handler_library/unistd.py,sha256=J_wALo_qxPk-KjhiWMoWDhH4O36wKmqKkWyf2zlAqug,1238
|
|
324
331
|
angr/analyses/s_reaching_definitions/__init__.py,sha256=TyfVplxkJj8FAAAw9wegzJlcrbGwlFpIB23PdCcwrLA,254
|
|
325
332
|
angr/analyses/s_reaching_definitions/s_rda_model.py,sha256=XBrKqy6Ky9aHqTiWiaJPMQTM4aZT9aF9OKOtiylybUM,5009
|
|
@@ -334,6 +341,9 @@ angr/analyses/typehoon/typeconsts.py,sha256=LLXbaYIdU03GgA8xYsW4eguV6qlIoHhSesqW
|
|
|
334
341
|
angr/analyses/typehoon/typehoon.py,sha256=YzrzK6iTMCO08l2pk2ov3WAtRZuHB6AYxlFpdtDI5HY,9333
|
|
335
342
|
angr/analyses/typehoon/typevars.py,sha256=F7CBFVplF_xy1gsUkUXnxEhBVeceXb-VvnYwntJ6ivU,16198
|
|
336
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
|
|
337
347
|
angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDYKKMJklcOoCO7Ao,208
|
|
338
348
|
angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
|
|
339
349
|
angr/analyses/variable_recovery/engine_ail.py,sha256=oOlvhYyU9FkAcWcpRE9G_simBdDMrsCEyZRasr9TzlI,28546
|
|
@@ -345,15 +355,15 @@ angr/analyses/variable_recovery/variable_recovery_base.py,sha256=_WX6Qa6HIFUJkZn
|
|
|
345
355
|
angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=7MG8qzgnCJlYyqhZLSQfjpq0022T4825PrWWrCKspnQ,25516
|
|
346
356
|
angr/angrdb/__init__.py,sha256=Jin6JjtVadtqsgm_a6gQGx3Hn7BblkbJvdcl_GwZshg,307
|
|
347
357
|
angr/angrdb/db.py,sha256=ecwcJ9b_LcM9a74GXJUm7JVWTghk3JhXScLhaQ4ZP7o,6260
|
|
348
|
-
angr/angrdb/models.py,sha256=
|
|
358
|
+
angr/angrdb/models.py,sha256=5Akv-fIjk3E2YHymEWu_nrbE8aQ9l75zOAaSIDEzeTQ,4794
|
|
349
359
|
angr/angrdb/serializers/__init__.py,sha256=Gu2B79cp2wwXx4l_S5ITc4QcqyK5YnoG-zEG253JUZY,184
|
|
350
360
|
angr/angrdb/serializers/cfg_model.py,sha256=Uxy1VDKAy_50dMXUykpEsl_zp3ko5ETuKNPRAd3Xsek,1314
|
|
351
361
|
angr/angrdb/serializers/comments.py,sha256=oHlwu9weMpFJrVBo19Ud1OB-XtpUPrdH9MWZy7QnQ40,1578
|
|
352
362
|
angr/angrdb/serializers/funcs.py,sha256=twDiZ5rx88kat8llBwsukKtg2lgklQpmHJ7X9lLI-DY,1727
|
|
353
|
-
angr/angrdb/serializers/kb.py,sha256=
|
|
363
|
+
angr/angrdb/serializers/kb.py,sha256=vDC9Qh27L4NTRd1nplRwRXDUWXyZT2eOTz-8pEBu2js,3889
|
|
354
364
|
angr/angrdb/serializers/labels.py,sha256=wShkd0cnxUc5ZfeRAAZYChTUgstQRElhrEI7_T9tPcg,1472
|
|
355
365
|
angr/angrdb/serializers/loader.py,sha256=xgvlp8t0H4tKgU680SpIW3r5DcrbU-qHtU_L_S_5B7E,5248
|
|
356
|
-
angr/angrdb/serializers/structured_code.py,sha256=
|
|
366
|
+
angr/angrdb/serializers/structured_code.py,sha256=AYaSZneT5py8IxZSoDk-itN-xwjhrH7-M_MhRk5t27A,4309
|
|
357
367
|
angr/angrdb/serializers/variables.py,sha256=LyrBqhn4B4u6y8_WBiE_JF0vwD2j6sAjIOlWPw8VqxA,2392
|
|
358
368
|
angr/angrdb/serializers/xrefs.py,sha256=C28PKZVmTJMFjycPttBckvCrrMsRDAzIcU52LCwWjq0,1205
|
|
359
369
|
angr/concretization_strategies/__init__.py,sha256=g24sC27w9mTCz-gWJOVO_1OPYS7EJgt4AnXh2JsJEuA,4319
|
|
@@ -443,7 +453,7 @@ angr/engines/vex/lifter.py,sha256=ZW37S1McKXzOkhP8JRfMwYT7iMxv3wOLhbQOdTW6cp8,16
|
|
|
443
453
|
angr/engines/vex/claripy/__init__.py,sha256=4B8H1VOHrrKJMjAXZkZ0r_02issFP_bxDJJMw50yVe4,109
|
|
444
454
|
angr/engines/vex/claripy/ccall.py,sha256=82w7I1OIIFmnarngCOn39iBwmYv3Xp46Xcz1ATqjn80,81765
|
|
445
455
|
angr/engines/vex/claripy/datalayer.py,sha256=62OwjpOPxpXBmxkRLde5RYLfI_oCIfdj23GVYP25VUQ,4973
|
|
446
|
-
angr/engines/vex/claripy/irop.py,sha256=
|
|
456
|
+
angr/engines/vex/claripy/irop.py,sha256=meEiCdsUhAiAydBl8D6Zp9SrTrIOiGVVUlgu3NNRj7w,45753
|
|
447
457
|
angr/engines/vex/heavy/__init__.py,sha256=VLvDao7Drp2stJnRfznKM04IFYi7rjfdRWVJ09nl7Ow,376
|
|
448
458
|
angr/engines/vex/heavy/actions.py,sha256=n8LDymfj6qHAd6evzoyZmHkSN8MlVjZHfgREATC-bek,8663
|
|
449
459
|
angr/engines/vex/heavy/concretizers.py,sha256=2xQYLXmugpJWIUjUrMnall2ewX05kTdOYLWjediaf6Q,14433
|
|
@@ -484,18 +494,18 @@ angr/exploration_techniques/unique.py,sha256=uA-BynLkUw9V1QJGdVGHDMmH020I5LWH8xd
|
|
|
484
494
|
angr/exploration_techniques/veritesting.py,sha256=XmMuNcvV3lxbAyjtuFdgB8pfGiAtvfGxRPbr1MZrDBc,1388
|
|
485
495
|
angr/flirt/__init__.py,sha256=O6Qo4OKaEkpq1kxluphTNauGjBH2WS5AuX91xlToyzA,4403
|
|
486
496
|
angr/flirt/build_sig.py,sha256=3vQl6gZWWcF2HRgTQzFP6G3st8q2vpPHzRa3GfwkBnY,10036
|
|
487
|
-
angr/knowledge_plugins/__init__.py,sha256=
|
|
497
|
+
angr/knowledge_plugins/__init__.py,sha256=pnbU_L6GoP1rzX-VIXh-RArNV94nVCD_ubHxIcWu7Ho,1160
|
|
488
498
|
angr/knowledge_plugins/callsite_prototypes.py,sha256=ZVqTebckIj2VonQSGLFYW6TUgft1J5sOpSwE0K1Nyuk,1587
|
|
489
499
|
angr/knowledge_plugins/comments.py,sha256=s4wUAtbUa75MC0Dc5h44V08kyVtO8VO39zcy_qkU6cg,339
|
|
490
500
|
angr/knowledge_plugins/custom_strings.py,sha256=5qYAvmcm9BkTA247hZngDaHHrO9iIipYKJgGH9vxLLA,1037
|
|
491
501
|
angr/knowledge_plugins/data.py,sha256=u2Is51L6Opp4eeWkpO_ss8WfXgceK5AUa_BlnPcZXmk,874
|
|
492
502
|
angr/knowledge_plugins/debug_variables.py,sha256=pxiY6l0OPX3y2ZEcCGu-vJCGfw60tiPvkjdDFE9Z4uM,8075
|
|
493
|
-
angr/knowledge_plugins/decompilation.py,sha256=izceZ5UEhnF7q5EO0D1Hd7_LLKk1QHXfdv4g4kIbFS4,1346
|
|
494
503
|
angr/knowledge_plugins/indirect_jumps.py,sha256=VlIDWeU3xZyTAp1qSYyZxtusz2idxa1vrlLQmGWlkHA,1034
|
|
495
504
|
angr/knowledge_plugins/labels.py,sha256=H9_as9RFSKmth-Dxwq-iibXo007ayvS7nFGnYtnN8jE,3146
|
|
505
|
+
angr/knowledge_plugins/obfuscations.py,sha256=CM7wGiSdZamD3t9v9kdymDWkSMtcFYsKupL7jVs-jjo,1407
|
|
496
506
|
angr/knowledge_plugins/patches.py,sha256=tPjKI2GloTaWcA96u0yp75956HUkqOfsvusitEeWmGE,4335
|
|
497
507
|
angr/knowledge_plugins/plugin.py,sha256=8tPrsgo1hsZG3ifXs4mWsKkeyB03ubfZdY5YArWw9-Q,766
|
|
498
|
-
angr/knowledge_plugins/structured_code.py,sha256=
|
|
508
|
+
angr/knowledge_plugins/structured_code.py,sha256=9IKRF1Pb7E0eBz0uMK36Pk8HL0fmI7JqVaeihu7uiRQ,2167
|
|
499
509
|
angr/knowledge_plugins/types.py,sha256=EjskCalakpsUi4CKvjrP530VsWFBGkM4xmPbGN2ymRQ,2076
|
|
500
510
|
angr/knowledge_plugins/cfg/__init__.py,sha256=Y6sJ3L81gG8oDqewYYuIY27-cxXN3nvcgUg4FRdXqCY,418
|
|
501
511
|
angr/knowledge_plugins/cfg/cfg_manager.py,sha256=FteAHC7Kk3t46xzabJOn_mu6XoIuj6V6hK2IxhLmV64,2656
|
|
@@ -1338,12 +1348,12 @@ angr/utils/orderedset.py,sha256=K5PKeDqy4xUeq47k7SdZ7E3K9M1AMXJ9-veTOo5DQIE,1978
|
|
|
1338
1348
|
angr/utils/segment_list.py,sha256=ayUMIeaFp61AhTuxsf_go4XoXRqGi8cxTeP0OyuhEk4,20369
|
|
1339
1349
|
angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoTRVRA,4417
|
|
1340
1350
|
angr/utils/timing.py,sha256=ELuRPzdRSHzOATgtAzTFByMlVr021ypMrsvtpopreLg,1481
|
|
1341
|
-
angr/utils/ssa/__init__.py,sha256=
|
|
1351
|
+
angr/utils/ssa/__init__.py,sha256=Sz9zQVnvtmCbJJYeTG_k2JxcZtgxvIxap-KqzvRnIFQ,8015
|
|
1342
1352
|
angr/utils/ssa/tmp_uses_collector.py,sha256=rSpvMxBHzg-tmvhsfjn3iLyPEKzaZN-xpQrdslMq3J4,793
|
|
1343
1353
|
angr/utils/ssa/vvar_uses_collector.py,sha256=8gfAWdRMz73Deh-ZshDM3GPAot9Lf-rHzCiaCil0hlE,1342
|
|
1344
|
-
angr-9.2.
|
|
1345
|
-
angr-9.2.
|
|
1346
|
-
angr-9.2.
|
|
1347
|
-
angr-9.2.
|
|
1348
|
-
angr-9.2.
|
|
1349
|
-
angr-9.2.
|
|
1354
|
+
angr-9.2.127.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
|
|
1355
|
+
angr-9.2.127.dist-info/METADATA,sha256=ShqPxcNeKaZBhxu__-FOBkH4XxlaufXprp4jtO5F_yg,4762
|
|
1356
|
+
angr-9.2.127.dist-info/WHEEL,sha256=GJfQ78p3ltJ-D-4Cd-lGu-EZQUnHSYMxw_NmwTjG9G8,108
|
|
1357
|
+
angr-9.2.127.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1358
|
+
angr-9.2.127.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1359
|
+
angr-9.2.127.dist-info/RECORD,,
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# pylint:disable=import-outside-toplevel
|
|
2
|
-
from __future__ import annotations
|
|
3
|
-
|
|
4
|
-
from typing import Any, TYPE_CHECKING
|
|
5
|
-
|
|
6
|
-
from .plugin import KnowledgeBasePlugin
|
|
7
|
-
|
|
8
|
-
if TYPE_CHECKING:
|
|
9
|
-
from angr.analyses.decompiler.decompilation_cache import DecompilationCache
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class DecompilationManager(KnowledgeBasePlugin):
|
|
13
|
-
"""A knowledge base plugin to store decompilation results."""
|
|
14
|
-
|
|
15
|
-
def __init__(self, kb):
|
|
16
|
-
super().__init__(kb=kb)
|
|
17
|
-
self.cached: dict[Any, DecompilationCache] = {}
|
|
18
|
-
|
|
19
|
-
def _normalize_key(self, item: int | str):
|
|
20
|
-
if type(item) is str:
|
|
21
|
-
item = (self._kb.labels.lookup(item[0]), *item[1:])
|
|
22
|
-
return item
|
|
23
|
-
|
|
24
|
-
def __getitem__(self, item) -> DecompilationCache:
|
|
25
|
-
return self.cached[self._normalize_key(item)]
|
|
26
|
-
|
|
27
|
-
def __setitem__(self, key, value: DecompilationCache):
|
|
28
|
-
self.cached[self._normalize_key(key)] = value
|
|
29
|
-
|
|
30
|
-
def __contains__(self, key):
|
|
31
|
-
return self._normalize_key(key) in self.cached
|
|
32
|
-
|
|
33
|
-
def __delitem__(self, key):
|
|
34
|
-
del self.cached[self._normalize_key(key)]
|
|
35
|
-
|
|
36
|
-
def discard(self, key):
|
|
37
|
-
normalized_key = self._normalize_key(key)
|
|
38
|
-
if normalized_key in self.cached:
|
|
39
|
-
del self.cached[normalized_key]
|
|
40
|
-
|
|
41
|
-
def copy(self):
|
|
42
|
-
raise NotImplementedError
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
KnowledgeBasePlugin.register_default("decompilations", DecompilationManager)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|