angr 9.2.176__cp310-abi3-macosx_11_0_arm64.whl → 9.2.178__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/analyses/cfg/cfg_fast.py +15 -0
- angr/analyses/decompiler/ail_simplifier.py +69 -1
- angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py +45 -7
- angr/analyses/decompiler/clinic.py +15 -7
- angr/analyses/decompiler/dirty_rewriters/__init__.py +7 -0
- angr/analyses/decompiler/dirty_rewriters/amd64_dirty.py +69 -0
- angr/analyses/decompiler/dirty_rewriters/rewriter_base.py +27 -0
- angr/analyses/decompiler/optimization_passes/__init__.py +3 -0
- angr/analyses/decompiler/optimization_passes/optimization_pass.py +10 -8
- angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +44 -6
- angr/analyses/decompiler/optimization_passes/register_save_area_simplifier_adv.py +198 -0
- angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py +111 -55
- angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py +69 -12
- angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py +189 -6
- angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py +72 -1
- angr/analyses/decompiler/presets/basic.py +2 -0
- angr/analyses/decompiler/presets/fast.py +2 -0
- angr/analyses/decompiler/presets/full.py +2 -0
- angr/analyses/decompiler/utils.py +10 -3
- angr/analyses/flirt/flirt.py +5 -4
- angr/analyses/s_propagator.py +23 -21
- angr/analyses/smc.py +2 -3
- angr/analyses/variable_recovery/engine_ail.py +39 -0
- angr/emulator.py +2 -1
- angr/engines/hook.py +1 -1
- angr/engines/icicle.py +19 -3
- angr/knowledge_plugins/functions/function.py +2 -2
- angr/knowledge_plugins/labels.py +4 -4
- angr/procedures/definitions/__init__.py +9 -0
- angr/procedures/definitions/parse_win32json.py +11 -0
- angr/procedures/definitions/wdk/ntoskrnl.json +4 -0
- angr/rustylib.abi3.so +0 -0
- angr/unicornlib.dylib +0 -0
- angr/utils/funcid.py +85 -0
- angr/utils/ssa/__init__.py +2 -6
- {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/METADATA +6 -5
- {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/RECORD +42 -38
- {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/WHEEL +0 -0
- {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/entry_points.txt +0 -0
- {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/licenses/LICENSE +0 -0
- {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/top_level.txt +0 -0
angr/engines/icicle.py
CHANGED
|
@@ -8,7 +8,7 @@ from dataclasses import dataclass
|
|
|
8
8
|
from typing_extensions import override
|
|
9
9
|
|
|
10
10
|
import pypcode
|
|
11
|
-
from archinfo import Arch, Endness, ArchARMCortexM
|
|
11
|
+
from archinfo import Arch, ArchPcode, Endness, ArchARMCortexM
|
|
12
12
|
|
|
13
13
|
from angr.engines.concrete import ConcreteEngine, HeavyConcreteState
|
|
14
14
|
from angr.engines.failure import SimEngineFailure
|
|
@@ -72,6 +72,8 @@ class IcicleEngine(ConcreteEngine):
|
|
|
72
72
|
accurate, just a set of heuristics to get the right architecture. When
|
|
73
73
|
adding a new architecture, this function may need to be updated.
|
|
74
74
|
"""
|
|
75
|
+
if isinstance(arch, ArchARMCortexM) or (isinstance(arch, ArchPcode) and arch.pcode_arch == "ARM:LE:32:Cortex"):
|
|
76
|
+
return "armv7m"
|
|
75
77
|
if arch.linux_name == "arm":
|
|
76
78
|
return "armv7a" if arch.memory_endness == Endness.LE else "armeb"
|
|
77
79
|
return arch.linux_name
|
|
@@ -83,12 +85,21 @@ class IcicleEngine(ConcreteEngine):
|
|
|
83
85
|
"""
|
|
84
86
|
return icicle_arch.startswith(("arm", "thumb"))
|
|
85
87
|
|
|
88
|
+
@staticmethod
|
|
89
|
+
def __is_cortex_m(angr_arch: Arch, icicle_arch: str) -> bool:
|
|
90
|
+
"""
|
|
91
|
+
Check if the architecture is cortex-m based on the address.
|
|
92
|
+
"""
|
|
93
|
+
return isinstance(angr_arch, ArchARMCortexM) or icicle_arch == "armv7m"
|
|
94
|
+
|
|
86
95
|
@staticmethod
|
|
87
96
|
def __is_thumb(angr_arch: Arch, icicle_arch: str, addr: int) -> bool:
|
|
88
97
|
"""
|
|
89
98
|
Check if the architecture is thumb based on the address.
|
|
90
99
|
"""
|
|
91
|
-
return
|
|
100
|
+
return IcicleEngine.__is_cortex_m(angr_arch, icicle_arch) or (
|
|
101
|
+
IcicleEngine.__is_arm(icicle_arch) and addr & 1 == 1
|
|
102
|
+
)
|
|
92
103
|
|
|
93
104
|
@staticmethod
|
|
94
105
|
def __get_pages(state: HeavyConcreteState) -> set[int]:
|
|
@@ -132,7 +143,10 @@ class IcicleEngine(ConcreteEngine):
|
|
|
132
143
|
for register in state.arch.register_list:
|
|
133
144
|
register = register.vex_name.lower() if register.vex_name is not None else register.name
|
|
134
145
|
try:
|
|
135
|
-
emu.reg_write(
|
|
146
|
+
emu.reg_write(
|
|
147
|
+
register,
|
|
148
|
+
state.solver.eval(state.registers.load(register), cast_to=int),
|
|
149
|
+
)
|
|
136
150
|
copied_registers.add(register)
|
|
137
151
|
except KeyError:
|
|
138
152
|
log.debug("Register %s not found in icicle", register)
|
|
@@ -242,11 +256,13 @@ class IcicleEngine(ConcreteEngine):
|
|
|
242
256
|
@override
|
|
243
257
|
def add_breakpoint(self, addr: int) -> None:
|
|
244
258
|
"""Add a breakpoint at the given address."""
|
|
259
|
+
addr = addr & ~1 # Clear thumb bit if set
|
|
245
260
|
self.breakpoints.add(addr)
|
|
246
261
|
|
|
247
262
|
@override
|
|
248
263
|
def remove_breakpoint(self, addr: int) -> None:
|
|
249
264
|
"""Remove a breakpoint at the given address, if present."""
|
|
265
|
+
addr = addr & ~1 # Clear thumb bit if set
|
|
250
266
|
self.breakpoints.discard(addr)
|
|
251
267
|
|
|
252
268
|
@override
|
|
@@ -759,8 +759,7 @@ class Function(Serializable):
|
|
|
759
759
|
if hooker:
|
|
760
760
|
if hasattr(hooker, "DYNAMIC_RET") and hooker.DYNAMIC_RET:
|
|
761
761
|
return True
|
|
762
|
-
|
|
763
|
-
return not hooker.NO_RET
|
|
762
|
+
return hooker.returns
|
|
764
763
|
|
|
765
764
|
# Cannot determine
|
|
766
765
|
return None
|
|
@@ -1579,6 +1578,7 @@ class Function(Serializable):
|
|
|
1579
1578
|
return False
|
|
1580
1579
|
self.prototype = proto.with_arch(self.project.arch)
|
|
1581
1580
|
self.prototype_libname = library.name
|
|
1581
|
+
self.returning = library.is_returning(name)
|
|
1582
1582
|
|
|
1583
1583
|
# update self.calling_convention if necessary
|
|
1584
1584
|
if self.calling_convention is None:
|
angr/knowledge_plugins/labels.py
CHANGED
|
@@ -68,19 +68,19 @@ class Labels(KnowledgeBasePlugin):
|
|
|
68
68
|
def items(self):
|
|
69
69
|
return self._labels.items()
|
|
70
70
|
|
|
71
|
-
def get(self, addr):
|
|
71
|
+
def get(self, addr, default=None):
|
|
72
72
|
"""
|
|
73
73
|
Get a label as string for a given address
|
|
74
74
|
Same as .labels[x]
|
|
75
75
|
"""
|
|
76
|
-
return self
|
|
76
|
+
return self._labels.get(addr, default)
|
|
77
77
|
|
|
78
|
-
def lookup(self, name):
|
|
78
|
+
def lookup(self, name, default=None):
|
|
79
79
|
"""
|
|
80
80
|
Returns an address to a given label
|
|
81
81
|
To show all available labels, iterate over .labels or list(b.kb.labels)
|
|
82
82
|
"""
|
|
83
|
-
return self._reverse_labels
|
|
83
|
+
return self._reverse_labels.get(name, default)
|
|
84
84
|
|
|
85
85
|
def copy(self):
|
|
86
86
|
o = Labels(self._kb)
|
|
@@ -427,6 +427,15 @@ class SimLibrary:
|
|
|
427
427
|
|
|
428
428
|
return func_name in self.prototypes or func_name in self.prototypes_json
|
|
429
429
|
|
|
430
|
+
def is_returning(self, name: str) -> bool:
|
|
431
|
+
"""
|
|
432
|
+
Check if a function is known to return.
|
|
433
|
+
|
|
434
|
+
:param name: The name of the function.
|
|
435
|
+
:return: A bool indicating if the function is known to return or not.
|
|
436
|
+
"""
|
|
437
|
+
return name not in self.non_returning
|
|
438
|
+
|
|
430
439
|
|
|
431
440
|
class SimCppLibrary(SimLibrary):
|
|
432
441
|
"""
|
|
@@ -2443,22 +2443,33 @@ def do_it(in_dir):
|
|
|
2443
2443
|
|
|
2444
2444
|
parsed_cprotos[(prefix, lib, suffix)].append((func, proto, ""))
|
|
2445
2445
|
|
|
2446
|
+
non_returning_functions = {
|
|
2447
|
+
"KeBugCheck",
|
|
2448
|
+
"KeBugCheckEx",
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2446
2451
|
# dump to JSON files
|
|
2447
2452
|
for (prefix, libname, suffix), parsed_cprotos_per_lib in parsed_cprotos.items():
|
|
2448
2453
|
filename = libname.replace(".", "_") + ".json"
|
|
2449
2454
|
os.makedirs(prefix, exist_ok=True)
|
|
2450
2455
|
logging.debug("Writing to file %s...", filename)
|
|
2456
|
+
non_returning = []
|
|
2451
2457
|
d = {
|
|
2452
2458
|
"_t": "lib",
|
|
2453
2459
|
"type_collection_names": ["win32"],
|
|
2454
2460
|
"library_names": [libname if not suffix else f"{libname}.{suffix}"],
|
|
2455
2461
|
"default_cc": {"X86": "SimCCStdcall", "AMD64": "SimCCMicrosoftAMD64"},
|
|
2462
|
+
"non_returning": non_returning,
|
|
2456
2463
|
"functions": OrderedDict(),
|
|
2457
2464
|
}
|
|
2458
2465
|
for func, cproto, doc in sorted(parsed_cprotos_per_lib, key=lambda x: x[0]):
|
|
2459
2466
|
d["functions"][func] = {"proto": json.dumps(cproto.to_json()).replace('"', "'")}
|
|
2460
2467
|
if doc:
|
|
2461
2468
|
d["functions"][func]["doc"] = doc
|
|
2469
|
+
if func in non_returning_functions:
|
|
2470
|
+
non_returning.append(func)
|
|
2471
|
+
if not non_returning:
|
|
2472
|
+
del d["non_returning"]
|
|
2462
2473
|
with open(os.path.join(prefix, filename), "w") as f:
|
|
2463
2474
|
f.write(json.dumps(d, indent="\t"))
|
|
2464
2475
|
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
"X86": "SimCCStdcall",
|
|
11
11
|
"AMD64": "SimCCMicrosoftAMD64"
|
|
12
12
|
},
|
|
13
|
+
"non_returning": [
|
|
14
|
+
"KeBugCheck",
|
|
15
|
+
"KeBugCheckEx"
|
|
16
|
+
],
|
|
13
17
|
"functions": {
|
|
14
18
|
"CcAsyncCopyRead": {
|
|
15
19
|
"proto": "{'_t': 'func', 'args': [{'_t': 'ptr', 'pts_to': {'_t': '_ref', 'name': 'FILE_OBJECT', 'ot': '_ref'}}, {'_t': 'ptr', 'pts_to': {'_t': 'llong', 'label': 'Int64'}}, {'_t': 'int', 'signed': false, 'label': 'UInt32'}, {'_t': '_ref', 'name': 'BOOLEAN', 'ot': 'char'}, {'_t': 'ptr', 'pts_to': {'_t': 'bot', 'label': 'Void'}}, {'_t': 'ptr', 'pts_to': {'_t': '_ref', 'name': 'IO_STATUS_BLOCK', 'ot': '_ref'}}, {'_t': '_ref', 'name': 'PETHREAD', 'ot': 'ptr'}, {'_t': 'ptr', 'pts_to': {'_t': '_ref', 'name': 'CC_ASYNC_READ_CONTEXT', 'ot': '_ref'}}], 'returnty': {'_t': '_ref', 'name': 'BOOLEAN', 'ot': 'char'}, 'arg_names': ['FileObject', 'FileOffset', 'Length', 'Wait', 'Buffer', 'IoStatus', 'IoIssuerThread', 'AsyncReadContext']}"
|
angr/rustylib.abi3.so
CHANGED
|
Binary file
|
angr/unicornlib.dylib
CHANGED
|
Binary file
|
angr/utils/funcid.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# pylint:disable=too-many-boolean-expressions
|
|
2
2
|
from __future__ import annotations
|
|
3
|
+
from typing import Any
|
|
3
4
|
|
|
4
5
|
import capstone
|
|
5
6
|
|
|
@@ -47,6 +48,90 @@ def is_function_security_check_cookie(func, project, security_cookie_addr: int)
|
|
|
47
48
|
return False
|
|
48
49
|
|
|
49
50
|
|
|
51
|
+
def is_function_security_check_cookie_strict(func: Function, project) -> tuple[bool, int | None]:
|
|
52
|
+
# security_cookie_addr is unavailable; we examine all bytes in this function
|
|
53
|
+
if func.is_plt or func.is_syscall or func.is_simprocedure:
|
|
54
|
+
return False, None
|
|
55
|
+
if len(func.block_addrs_set) not in {5, 6}:
|
|
56
|
+
return False, None
|
|
57
|
+
block_bytes: list[tuple[int, Any, bytes]] = [
|
|
58
|
+
(b.addr, b, b.bytes)
|
|
59
|
+
for b in sorted(func.blocks, key=lambda b: b.addr)
|
|
60
|
+
if isinstance(b.addr, int) and b.bytes is not None
|
|
61
|
+
]
|
|
62
|
+
if block_bytes[0][0] != func.addr:
|
|
63
|
+
# the first block is probably the BugCheck function - skip it
|
|
64
|
+
block_bytes = block_bytes[1:]
|
|
65
|
+
elif len(block_bytes) == 6:
|
|
66
|
+
# skip the last block, which is probably the BugCheck function
|
|
67
|
+
block_bytes = block_bytes[:-1]
|
|
68
|
+
if len(block_bytes) != 5:
|
|
69
|
+
return False, None
|
|
70
|
+
|
|
71
|
+
# check the first block
|
|
72
|
+
# cmp rcx, [xxx]
|
|
73
|
+
# jnz xxx
|
|
74
|
+
first_block = block_bytes[0][1]
|
|
75
|
+
if len(first_block.capstone.insns) != 2:
|
|
76
|
+
return False, None
|
|
77
|
+
ins0 = first_block.capstone.insns[0]
|
|
78
|
+
security_cookie_addr = None
|
|
79
|
+
if (
|
|
80
|
+
project.arch.name == "AMD64"
|
|
81
|
+
and ins0.mnemonic == "cmp"
|
|
82
|
+
and len(ins0.operands) == 2
|
|
83
|
+
and ins0.operands[0].type == capstone.x86.X86_OP_REG
|
|
84
|
+
and ins0.operands[0].reg == capstone.x86.X86_REG_RCX
|
|
85
|
+
and ins0.operands[1].type == capstone.x86.X86_OP_MEM
|
|
86
|
+
and ins0.operands[1].mem.base == capstone.x86.X86_REG_RIP
|
|
87
|
+
and ins0.operands[1].mem.index == 0
|
|
88
|
+
):
|
|
89
|
+
ins1 = first_block.capstone.insns[1]
|
|
90
|
+
if ins1.mnemonic == "jne":
|
|
91
|
+
security_cookie_addr = ins0.operands[1].mem.disp + ins0.address + ins0.size
|
|
92
|
+
if (
|
|
93
|
+
project.arch.name == "X86"
|
|
94
|
+
and ins0.mnemonic == "cmp"
|
|
95
|
+
and len(ins0.operands) == 2
|
|
96
|
+
and ins0.operands[0].type == capstone.x86.X86_OP_REG
|
|
97
|
+
and ins0.operands[0].reg == capstone.x86.X86_REG_ECX
|
|
98
|
+
and ins0.operands[1].type == capstone.x86.X86_OP_MEM
|
|
99
|
+
and ins0.operands[1].mem.base == 0
|
|
100
|
+
and ins0.operands[1].mem.index == 0
|
|
101
|
+
):
|
|
102
|
+
ins1 = first_block.capstone.insns[1]
|
|
103
|
+
if ins1.mnemonic == "jne":
|
|
104
|
+
security_cookie_addr = ins0.operands[1].mem.disp
|
|
105
|
+
|
|
106
|
+
if security_cookie_addr is None:
|
|
107
|
+
return False, None
|
|
108
|
+
|
|
109
|
+
# the last block should be a jump
|
|
110
|
+
last_block = block_bytes[-1][1]
|
|
111
|
+
if len(last_block.capstone.insns) != 1:
|
|
112
|
+
return False, None
|
|
113
|
+
last_insn = last_block.capstone.insns[-1]
|
|
114
|
+
if last_insn.mnemonic != "jmp":
|
|
115
|
+
return False, None
|
|
116
|
+
|
|
117
|
+
# check the bytes of the remaining three blocks
|
|
118
|
+
if project.arch.name == "AMD64":
|
|
119
|
+
expected_bytes = [b"\x48\xc1\xc1\x10\x66\xf7\xc1\xff\xff\x75\x01", b"\xc3", b"\x48\xc1\xc9\x10"]
|
|
120
|
+
else:
|
|
121
|
+
# TODO: x86 bytes
|
|
122
|
+
expected_bytes = []
|
|
123
|
+
|
|
124
|
+
existing_bytes = []
|
|
125
|
+
for i, b in enumerate(block_bytes[1:-1]):
|
|
126
|
+
block = b[2]
|
|
127
|
+
max_block_size = block_bytes[1 + i + 1][0] - b[0]
|
|
128
|
+
existing_bytes.append(block[:max_block_size])
|
|
129
|
+
# normalize the block bytes if needed
|
|
130
|
+
if existing_bytes == expected_bytes:
|
|
131
|
+
return True, security_cookie_addr
|
|
132
|
+
return False, None
|
|
133
|
+
|
|
134
|
+
|
|
50
135
|
def is_function_security_init_cookie(func: Function, project, security_cookie_addr: int | None) -> bool:
|
|
51
136
|
if func.is_plt or func.is_syscall or func.is_simprocedure:
|
|
52
137
|
return False
|
angr/utils/ssa/__init__.py
CHANGED
|
@@ -288,9 +288,7 @@ class AILReferenceFinder(AILBlockWalkerBase):
|
|
|
288
288
|
self.vvar_id = vvar_id
|
|
289
289
|
self.has_references_to_vvar = False
|
|
290
290
|
|
|
291
|
-
def _handle_UnaryOp(
|
|
292
|
-
self, expr_idx: int, expr: UnaryOp, stmt_idx: int, stmt: Statement | None, block: Block | None
|
|
293
|
-
) -> Any:
|
|
291
|
+
def _handle_UnaryOp(self, expr_idx: int, expr: UnaryOp, stmt_idx: int, stmt: Statement, block: Block | None) -> Any:
|
|
294
292
|
if expr.op == "Reference" and isinstance(expr.operand, VirtualVariable) and expr.operand.varid == self.vvar_id:
|
|
295
293
|
self.has_references_to_vvar = True
|
|
296
294
|
return None
|
|
@@ -386,9 +384,7 @@ def has_load_expr_in_between_stmts(
|
|
|
386
384
|
def is_vvar_propagatable(vvar: VirtualVariable, def_stmt: Statement | None) -> bool:
|
|
387
385
|
if vvar.was_tmp or vvar.was_reg or vvar.was_parameter:
|
|
388
386
|
return True
|
|
389
|
-
if vvar.was_stack and isinstance(def_stmt, Assignment):
|
|
390
|
-
if isinstance(def_stmt.src, Const):
|
|
391
|
-
return True
|
|
387
|
+
if vvar.was_stack and isinstance(def_stmt, Assignment): # noqa:SIM102
|
|
392
388
|
if (
|
|
393
389
|
isinstance(def_stmt.src, VirtualVariable)
|
|
394
390
|
and def_stmt.src.was_stack
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.178
|
|
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.178
|
|
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.178
|
|
24
|
+
Requires-Dist: cle==9.2.178
|
|
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.178
|
|
35
35
|
Requires-Dist: rich>=13.1.0
|
|
36
36
|
Requires-Dist: sortedcontainers
|
|
37
37
|
Requires-Dist: sympy
|
|
@@ -46,6 +46,7 @@ Provides-Extra: telemetry
|
|
|
46
46
|
Requires-Dist: opentelemetry-api; extra == "telemetry"
|
|
47
47
|
Provides-Extra: unicorn
|
|
48
48
|
Requires-Dist: unicorn==2.0.1.post1; extra == "unicorn"
|
|
49
|
+
Requires-Dist: setuptools; extra == "unicorn"
|
|
49
50
|
Dynamic: license-file
|
|
50
51
|
|
|
51
52
|
# angr
|
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
angr-9.2.176.dist-info/RECORD,,
|
|
2
|
-
angr-9.2.176.dist-info/WHEEL,sha256=kFn0Fg1gyV9Pk02-Hr4CbqbhAvYPyosBpF5pwZB07jU,135
|
|
3
|
-
angr-9.2.176.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
4
|
-
angr-9.2.176.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
5
|
-
angr-9.2.176.dist-info/METADATA,sha256=lrk4bMUevPqReFweFtx6o_EAXq9sgiK_Sryiv0K4Ozw,4366
|
|
6
|
-
angr-9.2.176.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
|
|
7
1
|
angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
|
|
8
|
-
angr/unicornlib.dylib,sha256=
|
|
2
|
+
angr/unicornlib.dylib,sha256=I63V6zKOQHoPRNohN06z4IyiigGt4OD1YMhFiTHW7w0,234064
|
|
9
3
|
angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
|
|
10
4
|
angr/callable.py,sha256=j9Orwd4H4fPqOYylcEt5GuLGPV7ZOqyA_OYO2bp5PAA,6437
|
|
11
5
|
angr/sim_type.py,sha256=8AJjzu_hp4GvgXogz8KnLiPXSnxBGUy-D3G8w4wEicQ,144714
|
|
12
6
|
angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
|
|
13
|
-
angr/emulator.py,sha256=
|
|
14
|
-
angr/rustylib.abi3.so,sha256=
|
|
7
|
+
angr/emulator.py,sha256=aZXi8-jQ_9uelN2zvlecR2ZYXPey4PHyju6yVJIWDAk,4708
|
|
8
|
+
angr/rustylib.abi3.so,sha256=LoK2BUZxT4aUd3fBgo884clsFeP-Rg9JWGJjdfMwrFE,4772320
|
|
15
9
|
angr/codenode.py,sha256=hCrQRp4Ebb2X6JicNmY1PXo3_Pm8GDxVivVW0Pwe84k,3918
|
|
16
10
|
angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
11
|
angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
|
|
18
12
|
angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
|
|
19
13
|
angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
|
|
20
|
-
angr/__init__.py,sha256=
|
|
14
|
+
angr/__init__.py,sha256=vN_wwQPUaez8llCxHPyGbA0xDZPdNi9jbjCSU0hqngI,9246
|
|
21
15
|
angr/blade.py,sha256=OGGW-oggqI9_LvgZhiQuh9Ktkvf3vhRBmH0XviNyZ6o,15801
|
|
22
16
|
angr/factory.py,sha256=PPNWvTiWaIgzxzyoTr8ObSF-TXp1hCdbY2e-0xBePNc,17815
|
|
23
17
|
angr/sim_state_options.py,sha256=dsMY3UefvL7yZKXloubMhzUET3N2Crw-Fpw2Vd1ouZQ,12468
|
|
@@ -310,8 +304,8 @@ angr/procedures/definitions/cgc.py,sha256=Jrb74dNzy05h_nmsC3GjN5Yr5_jWIjpZ24ZsVk
|
|
|
310
304
|
angr/procedures/definitions/gnulib.py,sha256=GK4eVXFxwgwhJ9cr47PiTUS4fKYrqPfMtIvwM464Oyo,1107
|
|
311
305
|
angr/procedures/definitions/linux_kernel.py,sha256=xPpfHkfaA_5jS6mPX1YDCPLHEAirAmeGW6mLDBKIlC8,239128
|
|
312
306
|
angr/procedures/definitions/parse_glibc.py,sha256=-vmm4hKO2GnBVXmk6Nq4fxGHuLxesRbF52UIrPk4a6Q,2092
|
|
313
|
-
angr/procedures/definitions/parse_win32json.py,sha256=
|
|
314
|
-
angr/procedures/definitions/__init__.py,sha256=
|
|
307
|
+
angr/procedures/definitions/parse_win32json.py,sha256=LzvSZC5u6Jkbe-tx9L7swZmJ0DOm26BjTmJWZGiMhBw,109413
|
|
308
|
+
angr/procedures/definitions/__init__.py,sha256=wYoWkHRSh6wjWE-9wPgNJbTfyeHaqkN2zDWOtHJMdF8,43644
|
|
315
309
|
angr/procedures/definitions/msvcr.py,sha256=CQgWXrKcEjx9xfPf2BZOOPaQJ5AUqwdNtN_5FdYtRzg,651
|
|
316
310
|
angr/procedures/definitions/parse_syscalls_from_local_system.py,sha256=ssyMjeyuPVYHnbmArwDPO0XXMW1n5Odv__n17cdLVcY,1823
|
|
317
311
|
angr/procedures/definitions/linux_loader.py,sha256=uEeMktLesh0NzHmRfgP76IuSzL4YMssR_SSjBRSqA9c,267
|
|
@@ -328,7 +322,7 @@ angr/procedures/definitions/wdk/hal.json,sha256=RxvRTa5sumqXXPJai2YrdssJD5fbWeTQ
|
|
|
328
322
|
angr/procedures/definitions/wdk/api-ms-win-dx-d3dkmt-l1-1-6.json,sha256=W4md-By6xMbKPnSvDQG4Sqh5C6HSrl_61NHY9GWGbQM,460
|
|
329
323
|
angr/procedures/definitions/wdk/gdi32.json,sha256=YByprF-byACUskCT17vLClW6P0b3BfA53HRgCYxPGTk,44925
|
|
330
324
|
angr/procedures/definitions/wdk/fwpuclnt.json,sha256=EYx_oyvbqFnSvI6LeiPy1BbAEnc-WMyn_7aOr3qxP_M,69854
|
|
331
|
-
angr/procedures/definitions/wdk/ntoskrnl.json,sha256=
|
|
325
|
+
angr/procedures/definitions/wdk/ntoskrnl.json,sha256=Y7NWnwB-Yg4_ecbz9yZwmwH2UofZcNB1D8T-3keJpEg,680550
|
|
332
326
|
angr/procedures/definitions/wdk/fwpkclnt.json,sha256=W_0xXafBO0bheqpLGXOO0tVORvx2KXMwrhPaoBUJTko,1225
|
|
333
327
|
angr/procedures/definitions/wdk/ksecdd.json,sha256=xYYdocSCK8LBeQYFlhZ7ZKiTK-ju26KDWRIQiw7rBKQ,13262
|
|
334
328
|
angr/procedures/definitions/wdk/secur32.json,sha256=M9aMvWxz7zzLtZU4X7Ue5tNJOuNtHvHWHz81e7DvTNs,3432
|
|
@@ -771,7 +765,7 @@ angr/utils/timing.py,sha256=n-YZ86g0ZWmLhsoNvcimRpKzewR5hmquLZe6fagxlBw,2224
|
|
|
771
765
|
angr/utils/mp.py,sha256=y6Q0nDOykRZvcQ805DZpcJHQTGN-gqFi0eERGNhb3C0,1903
|
|
772
766
|
angr/utils/loader.py,sha256=5PtUlonkbqENNg3AMJ4YI3-g5dyyXJ0GP83SwO2dECY,1951
|
|
773
767
|
angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoTRVRA,4417
|
|
774
|
-
angr/utils/funcid.py,sha256=
|
|
768
|
+
angr/utils/funcid.py,sha256=PA115tjmdUpfrGQvva4Ad3Q5SoToRiGjJzNRhX2Ca6Y,9567
|
|
775
769
|
angr/utils/algo.py,sha256=4TaEFE4tU-59KyRVFASqXeoiwH01ZMj5fZd_JVcpdOY,1038
|
|
776
770
|
angr/utils/enums_conv.py,sha256=fA6qeoRZ6Cj6gCIS_PZbP4PX7E8IybnYQ90OZGnBVrc,2746
|
|
777
771
|
angr/utils/endness.py,sha256=PDpDNbiIbaSx1DGH1z16nU2B5GMrTqONGivGeVNiGyU,506
|
|
@@ -779,7 +773,7 @@ angr/utils/strings.py,sha256=iv3Mg_KCyyPx9dkIw-O0ZidWyGl8mqPDkyNJwZYQr_U,688
|
|
|
779
773
|
angr/utils/vex.py,sha256=epcrCexi_NjKnPGM2gfpiRsUea_Scd-71UMuF32ZAQo,306
|
|
780
774
|
angr/utils/ssa/tmp_uses_collector.py,sha256=digAUQpYoFR1VYfwoXlF3T1pYdDi6Pdq_ck54SjMabQ,813
|
|
781
775
|
angr/utils/ssa/vvar_uses_collector.py,sha256=HewqUQluNE9EsaiLeFo7LaBvws_DDBDYNt9RBExy464,1367
|
|
782
|
-
angr/utils/ssa/__init__.py,sha256=
|
|
776
|
+
angr/utils/ssa/__init__.py,sha256=rKlgdaTSouwofsLNMa8MKfWb_tqntfp_B5nm-FOeh2Y,17390
|
|
783
777
|
angr/exploration_techniques/spiller.py,sha256=B5qy8B3l_0JSo8YDH9cJUX97anf9YdDeJMVAsN1xZi8,9415
|
|
784
778
|
angr/exploration_techniques/memory_watcher.py,sha256=9grrkwq4ha5u8gtJIqTFhVG9Yur18r7Tec7bv_HpNlw,1312
|
|
785
779
|
angr/exploration_techniques/lengthlimiter.py,sha256=To8SlXhtdDVSqAlCSIvhvqyY8BUs37ZU7ABymhJDz14,590
|
|
@@ -870,7 +864,7 @@ angr/storage/memory_mixins/paged_memory/pages/multi_values.py,sha256=aeKBWosclmN
|
|
|
870
864
|
angr/storage/memory_mixins/paged_memory/pages/list_page.py,sha256=dAZIA0Z7tM5ZDQPtmkQ7OsUHq6bTqWPl_NcIj0RO7X0,14421
|
|
871
865
|
angr/storage/memory_mixins/paged_memory/pages/base.py,sha256=NiIZdOH1nrkP1AO6QKd1x-Ax_l1vRkDmFgR4mHpIH0c,1421
|
|
872
866
|
angr/knowledge_plugins/custom_strings.py,sha256=5qYAvmcm9BkTA247hZngDaHHrO9iIipYKJgGH9vxLLA,1037
|
|
873
|
-
angr/knowledge_plugins/labels.py,sha256=
|
|
867
|
+
angr/knowledge_plugins/labels.py,sha256=HvDQjL3jayVmKNdOHTteNSIgd4aOrAp1qGaBIDqzdPQ,3218
|
|
874
868
|
angr/knowledge_plugins/structured_code.py,sha256=9IKRF1Pb7E0eBz0uMK36Pk8HL0fmI7JqVaeihu7uiRQ,2167
|
|
875
869
|
angr/knowledge_plugins/debug_variables.py,sha256=pxiY6l0OPX3y2ZEcCGu-vJCGfw60tiPvkjdDFE9Z4uM,8075
|
|
876
870
|
angr/knowledge_plugins/__init__.py,sha256=T8ovRNYYhqk_QkKN2OU5JXzeYZob8iq3v0ZlnX8_Hho,1160
|
|
@@ -914,15 +908,15 @@ angr/knowledge_plugins/functions/soot_function.py,sha256=OzCvQPWxnjbwPWTW0JXrQey
|
|
|
914
908
|
angr/knowledge_plugins/functions/function_parser.py,sha256=DTdVwYt6nXLMc0EOh-V_GhvZYQ947UNBaA77qn7Y6Vo,12379
|
|
915
909
|
angr/knowledge_plugins/functions/function_manager.py,sha256=StsK3biTFRRA2ugrmeQLuHiN894p789Tlw1CIKlE0PY,23462
|
|
916
910
|
angr/knowledge_plugins/functions/__init__.py,sha256=asiLNiT6sHbjP6eU-kDpawIoVxv4J35cwz5yQHtQ2E0,167
|
|
917
|
-
angr/knowledge_plugins/functions/function.py,sha256=
|
|
911
|
+
angr/knowledge_plugins/functions/function.py,sha256=orSBM5R073Tf-PDWw8NcvKl_iUgCnnk1SyFFMPZP6VE,72303
|
|
918
912
|
angr/knowledge_plugins/xrefs/xref.py,sha256=U2H1rfffp5EXoh0awlGxMBxA4K5MIwl3CXjV3Uih3tA,4856
|
|
919
913
|
angr/knowledge_plugins/xrefs/xref_manager.py,sha256=1n373rtV91xicAfSUresRigsZ6qCBhPOaJKrN_SW3QY,4157
|
|
920
914
|
angr/knowledge_plugins/xrefs/__init__.py,sha256=5PhqVOtTZ27lCjJ9wp7akUeJydqILbyCBZK0gP7BGQs,193
|
|
921
915
|
angr/knowledge_plugins/xrefs/xref_types.py,sha256=LcQ9pD4E4XlC51Us49xiqAoGAFGpnCrpYO4mOzILiKI,308
|
|
922
916
|
angr/engines/unicorn.py,sha256=fq2akQ4dVFAWqek0Yr4JTaTJWwp5vICiSQ7Sg4wuDJE,24533
|
|
923
917
|
angr/engines/concrete.py,sha256=kEt6Dyp8QAIaOP3oW5lRcDs_2UMP2vbiNzylGiqvf7g,2143
|
|
924
|
-
angr/engines/icicle.py,sha256=
|
|
925
|
-
angr/engines/hook.py,sha256=
|
|
918
|
+
angr/engines/icicle.py,sha256=JSbHnTJePV1l6dmF5WPhlzYjm6ZApQfjCUrgJ4jewOg,11033
|
|
919
|
+
angr/engines/hook.py,sha256=YMCUWs-cC3fQCN9xlYAy7vaMPKWDNJkl9KtCMYUyMP0,2569
|
|
926
920
|
angr/engines/__init__.py,sha256=_3oRkiTrPO7QPiCg3qXymt4o9ZAOrAHt5pdfjkp3W9k,1661
|
|
927
921
|
angr/engines/procedure.py,sha256=8kgFH56nkqSWm0p1apuGBaFngl-4BnAzE0bXhq9mc6Y,2561
|
|
928
922
|
angr/engines/engine.py,sha256=2kwOT-sbxKXAVX2PmsPTr8Ax36Vxq6hkRdDKaITBQNc,657
|
|
@@ -1060,13 +1054,13 @@ angr/analyses/soot_class_hierarchy.py,sha256=R4xeacn-a_Q7PxSyj_stu5mnglZkPB5US5s
|
|
|
1060
1054
|
angr/analyses/__init__.py,sha256=KFu0Otm7bqAcjX8dsnQzphJmkUVxMLssjFIJJOci32U,3479
|
|
1061
1055
|
angr/analyses/ddg.py,sha256=AWPPsL2bfTAua5meuQfPFL6b29PLpCLZzw-LGCv5iVo,63214
|
|
1062
1056
|
angr/analyses/dominance_frontier.py,sha256=kRoOCr3EaIUW1YnvtjmKFJW65zYsJHNe-HtVx2LR15s,2002
|
|
1063
|
-
angr/analyses/smc.py,sha256=
|
|
1057
|
+
angr/analyses/smc.py,sha256=0jU8fJL3i96ouFcwwOb2DR0l2Xxy1eWiY6ThWyUiRdM,5155
|
|
1064
1058
|
angr/analyses/complete_calling_conventions.py,sha256=a-hJQ6yRusDhRADGcLxjY6ETlD1vN_QsHd2c0VZlo7I,21079
|
|
1065
1059
|
angr/analyses/callee_cleanup_finder.py,sha256=lQRn5rHS6mGNOqDh-UsxX-gs4cDpwQ6KNjvzQFVCdio,2800
|
|
1066
1060
|
angr/analyses/static_hooker.py,sha256=AYJXoHtdq2m-MgpJbx4eur7wy7llrKXvsVM5NdPcKHU,1852
|
|
1067
1061
|
angr/analyses/code_tagging.py,sha256=Gj7Ms24RnmhC9OD57gw7R6_c-pLfqSug-LVUMw_JmXE,3510
|
|
1068
1062
|
angr/analyses/disassembly.py,sha256=YgU--tr1mZtlNhXTTWLBD4s-4g8vUs-01Vk6A04f5ng,46192
|
|
1069
|
-
angr/analyses/s_propagator.py,sha256
|
|
1063
|
+
angr/analyses/s_propagator.py,sha256=-pqaSlP6TmonDylPbQeHz1DirlpDBq0cMn29LuEzsU8,25157
|
|
1070
1064
|
angr/analyses/s_liveness.py,sha256=mSWwwAPpXl-dIZNx5pAHA5vWXqCO_OivOXWoiaI7tss,7984
|
|
1071
1065
|
angr/analyses/patchfinder.py,sha256=yf8FwkWPVOrvMRA90dKZizVz4s4QE-upq6B0Xxn8wj8,5063
|
|
1072
1066
|
angr/analyses/xrefs.py,sha256=vs6cpVmwXHOmxrI9lJUwCRMYbPSqvIQXS5_fINMaOGI,10290
|
|
@@ -1101,7 +1095,7 @@ angr/analyses/cfg_slice_to_sink/transitions.py,sha256=9Y1qG789dsAcv73FwgYtppUzPW
|
|
|
1101
1095
|
angr/analyses/variable_recovery/irsb_scanner.py,sha256=1dL2IC7fZGuRrhmcpa2Q-G666aMPmbM8zSzmIRpLNSY,5141
|
|
1102
1096
|
angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=OeSnBVpcNlZU-miBlIrbyaPt2IHtExtnpBoACnWNs_Q,27996
|
|
1103
1097
|
angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDYKKMJklcOoCO7Ao,208
|
|
1104
|
-
angr/analyses/variable_recovery/engine_ail.py,sha256=
|
|
1098
|
+
angr/analyses/variable_recovery/engine_ail.py,sha256=N9sEHMUT9qVMJCm1h4da3vLnSLPDp3oY9fE3WN60ioc,35652
|
|
1105
1099
|
angr/analyses/variable_recovery/variable_recovery.py,sha256=I45eVUpOOcSobA_QyXl3aRNa0kppJH_7YOj95fPPTdE,22272
|
|
1106
1100
|
angr/analyses/variable_recovery/engine_vex.py,sha256=Sjh3bZZfnEaich7PLTitaZITSMW7agqgyxck4gWKDbQ,21465
|
|
1107
1101
|
angr/analyses/variable_recovery/variable_recovery_base.py,sha256=Ewd0TzNdZ_gRYXtXjVrJfODNABMMPjnuvMy9-Nnyui0,16813
|
|
@@ -1146,7 +1140,7 @@ angr/analyses/reaching_definitions/function_handler_library/stdlib.py,sha256=YRN
|
|
|
1146
1140
|
angr/analyses/cfg/cfg.py,sha256=dc9M91CaLeEKduYfMwpsT_01x6XyYuoNvgvcDKtbN-I,3177
|
|
1147
1141
|
angr/analyses/cfg/cfb.py,sha256=HI25OJKs2OUlWkOSG4kLsZQFnBJcfDwSQKp6_ZRsoQY,15353
|
|
1148
1142
|
angr/analyses/cfg/cfg_job_base.py,sha256=Zshze972MakTsd-licQz77lac17igQaaTsAteHeHhYQ,5974
|
|
1149
|
-
angr/analyses/cfg/cfg_fast.py,sha256=
|
|
1143
|
+
angr/analyses/cfg/cfg_fast.py,sha256=uTW7bOn8WR9aP0RZiZQFgEuHunrrHp4FhgU8wX_cpwo,236180
|
|
1150
1144
|
angr/analyses/cfg/__init__.py,sha256=-w8Vd6FD6rtjlQaQ7MxwmliFgS2zt-kZepAY4gHas04,446
|
|
1151
1145
|
angr/analyses/cfg/cfg_fast_soot.py,sha256=8YgMtY_8w4nAMcHR6n-q_eFvKwsvNz0anUH7EzIL1B4,25924
|
|
1152
1146
|
angr/analyses/cfg/cfg_arch_options.py,sha256=_XRewFZ51SeNaxChadb6_ER7-8LW8KXeTIpoP8_iRj0,3506
|
|
@@ -1215,18 +1209,18 @@ angr/analyses/decompiler/region_identifier.py,sha256=kQJ_KCd3Qx9LWStTM_iUNBG10bD
|
|
|
1215
1209
|
angr/analyses/decompiler/empty_node_remover.py,sha256=4CdxTM1AVmRoEdRIwJg1YEy10AgkEoRmJ8SU7xGbKnM,7424
|
|
1216
1210
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=4-tqstendHHO2J0WD3JHQkm8c4c2KG3AO3mYWrn4xvg,569
|
|
1217
1211
|
angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
|
|
1218
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
1212
|
+
angr/analyses/decompiler/clinic.py,sha256=src88SCieo4EXC-n9_vRPzMFsKMnBvxN4y--AXl4v7U,151838
|
|
1219
1213
|
angr/analyses/decompiler/decompilation_cache.py,sha256=06oiG299mVpGOTL54Xy1CUxz5s8QLgYJn5XIvKFLYkU,1566
|
|
1220
1214
|
angr/analyses/decompiler/block_simplifier.py,sha256=vjlugXCB3xFYBDBn3LPxOtU1dDc76PpYtVEoju3i9-4,15513
|
|
1221
1215
|
angr/analyses/decompiler/node_replacer.py,sha256=jJd3XkIwFE07bIbLriJ6_mQEvfhm90C8lqlrL5Mz1Xg,1450
|
|
1222
1216
|
angr/analyses/decompiler/decompilation_options.py,sha256=bs6CNpU3UxepgBB_9eUH4jriNpGoryyPP0sR1hDWpTk,8477
|
|
1223
1217
|
angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
|
|
1224
1218
|
angr/analyses/decompiler/graph_region.py,sha256=uSDdCLXfLZJVcb0wMdgBh-KtBJUUhLGHQ-Ap4dNs8wo,18186
|
|
1225
|
-
angr/analyses/decompiler/utils.py,sha256=
|
|
1219
|
+
angr/analyses/decompiler/utils.py,sha256=B7YwnEBF6AZ5DG3E7zHK0TF7zOLeiMWEcc18YL_eUyA,43074
|
|
1226
1220
|
angr/analyses/decompiler/decompiler.py,sha256=adX2UJv6s4JAF7Qf6HTgwPo28QQ6yCzrrQrtlqDZyfE,31864
|
|
1227
1221
|
angr/analyses/decompiler/goto_manager.py,sha256=wVoeXJcadIda84LloGgqW-rL0QHLv3fx4vZHLhmz-_o,4027
|
|
1228
1222
|
angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
|
|
1229
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
1223
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=1qzHYpc5zS9Ei0wstbNUgbV7wkb0z0-6dPJEvK_Vh1g,95948
|
|
1230
1224
|
angr/analyses/decompiler/jump_target_collector.py,sha256=CucT99luxIVrioM-keMMjyNKWE5QaXEFQOFphtyU8b4,1189
|
|
1231
1225
|
angr/analyses/decompiler/label_collector.py,sha256=fsCkldy8ZKH4FjkREByg-NDmfCd7Pmuz2K1Dks9oVjM,814
|
|
1232
1226
|
angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=f_JyNiSZfoudElfl2kIzONoYCiosR4xYFOe8Q5SkvLg,2176
|
|
@@ -1246,7 +1240,7 @@ angr/analyses/decompiler/ssailification/rewriting_engine.py,sha256=wGUdybrGWTlE7
|
|
|
1246
1240
|
angr/analyses/decompiler/ccall_rewriters/x86_ccalls.py,sha256=dvdiAXWGte_4xcDZnP7h980DVZqpxMgQt-fTC1nxChQ,13437
|
|
1247
1241
|
angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=TrnykR5cGCXy85f8OApJBjWSQ8WQSzjrnpND2fODWG8,207
|
|
1248
1242
|
angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=c7-GxWZbFfJvmg4DPdjYgLXyiasmfgmiQ6IY4fjOVWs,727
|
|
1249
|
-
angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=
|
|
1243
|
+
angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=pANATa8vdZ9zeVau_VHatCY3ZeSmMszjDpfNI0r3C-4,26634
|
|
1250
1244
|
angr/analyses/decompiler/dephication/seqnode_dephication.py,sha256=kigkzU78eNe-zD16hUI2YMNt_jHvixpohHpnLhAHMlw,5437
|
|
1251
1245
|
angr/analyses/decompiler/dephication/graph_rewriting.py,sha256=cRMrYJgGV57H5TzWY70S8tl3D9GVkrzOetkxCUevyW4,3502
|
|
1252
1246
|
angr/analyses/decompiler/dephication/__init__.py,sha256=xd6YSsoXLKVB2g52l-TZGsDwN5Vm3p4b35lqAYcrlhU,280
|
|
@@ -1271,7 +1265,7 @@ angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=kPWajH8__ap-
|
|
|
1271
1265
|
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=naCgnDUjdiDsh6dvoNO-VARfbTfaEYpu3EX9HkJ1cqE,31790
|
|
1272
1266
|
angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py,sha256=2Tb4zGnFA5hZH8oI6t1hoRstGDmOBsOoQxf6fU5Ct7A,1105
|
|
1273
1267
|
angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=8gPWhFTcezgO7pZ_v0pxR7pweds4_GrrY82ur6Nrlf8,4796
|
|
1274
|
-
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=
|
|
1268
|
+
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=lzlyhe1RP020ezYN77QRFu5p7zNaH4XSMkpBhxRP7ms,7959
|
|
1275
1269
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_nots.py,sha256=V5Vm1zUGjsauyOYXbUgDfZEgmChLbY8wnvmcRbfdMk0,1278
|
|
1276
1270
|
angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=vLXt0ekjRep4SgaNq1wyxVkBTzOMTa03d3rgkjUOcUg,995
|
|
1277
1271
|
angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=fXV_a58W2X30KCanYeSHdZ2yPcfDlyZq_OkYNMkglrg,6420
|
|
@@ -1317,9 +1311,9 @@ angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=4f
|
|
|
1317
1311
|
angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=--C1JQluHt8ltdfUPBHvRD3SjW_ZcBU3oWdFwpCtpuw,1072
|
|
1318
1312
|
angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=fXq-qFe7JUdD5LdtUhoA9AF3LnY-3Jrmo4t3ZRJIIiQ,1414
|
|
1319
1313
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_bitmasks.py,sha256=FUf1bg9nADlwT1upwTKcVhhPcvZ98C-8PlmkWoHqwZ4,4787
|
|
1320
|
-
angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py,sha256=
|
|
1314
|
+
angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py,sha256=N0TGL6V9AzhXGbt1SS6UCW3Ney_SgOf_YgV2UTLvLvs,4512
|
|
1321
1315
|
angr/analyses/decompiler/peephole_optimizations/optimized_div_simplifier.py,sha256=M4GxEWKs6V9aEYejGluZ8w8QpvPKpaESeFFzid88HjE,14208
|
|
1322
|
-
angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py,sha256=
|
|
1316
|
+
angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py,sha256=TfimMI0FwpRBrWVQZy4m9XAf_BBPInu0zfywQ9CoGgs,12712
|
|
1323
1317
|
angr/analyses/decompiler/peephole_optimizations/a_div_const_add_a_mul_n_div_const.py,sha256=HY6EQkThiyMaahz3bodJUqLBKWY2n4aKGbKyspMXN50,1641
|
|
1324
1318
|
angr/analyses/decompiler/peephole_optimizations/rewrite_bit_extractions.py,sha256=tezg1gsxxH-iMmo_346NYO0YHwJz_Gpb8Ztm526o0G4,3300
|
|
1325
1319
|
angr/analyses/decompiler/peephole_optimizations/single_bit_cond_to_boolexpr.py,sha256=3eQSTFUNRDWz0No90GzxM_TaIYa7-xouf8afytds5Dk,2967
|
|
@@ -1333,8 +1327,9 @@ angr/analyses/decompiler/structuring/dream.py,sha256=QNZ8dKk79Uq0urUEpwmBgX2Ak3Z
|
|
|
1333
1327
|
angr/analyses/decompiler/structuring/structurer_nodes.py,sha256=3T6QPeD1KlLkcjMDBblQCb1Cf50VF36C-hlFhiKi9nc,12823
|
|
1334
1328
|
angr/analyses/decompiler/structuring/phoenix.py,sha256=-yGUKZt37N0tbqTJoRI4Pk_ohZhYaxT22wWEWsblzZ4,164692
|
|
1335
1329
|
angr/analyses/decompiler/structuring/structurer_base.py,sha256=xzQMYBInNyeRYibbiuk6EYbvPO235El3guT1yh1qAxw,50690
|
|
1336
|
-
angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=
|
|
1337
|
-
angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=
|
|
1330
|
+
angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=M9ywJ3WuQBurI5hZw9WqcwLCppW9iHGvK9HkqSXUIbY,22115
|
|
1331
|
+
angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=cr_9dkuQdvlhErrf221V2ugpNDj0ReAwO6FD3ksf9f8,28307
|
|
1332
|
+
angr/analyses/decompiler/optimization_passes/register_save_area_simplifier_adv.py,sha256=sYucCf43c7LYH8kfXylS2wa5GYWRK77MZVad_75m5XU,8670
|
|
1338
1333
|
angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=RkZdMPJ_JKDkywVYp0MrCf6PK95GWT7Q0K7jsCVk_cE,42132
|
|
1339
1334
|
angr/analyses/decompiler/optimization_passes/const_derefs.py,sha256=-vvd0QvLCmnRREmvN5LCLeKpUqisyPWj0yw1CHY8TwQ,10505
|
|
1340
1335
|
angr/analyses/decompiler/optimization_passes/call_stmt_rewriter.py,sha256=INLmzfGDMsVzyQF2S6uwiQSoNcxM7DUBJrdWlL2gqlY,1325
|
|
@@ -1344,11 +1339,11 @@ angr/analyses/decompiler/optimization_passes/condition_constprop.py,sha256=8UBN1
|
|
|
1344
1339
|
angr/analyses/decompiler/optimization_passes/ret_deduplicator.py,sha256=hqOBkbiyQwGDoPdkMLwJjJOI_90QQ2R6ESs2HQ4z0iw,8005
|
|
1345
1340
|
angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py,sha256=A7azHMeTQDXPFj44lI-mK7wnbJZ6cdSL-lwwqxiBTk0,6420
|
|
1346
1341
|
angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=154pzAHjRaDJA1bc69Z49qDBouToemUL0BoT2ybmjw8,6476
|
|
1347
|
-
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=
|
|
1342
|
+
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=np49PaxIYrNgFBSrQR3TJ_lOI2_EXsFPYEBX5GTVohQ,5518
|
|
1348
1343
|
angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=DA2H1Uk8ZUTBcebQ3SFFl5n8pDSsZnQZC1Hnjv-A1a0,7835
|
|
1349
1344
|
angr/analyses/decompiler/optimization_passes/switch_reused_entry_rewriter.py,sha256=6-b3u4zCwSQkMaYXDP4aTjTZdFTlIWlYfd8zC1vNuRM,4035
|
|
1350
1345
|
angr/analyses/decompiler/optimization_passes/tag_slicer.py,sha256=VSlwk9ZdnFZnAAxL0gUAgqAtP6HEk4fqcYGWlD3ylGg,1181
|
|
1351
|
-
angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256
|
|
1346
|
+
angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=hKT0lUyKGPVLYuOG89nrvAW9KlYrBUh6v787V6wlFm0,11126
|
|
1352
1347
|
angr/analyses/decompiler/optimization_passes/expr_op_swapper.py,sha256=GNrqp7-CakO6JmxXHoaDKqiNslRI0mSBoNmImU5rNh4,4730
|
|
1353
1348
|
angr/analyses/decompiler/optimization_passes/determine_load_sizes.py,sha256=cyDEGP7be5FAHX32eTE6FD_RZHF6G3vRo5rCYrNCfJM,2246
|
|
1354
1349
|
angr/analyses/decompiler/optimization_passes/return_duplicator_base.py,sha256=cU4p-QGklqgillWLdD-o1nBPAsrfZS66GfAhuhHSz1I,27395
|
|
@@ -1380,16 +1375,19 @@ angr/analyses/decompiler/counters/__init__.py,sha256=UT5K0cWgkVTAXZxy1qBBzrQip3Y
|
|
|
1380
1375
|
angr/analyses/decompiler/counters/boolean_counter.py,sha256=FG3M8dMpbU_WAyr8PV2iEI43OLUxoZ6JQ1johkMtivw,893
|
|
1381
1376
|
angr/analyses/decompiler/presets/__init__.py,sha256=NWARH5yOyBz4-5qKhzH56PNfPNRViNKMDeESlpplFxo,375
|
|
1382
1377
|
angr/analyses/decompiler/presets/preset.py,sha256=LvX7ydyO0ZzQsC0M2fy1wXA_0ygSqeP9P52VJAK0Eeo,1264
|
|
1383
|
-
angr/analyses/decompiler/presets/fast.py,sha256=
|
|
1384
|
-
angr/analyses/decompiler/presets/full.py,sha256=
|
|
1385
|
-
angr/analyses/decompiler/presets/basic.py,sha256=
|
|
1378
|
+
angr/analyses/decompiler/presets/fast.py,sha256=pR1EDVih9we_Gwepoqi2DfPitC_9YCvnDVpXVlkivcU,1720
|
|
1379
|
+
angr/analyses/decompiler/presets/full.py,sha256=a2oBOQicpKfwLWLsYLdBfK5YGq1BFJyheHXkbADU0qk,1964
|
|
1380
|
+
angr/analyses/decompiler/presets/basic.py,sha256=lb4TyVOHL-NqHsGPDOvw5XeGOfuKyzlQAY8fUMrwMI4,981
|
|
1381
|
+
angr/analyses/decompiler/dirty_rewriters/__init__.py,sha256=Go9Znxszue8UZD8w7nHJXcU885ZvZ8fa6BAuOa3Qpms,136
|
|
1382
|
+
angr/analyses/decompiler/dirty_rewriters/rewriter_base.py,sha256=ghiYgB5O78ozGaCti7SqR_YlXQJrHtMEHnxQKe3Rw2I,817
|
|
1383
|
+
angr/analyses/decompiler/dirty_rewriters/amd64_dirty.py,sha256=QM0mUMKm5eyTybGL7yaXgGDuewHfmuctpZ4faxXczsg,2409
|
|
1386
1384
|
angr/analyses/s_reaching_definitions/__init__.py,sha256=TyfVplxkJj8FAAAw9wegzJlcrbGwlFpIB23PdCcwrLA,254
|
|
1387
1385
|
angr/analyses/s_reaching_definitions/s_reaching_definitions.py,sha256=gNdg8xpu5by_McWU8j0g0502yQsO2evkTlben9yimV0,7826
|
|
1388
1386
|
angr/analyses/s_reaching_definitions/s_rda_model.py,sha256=FJSge_31FFzyzBJA1xm7dQz40TfuNna6v_RWAZMZvi0,5801
|
|
1389
1387
|
angr/analyses/s_reaching_definitions/s_rda_view.py,sha256=7o-llkMUJP_ZhnQ4tkCDrzYok4cAOA7PLt2tX9DY8Mo,13929
|
|
1390
1388
|
angr/analyses/fcp/__init__.py,sha256=E9dxFckDM9DijfU4RRg9SGL6xDKCz7yBBP-XSkS-S9U,115
|
|
1391
1389
|
angr/analyses/fcp/fcp.py,sha256=djkJsvSja_De7ptNwllmTHjvVl62BFcH_haBhwhzFtw,16373
|
|
1392
|
-
angr/analyses/flirt/flirt.py,sha256=
|
|
1390
|
+
angr/analyses/flirt/flirt.py,sha256=fZ0BvmJnx6ve1j76lMvKFHM2y3g17wg00fU8hWvSl14,10829
|
|
1393
1391
|
angr/analyses/flirt/flirt_sig.py,sha256=9cWSXqFBEIpui7pluMTaskfD0mVMomNt1mPXN6pIdjg,11574
|
|
1394
1392
|
angr/analyses/flirt/__init__.py,sha256=1jKkwUDhwwnxG5BRcYtwogLHLBvtZApXgvcAcHrJrdw,1293
|
|
1395
1393
|
angr/analyses/flirt/consts.py,sha256=9ldvicgtJZa8Hw8cWOKxGkCYtc09I2q5ZWxctXcg20w,4861
|
|
@@ -1400,3 +1398,9 @@ angr/analyses/flirt/flirt_node.py,sha256=ecfJq4Ymp38zzvoZPDfLcLSR045GNOM9je-F_NP
|
|
|
1400
1398
|
angr/analyses/flirt/flirt_utils.py,sha256=ojZ_01s7O23vU7dN6xZL7Wyx5M3pgm43frxjbZzSmyU,819
|
|
1401
1399
|
angr/flirt/__init__.py,sha256=uPA4ff2d8FQYfGzq2rgM5pJ9PAH82275On3EFKqXktE,3514
|
|
1402
1400
|
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
|