angr 9.2.176__cp310-abi3-win_amd64.whl → 9.2.178__cp310-abi3-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of angr might be problematic. Click here for more details.
- angr/__init__.py +1 -1
- angr/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.pyd +0 -0
- angr/unicornlib.dll +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.pyd
CHANGED
|
Binary file
|
angr/unicornlib.dll
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,4 +1,4 @@
|
|
|
1
|
-
angr/__init__.py,sha256=
|
|
1
|
+
angr/__init__.py,sha256=vN_wwQPUaez8llCxHPyGbA0xDZPdNi9jbjCSU0hqngI,9246
|
|
2
2
|
angr/__main__.py,sha256=N6uAG4GA5S02pSDUKcWFmTuWiT-qiO7OP7kSfXsF4nQ,6142
|
|
3
3
|
angr/annocfg.py,sha256=0NIvcuCskwz45hbBzigUTAuCrYutjDMwEXtMJf0y0S0,10742
|
|
4
4
|
angr/blade.py,sha256=OGGW-oggqI9_LvgZhiQuh9Ktkvf3vhRBmH0XviNyZ6o,15801
|
|
@@ -7,7 +7,7 @@ angr/callable.py,sha256=j9Orwd4H4fPqOYylcEt5GuLGPV7ZOqyA_OYO2bp5PAA,6437
|
|
|
7
7
|
angr/calling_conventions.py,sha256=PNCk0MQ8BJe2opJt0hUiR1KwUBeBlyFewDM8zgoil2g,101871
|
|
8
8
|
angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
|
|
9
9
|
angr/codenode.py,sha256=hCrQRp4Ebb2X6JicNmY1PXo3_Pm8GDxVivVW0Pwe84k,3918
|
|
10
|
-
angr/emulator.py,sha256=
|
|
10
|
+
angr/emulator.py,sha256=aZXi8-jQ_9uelN2zvlecR2ZYXPey4PHyju6yVJIWDAk,4708
|
|
11
11
|
angr/errors.py,sha256=I0L-TbxmVYIkC-USuHwaQ9BGPi2YVObnhZXQQ3kJFuo,8385
|
|
12
12
|
angr/factory.py,sha256=PPNWvTiWaIgzxzyoTr8ObSF-TXp1hCdbY2e-0xBePNc,17815
|
|
13
13
|
angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -15,7 +15,7 @@ angr/keyed_region.py,sha256=Cx6dadqFgEvRmEHTbCJpg9mXkBtKGc_BKckHc6bk1IU,17992
|
|
|
15
15
|
angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
|
|
16
16
|
angr/project.py,sha256=sXHWI8EVNK8Ax6--yNOMhyt77Mcxg6shzD1NbMf0GT0,38267
|
|
17
17
|
angr/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
|
|
18
|
-
angr/rustylib.pyd,sha256
|
|
18
|
+
angr/rustylib.pyd,sha256=6l2QyD79YlwqkUBigSAzWJHi0AhZMfeFW9TBh7L9ph0,4460032
|
|
19
19
|
angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
|
|
20
20
|
angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
|
|
21
21
|
angr/sim_options.py,sha256=WNLSnmn7gqKBYgQs3Me2H3zKusgt0WVqFzsBuzEZpoU,17436
|
|
@@ -27,7 +27,7 @@ angr/sim_variable.py,sha256=3DssmMw5G7m_-MYToJ3LBP-ooy2UQEuI2YgxIuX3d4Y,13177
|
|
|
27
27
|
angr/slicer.py,sha256=DND0BERanYKafasRH9MDFAng0rSjdjmzXj2-phCD6CQ,10634
|
|
28
28
|
angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
|
|
29
29
|
angr/tablespecs.py,sha256=Kx1e87FxTx3_ZN7cAHWZSRpdInT4Vfj5gExAWtLkLTw,3259
|
|
30
|
-
angr/unicornlib.dll,sha256=
|
|
30
|
+
angr/unicornlib.dll,sha256=Jvlbjqib-vjFw4Ohe5_aR3Bv7CB_p_DGMOyFIyovb14,813568
|
|
31
31
|
angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
|
|
32
32
|
angr/ailment/__init__.py,sha256=X1LTS6MuTovGtbXBjZendUVOzRk-ib-bP0imuqJDOYI,2039
|
|
33
33
|
angr/ailment/block.py,sha256=rkmimsNPhrUabVVbRd2IgCaW0hA2_isvAsKlYtHZhgY,2428
|
|
@@ -68,8 +68,8 @@ angr/analyses/pathfinder.py,sha256=_prNqmRUSuSt2ZCP8qbvNN7pw7mtM8pWr9IL0AO6XL8,1
|
|
|
68
68
|
angr/analyses/proximity_graph.py,sha256=KoRvdQswRrDygotrY_6hPnrzUf1U5c5mht-b7lowyFM,16087
|
|
69
69
|
angr/analyses/reassembler.py,sha256=UXrDQNJtn4RUurpbIyMVpQ3AZ0VGVQZatoGHziEHvU0,98357
|
|
70
70
|
angr/analyses/s_liveness.py,sha256=mSWwwAPpXl-dIZNx5pAHA5vWXqCO_OivOXWoiaI7tss,7984
|
|
71
|
-
angr/analyses/s_propagator.py,sha256
|
|
72
|
-
angr/analyses/smc.py,sha256=
|
|
71
|
+
angr/analyses/s_propagator.py,sha256=-pqaSlP6TmonDylPbQeHz1DirlpDBq0cMn29LuEzsU8,25157
|
|
72
|
+
angr/analyses/smc.py,sha256=0jU8fJL3i96ouFcwwOb2DR0l2Xxy1eWiY6ThWyUiRdM,5155
|
|
73
73
|
angr/analyses/soot_class_hierarchy.py,sha256=R4xeacn-a_Q7PxSyj_stu5mnglZkPB5US5srKChX3mk,8740
|
|
74
74
|
angr/analyses/stack_pointer_tracker.py,sha256=tsiA8VHyrUsR9sCFh6CL0BS1Ubunv2pat6D3DLanDgI,38151
|
|
75
75
|
angr/analyses/static_hooker.py,sha256=AYJXoHtdq2m-MgpJbx4eur7wy7llrKXvsVM5NdPcKHU,1852
|
|
@@ -88,7 +88,7 @@ angr/analyses/cfg/cfg.py,sha256=dc9M91CaLeEKduYfMwpsT_01x6XyYuoNvgvcDKtbN-I,3177
|
|
|
88
88
|
angr/analyses/cfg/cfg_arch_options.py,sha256=_XRewFZ51SeNaxChadb6_ER7-8LW8KXeTIpoP8_iRj0,3506
|
|
89
89
|
angr/analyses/cfg/cfg_base.py,sha256=AdFw6ujMKc0nqLGymiYACOUSNYXTf-5cOjnPeGTaF0U,125012
|
|
90
90
|
angr/analyses/cfg/cfg_emulated.py,sha256=4lKrmGVfCGt8l3Nz9zH6EcUcAVLwyOM7p81DlxUVNGA,148351
|
|
91
|
-
angr/analyses/cfg/cfg_fast.py,sha256=
|
|
91
|
+
angr/analyses/cfg/cfg_fast.py,sha256=uTW7bOn8WR9aP0RZiZQFgEuHunrrHp4FhgU8wX_cpwo,236180
|
|
92
92
|
angr/analyses/cfg/cfg_fast_soot.py,sha256=8YgMtY_8w4nAMcHR6n-q_eFvKwsvNz0anUH7EzIL1B4,25924
|
|
93
93
|
angr/analyses/cfg/cfg_job_base.py,sha256=Zshze972MakTsd-licQz77lac17igQaaTsAteHeHhYQ,5974
|
|
94
94
|
angr/analyses/cfg/indirect_jump_resolvers/__init__.py,sha256=qWiTSIAQgXWmaYa9YYaiKsSTwUVClymaXv9sCX-bY-k,835
|
|
@@ -116,13 +116,13 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=_vQPkw1NMrzD7kAFeotOaa
|
|
|
116
116
|
angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
|
|
117
117
|
angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
|
|
118
118
|
angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
|
|
119
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
119
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=1qzHYpc5zS9Ei0wstbNUgbV7wkb0z0-6dPJEvK_Vh1g,95948
|
|
120
120
|
angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
|
|
121
121
|
angr/analyses/decompiler/block_io_finder.py,sha256=9J56W0_SQPczZ2-VoxqSv61T57foHmzy7wPtUtQKffU,10943
|
|
122
122
|
angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
|
|
123
123
|
angr/analyses/decompiler/block_simplifier.py,sha256=vjlugXCB3xFYBDBn3LPxOtU1dDc76PpYtVEoju3i9-4,15513
|
|
124
124
|
angr/analyses/decompiler/callsite_maker.py,sha256=O7vjwNTmCLijzjKgSCaoX3IX4_sC-u-OqoKhE7lahlc,23427
|
|
125
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
125
|
+
angr/analyses/decompiler/clinic.py,sha256=src88SCieo4EXC-n9_vRPzMFsKMnBvxN4y--AXl4v7U,151838
|
|
126
126
|
angr/analyses/decompiler/condition_processor.py,sha256=ALx1EO82EWOfj1mjWhS_8GNMLdEO98jqnIqB-CtfELg,56692
|
|
127
127
|
angr/analyses/decompiler/decompilation_cache.py,sha256=06oiG299mVpGOTL54Xy1CUxz5s8QLgYJn5XIvKFLYkU,1566
|
|
128
128
|
angr/analyses/decompiler/decompilation_options.py,sha256=bs6CNpU3UxepgBB_9eUH4jriNpGoryyPP0sR1hDWpTk,8477
|
|
@@ -142,9 +142,9 @@ angr/analyses/decompiler/return_maker.py,sha256=sUxRx4LRt1lf-N7x93t7W04lDgJomt_l
|
|
|
142
142
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=4-tqstendHHO2J0WD3JHQkm8c4c2KG3AO3mYWrn4xvg,569
|
|
143
143
|
angr/analyses/decompiler/sequence_walker.py,sha256=_-kUn01iU7iGdrzOPpwzquwk9CVDUL7QfQkv2OT9r8Y,10083
|
|
144
144
|
angr/analyses/decompiler/stack_item.py,sha256=4HpYE54sOnODzMLrNX1m-Mb9RlQYjojJqNKjjDz9jxU,814
|
|
145
|
-
angr/analyses/decompiler/utils.py,sha256=
|
|
145
|
+
angr/analyses/decompiler/utils.py,sha256=B7YwnEBF6AZ5DG3E7zHK0TF7zOLeiMWEcc18YL_eUyA,43074
|
|
146
146
|
angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=TrnykR5cGCXy85f8OApJBjWSQ8WQSzjrnpND2fODWG8,207
|
|
147
|
-
angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=
|
|
147
|
+
angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=pANATa8vdZ9zeVau_VHatCY3ZeSmMszjDpfNI0r3C-4,26634
|
|
148
148
|
angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=c7-GxWZbFfJvmg4DPdjYgLXyiasmfgmiQ6IY4fjOVWs,727
|
|
149
149
|
angr/analyses/decompiler/ccall_rewriters/x86_ccalls.py,sha256=dvdiAXWGte_4xcDZnP7h980DVZqpxMgQt-fTC1nxChQ,13437
|
|
150
150
|
angr/analyses/decompiler/counters/__init__.py,sha256=UT5K0cWgkVTAXZxy1qBBzrQip3YR2BOBVpxlAuNlt5o,480
|
|
@@ -159,10 +159,13 @@ angr/analyses/decompiler/dephication/graph_rewriting.py,sha256=cRMrYJgGV57H5TzWY
|
|
|
159
159
|
angr/analyses/decompiler/dephication/graph_vvar_mapping.py,sha256=wvGWiSOa-2PnHpsLn3UkYwOYnFGJtFj0SpCn0bWl6k8,16224
|
|
160
160
|
angr/analyses/decompiler/dephication/rewriting_engine.py,sha256=qBX6yrtJQhjiSRBz0mBjafF1lTrl22oToOErxIFSr4w,18623
|
|
161
161
|
angr/analyses/decompiler/dephication/seqnode_dephication.py,sha256=kigkzU78eNe-zD16hUI2YMNt_jHvixpohHpnLhAHMlw,5437
|
|
162
|
+
angr/analyses/decompiler/dirty_rewriters/__init__.py,sha256=Go9Znxszue8UZD8w7nHJXcU885ZvZ8fa6BAuOa3Qpms,136
|
|
163
|
+
angr/analyses/decompiler/dirty_rewriters/amd64_dirty.py,sha256=QM0mUMKm5eyTybGL7yaXgGDuewHfmuctpZ4faxXczsg,2409
|
|
164
|
+
angr/analyses/decompiler/dirty_rewriters/rewriter_base.py,sha256=ghiYgB5O78ozGaCti7SqR_YlXQJrHtMEHnxQKe3Rw2I,817
|
|
162
165
|
angr/analyses/decompiler/notes/__init__.py,sha256=4e5yTEQr5tnTQt8BfsMXqRUUpWPaQIFLzsgNVx55VJw,181
|
|
163
166
|
angr/analyses/decompiler/notes/decompilation_note.py,sha256=MTFHVMlfmJGrKGuvlHppcIEFR1FWF9xW8_0U0xoFOUo,1352
|
|
164
167
|
angr/analyses/decompiler/notes/deobfuscated_strings.py,sha256=f9AtSSVIB7kAlPUlkLxqNodco4KWbYivPV3Yh8KjVTo,1877
|
|
165
|
-
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=
|
|
168
|
+
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=np49PaxIYrNgFBSrQR3TJ_lOI2_EXsFPYEBX5GTVohQ,5518
|
|
166
169
|
angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=-kuCQk0ALYM1rmr6VaijrZYgHseeXqlWECaekKfI6hE,6120
|
|
167
170
|
angr/analyses/decompiler/optimization_passes/call_stmt_rewriter.py,sha256=INLmzfGDMsVzyQF2S6uwiQSoNcxM7DUBJrdWlL2gqlY,1325
|
|
168
171
|
angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=fdUvRseuFiH6ehpk9uWWMityDuBs_kqmIjYMi92dDkw,15353
|
|
@@ -182,9 +185,10 @@ angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=DA2H1U
|
|
|
182
185
|
angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=O7b5hVV8UV7Q5nzEPovQZB4z8UsyYKvPkOTp2pljXiY,13774
|
|
183
186
|
angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=RkZdMPJ_JKDkywVYp0MrCf6PK95GWT7Q0K7jsCVk_cE,42132
|
|
184
187
|
angr/analyses/decompiler/optimization_passes/mod_simplifier.py,sha256=9ekxyvxF8g3tN5oanUg96HaYiyYVbj5Nf-vSeeq86kI,3384
|
|
185
|
-
angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=
|
|
188
|
+
angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=cr_9dkuQdvlhErrf221V2ugpNDj0ReAwO6FD3ksf9f8,28307
|
|
186
189
|
angr/analyses/decompiler/optimization_passes/peephole_simplifier.py,sha256=4PeOX1al4raJ7QCVLyNcffF_Q5XnPS1vDwz4riNUeHQ,2672
|
|
187
|
-
angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256
|
|
190
|
+
angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=hKT0lUyKGPVLYuOG89nrvAW9KlYrBUh6v787V6wlFm0,11126
|
|
191
|
+
angr/analyses/decompiler/optimization_passes/register_save_area_simplifier_adv.py,sha256=sYucCf43c7LYH8kfXylS2wa5GYWRK77MZVad_75m5XU,8670
|
|
188
192
|
angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py,sha256=A7azHMeTQDXPFj44lI-mK7wnbJZ6cdSL-lwwqxiBTk0,6420
|
|
189
193
|
angr/analyses/decompiler/optimization_passes/ret_deduplicator.py,sha256=hqOBkbiyQwGDoPdkMLwJjJOI_90QQ2R6ESs2HQ4z0iw,8005
|
|
190
194
|
angr/analyses/decompiler/optimization_passes/return_duplicator_base.py,sha256=cU4p-QGklqgillWLdD-o1nBPAsrfZS66GfAhuhHSz1I,27395
|
|
@@ -194,7 +198,7 @@ angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=z
|
|
|
194
198
|
angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=154pzAHjRaDJA1bc69Z49qDBouToemUL0BoT2ybmjw8,6476
|
|
195
199
|
angr/analyses/decompiler/optimization_passes/switch_reused_entry_rewriter.py,sha256=6-b3u4zCwSQkMaYXDP4aTjTZdFTlIWlYfd8zC1vNuRM,4035
|
|
196
200
|
angr/analyses/decompiler/optimization_passes/tag_slicer.py,sha256=VSlwk9ZdnFZnAAxL0gUAgqAtP6HEk4fqcYGWlD3ylGg,1181
|
|
197
|
-
angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=
|
|
201
|
+
angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=M9ywJ3WuQBurI5hZw9WqcwLCppW9iHGvK9HkqSXUIbY,22115
|
|
198
202
|
angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py,sha256=aTQV3_yQaAKhQ24V66alxErjg7jv6gellWCqsT9G-lE,3104
|
|
199
203
|
angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py,sha256=hTeOdooVDZnBnjiAguD7_BS9YJru8rOiSHN3H0sdzcA,126
|
|
200
204
|
angr/analyses/decompiler/optimization_passes/duplication_reverter/ail_merge_graph.py,sha256=vTXXuELU2hMG8FfN8ESiHZzkeJFcr19byUyjo6wDZi0,21668
|
|
@@ -217,7 +221,7 @@ angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py,sh
|
|
|
217
221
|
angr/analyses/decompiler/peephole_optimizations/bitwise_or_to_logical_or.py,sha256=09PA82Sg2FlBp2XZd4-WSES-8BQesXPXvIlpuuGByvM,1306
|
|
218
222
|
angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=vLXt0ekjRep4SgaNq1wyxVkBTzOMTa03d3rgkjUOcUg,995
|
|
219
223
|
angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=fXV_a58W2X30KCanYeSHdZ2yPcfDlyZq_OkYNMkglrg,6420
|
|
220
|
-
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=
|
|
224
|
+
angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=lzlyhe1RP020ezYN77QRFu5p7zNaH4XSMkpBhxRP7ms,7959
|
|
221
225
|
angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py,sha256=sJV-8aP9KUx5Kt7pZmb3M28K3z2bGD3NWJFZOdYaBYc,2662
|
|
222
226
|
angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=fXq-qFe7JUdD5LdtUhoA9AF3LnY-3Jrmo4t3ZRJIIiQ,1414
|
|
223
227
|
angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=--C1JQluHt8ltdfUPBHvRD3SjW_ZcBU3oWdFwpCtpuw,1072
|
|
@@ -230,7 +234,7 @@ angr/analyses/decompiler/peephole_optimizations/inlined_memcpy.py,sha256=5OAgdFM
|
|
|
230
234
|
angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=q2IVsIFhfo0TGY3PfeOmCZqdpzUI2B3Tjv_p3_jpwl4,8668
|
|
231
235
|
angr/analyses/decompiler/peephole_optimizations/inlined_strcpy_consolidation.py,sha256=d-O_rIm0OrwK88P0zYBZcOY0ewTdCp4bnkJZDdWUUVw,4883
|
|
232
236
|
angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy.py,sha256=_2Fdny7z31G22edctem0ySFpek2HT5tk-T9F8dQ5p1M,10122
|
|
233
|
-
angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py,sha256=
|
|
237
|
+
angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py,sha256=TfimMI0FwpRBrWVQZy4m9XAf_BBPInu0zfywQ9CoGgs,12712
|
|
234
238
|
angr/analyses/decompiler/peephole_optimizations/invert_negated_logical_conjuction_disjunction.py,sha256=hRx0tuK_s47AEgPfaWYbzh5lPfBhx_anGDTVoIxHYkg,1990
|
|
235
239
|
angr/analyses/decompiler/peephole_optimizations/modulo_simplifier.py,sha256=M09Whprj6tOJdFI5n9a7b-82YZOgnm3QvIbISJ9Lvaw,3724
|
|
236
240
|
angr/analyses/decompiler/peephole_optimizations/one_sub_bool.py,sha256=zljXiUnoH6AwgAoXVRwz9dXEedW7RiUTkHvBMZIA-o8,1140
|
|
@@ -246,7 +250,7 @@ angr/analyses/decompiler/peephole_optimizations/remove_redundant_ite_comparisons
|
|
|
246
250
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_nots.py,sha256=V5Vm1zUGjsauyOYXbUgDfZEgmChLbY8wnvmcRbfdMk0,1278
|
|
247
251
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_reinterprets.py,sha256=NpjPio84lBFY76hPyvOWChRo1jgFEj9XKmSh_A3A-bg,1430
|
|
248
252
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts.py,sha256=0R_ja5u2fO_BMSpfSk68sDMfhwpvBpyCBKahQh-SB4w,3997
|
|
249
|
-
angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py,sha256=
|
|
253
|
+
angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py,sha256=N0TGL6V9AzhXGbt1SS6UCW3Ney_SgOf_YgV2UTLvLvs,4512
|
|
250
254
|
angr/analyses/decompiler/peephole_optimizations/rewrite_bit_extractions.py,sha256=tezg1gsxxH-iMmo_346NYO0YHwJz_Gpb8Ztm526o0G4,3300
|
|
251
255
|
angr/analyses/decompiler/peephole_optimizations/rewrite_conv_mul.py,sha256=nhV4URuLjH_G-te15cJJ3O2-9VJvpOnkRJjdHSBRoko,1481
|
|
252
256
|
angr/analyses/decompiler/peephole_optimizations/rewrite_cxx_operator_calls.py,sha256=UGOXLJuW2nDGILv4x5RqoowZxJ3dNq1pdCp6DnnRaUk,4137
|
|
@@ -260,9 +264,9 @@ angr/analyses/decompiler/peephole_optimizations/single_bit_xor.py,sha256=lxDgPnn
|
|
|
260
264
|
angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=8gPWhFTcezgO7pZ_v0pxR7pweds4_GrrY82ur6Nrlf8,4796
|
|
261
265
|
angr/analyses/decompiler/peephole_optimizations/utils.py,sha256=KYDiAt0PUA4PcOlBK-OS0aBr16_ZSETMISPAnaUJiLM,724
|
|
262
266
|
angr/analyses/decompiler/presets/__init__.py,sha256=NWARH5yOyBz4-5qKhzH56PNfPNRViNKMDeESlpplFxo,375
|
|
263
|
-
angr/analyses/decompiler/presets/basic.py,sha256=
|
|
264
|
-
angr/analyses/decompiler/presets/fast.py,sha256=
|
|
265
|
-
angr/analyses/decompiler/presets/full.py,sha256=
|
|
267
|
+
angr/analyses/decompiler/presets/basic.py,sha256=lb4TyVOHL-NqHsGPDOvw5XeGOfuKyzlQAY8fUMrwMI4,981
|
|
268
|
+
angr/analyses/decompiler/presets/fast.py,sha256=pR1EDVih9we_Gwepoqi2DfPitC_9YCvnDVpXVlkivcU,1720
|
|
269
|
+
angr/analyses/decompiler/presets/full.py,sha256=a2oBOQicpKfwLWLsYLdBfK5YGq1BFJyheHXkbADU0qk,1964
|
|
266
270
|
angr/analyses/decompiler/presets/preset.py,sha256=LvX7ydyO0ZzQsC0M2fy1wXA_0ygSqeP9P52VJAK0Eeo,1264
|
|
267
271
|
angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=BSD9osrReTEdapOMmyI1kFiN7AmE1EeJGLBV7i0u-Uc,117
|
|
268
272
|
angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=xVY1NUqFudjdcFFO5RAfbdIlHyCRPLYDVPM8Z4J6uic,3832
|
|
@@ -308,7 +312,7 @@ angr/analyses/fcp/__init__.py,sha256=E9dxFckDM9DijfU4RRg9SGL6xDKCz7yBBP-XSkS-S9U
|
|
|
308
312
|
angr/analyses/fcp/fcp.py,sha256=djkJsvSja_De7ptNwllmTHjvVl62BFcH_haBhwhzFtw,16373
|
|
309
313
|
angr/analyses/flirt/__init__.py,sha256=1jKkwUDhwwnxG5BRcYtwogLHLBvtZApXgvcAcHrJrdw,1293
|
|
310
314
|
angr/analyses/flirt/consts.py,sha256=9ldvicgtJZa8Hw8cWOKxGkCYtc09I2q5ZWxctXcg20w,4861
|
|
311
|
-
angr/analyses/flirt/flirt.py,sha256=
|
|
315
|
+
angr/analyses/flirt/flirt.py,sha256=fZ0BvmJnx6ve1j76lMvKFHM2y3g17wg00fU8hWvSl14,10829
|
|
312
316
|
angr/analyses/flirt/flirt_function.py,sha256=IHskIu5XTTCLKfmow23ig4HIqzs7oGbw7iktIfv40O8,420
|
|
313
317
|
angr/analyses/flirt/flirt_matcher.py,sha256=nzhvPTIlVwHrn07qLLSRvgfpyOnlNRsziDCls_xh0Gg,6353
|
|
314
318
|
angr/analyses/flirt/flirt_module.py,sha256=pUP6vbujzceJMXFxvLAPgek5Y2qPv3KTlKY8ZWHeIQU,920
|
|
@@ -396,7 +400,7 @@ angr/analyses/unpacker/obfuscation_detector.py,sha256=VWMHOO2UbyiGzRYzAq9yrU3WwZ
|
|
|
396
400
|
angr/analyses/unpacker/packing_detector.py,sha256=SO6aXR1gZkQ7w17AAv3C1-U2KAc0yL9OIQqjNOtVnuo,5331
|
|
397
401
|
angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDYKKMJklcOoCO7Ao,208
|
|
398
402
|
angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
|
|
399
|
-
angr/analyses/variable_recovery/engine_ail.py,sha256=
|
|
403
|
+
angr/analyses/variable_recovery/engine_ail.py,sha256=N9sEHMUT9qVMJCm1h4da3vLnSLPDp3oY9fE3WN60ioc,35652
|
|
400
404
|
angr/analyses/variable_recovery/engine_base.py,sha256=S3-CynLxRXlZ-hDXDZnru_wzApjR8a7hBiJOHquzBjk,53389
|
|
401
405
|
angr/analyses/variable_recovery/engine_vex.py,sha256=Sjh3bZZfnEaich7PLTitaZITSMW7agqgyxck4gWKDbQ,21465
|
|
402
406
|
angr/analyses/variable_recovery/irsb_scanner.py,sha256=1dL2IC7fZGuRrhmcpa2Q-G666aMPmbM8zSzmIRpLNSY,5141
|
|
@@ -440,8 +444,8 @@ angr/engines/__init__.py,sha256=_3oRkiTrPO7QPiCg3qXymt4o9ZAOrAHt5pdfjkp3W9k,1661
|
|
|
440
444
|
angr/engines/concrete.py,sha256=kEt6Dyp8QAIaOP3oW5lRcDs_2UMP2vbiNzylGiqvf7g,2143
|
|
441
445
|
angr/engines/engine.py,sha256=2kwOT-sbxKXAVX2PmsPTr8Ax36Vxq6hkRdDKaITBQNc,657
|
|
442
446
|
angr/engines/failure.py,sha256=redqmkSuJoIc828hpmX3CTk4EqQ-PeEn7MK2uIqSAc0,1040
|
|
443
|
-
angr/engines/hook.py,sha256=
|
|
444
|
-
angr/engines/icicle.py,sha256=
|
|
447
|
+
angr/engines/hook.py,sha256=YMCUWs-cC3fQCN9xlYAy7vaMPKWDNJkl9KtCMYUyMP0,2569
|
|
448
|
+
angr/engines/icicle.py,sha256=JSbHnTJePV1l6dmF5WPhlzYjm6ZApQfjCUrgJ4jewOg,11033
|
|
445
449
|
angr/engines/procedure.py,sha256=8kgFH56nkqSWm0p1apuGBaFngl-4BnAzE0bXhq9mc6Y,2561
|
|
446
450
|
angr/engines/successors.py,sha256=oQCW7Knxb4zz7EP6Mi6RrRNrwuhbv5fnX8UL76nn0sY,29501
|
|
447
451
|
angr/engines/syscall.py,sha256=7wYTriURsDTTi3PEBj4u3ZWDi7RHBV-gRrxTRxwMAVk,2166
|
|
@@ -553,7 +557,7 @@ angr/knowledge_plugins/custom_strings.py,sha256=5qYAvmcm9BkTA247hZngDaHHrO9iIipY
|
|
|
553
557
|
angr/knowledge_plugins/data.py,sha256=u2Is51L6Opp4eeWkpO_ss8WfXgceK5AUa_BlnPcZXmk,874
|
|
554
558
|
angr/knowledge_plugins/debug_variables.py,sha256=pxiY6l0OPX3y2ZEcCGu-vJCGfw60tiPvkjdDFE9Z4uM,8075
|
|
555
559
|
angr/knowledge_plugins/indirect_jumps.py,sha256=VlIDWeU3xZyTAp1qSYyZxtusz2idxa1vrlLQmGWlkHA,1034
|
|
556
|
-
angr/knowledge_plugins/labels.py,sha256=
|
|
560
|
+
angr/knowledge_plugins/labels.py,sha256=HvDQjL3jayVmKNdOHTteNSIgd4aOrAp1qGaBIDqzdPQ,3218
|
|
557
561
|
angr/knowledge_plugins/obfuscations.py,sha256=n7qPreGLXJf2pADtbonv8JToKL_9IQCYfqGmSyV_3Y4,1465
|
|
558
562
|
angr/knowledge_plugins/patches.py,sha256=tPjKI2GloTaWcA96u0yp75956HUkqOfsvusitEeWmGE,4335
|
|
559
563
|
angr/knowledge_plugins/plugin.py,sha256=8tPrsgo1hsZG3ifXs4mWsKkeyB03ubfZdY5YArWw9-Q,766
|
|
@@ -566,7 +570,7 @@ angr/knowledge_plugins/cfg/cfg_node.py,sha256=mAvQ8XAEURM7y0suc_S9lfxCmfXSTJHmWB
|
|
|
566
570
|
angr/knowledge_plugins/cfg/indirect_jump.py,sha256=XQjyH8ZhSlRFWLc--QY9Voq0RB7nI2wzeP5COANwoOc,3741
|
|
567
571
|
angr/knowledge_plugins/cfg/memory_data.py,sha256=QLxFZfrtwz8u6UJn1L-Sxa-C8S0Gy9IOlfNfHCLPIow,5056
|
|
568
572
|
angr/knowledge_plugins/functions/__init__.py,sha256=asiLNiT6sHbjP6eU-kDpawIoVxv4J35cwz5yQHtQ2E0,167
|
|
569
|
-
angr/knowledge_plugins/functions/function.py,sha256=
|
|
573
|
+
angr/knowledge_plugins/functions/function.py,sha256=orSBM5R073Tf-PDWw8NcvKl_iUgCnnk1SyFFMPZP6VE,72303
|
|
570
574
|
angr/knowledge_plugins/functions/function_manager.py,sha256=StsK3biTFRRA2ugrmeQLuHiN894p789Tlw1CIKlE0PY,23462
|
|
571
575
|
angr/knowledge_plugins/functions/function_parser.py,sha256=DTdVwYt6nXLMc0EOh-V_GhvZYQ947UNBaA77qn7Y6Vo,12379
|
|
572
576
|
angr/knowledge_plugins/functions/soot_function.py,sha256=OzCvQPWxnjbwPWTW0JXrQey4zyaayHD_v6ZA7nJ4YJw,4850
|
|
@@ -618,7 +622,7 @@ angr/procedures/cgc/fdwait.py,sha256=wknRSRoa1UeLb_59hPhYqYkU6x88p6rf29rhtKBVQiI
|
|
|
618
622
|
angr/procedures/cgc/random.py,sha256=YSE5qX80KYg0c5bC7XSCg5R4Tm33hU-vprxSXrPHcYk,2490
|
|
619
623
|
angr/procedures/cgc/receive.py,sha256=CYxXBnw9CpLfIVn086UuaEvpT4MGEg8otDHtsgf5etY,3668
|
|
620
624
|
angr/procedures/cgc/transmit.py,sha256=SwVCOo_H-_8sZ3qRQ5QT942eNwc2oPoZJr4VyA7Ny2A,2389
|
|
621
|
-
angr/procedures/definitions/__init__.py,sha256=
|
|
625
|
+
angr/procedures/definitions/__init__.py,sha256=wYoWkHRSh6wjWE-9wPgNJbTfyeHaqkN2zDWOtHJMdF8,43644
|
|
622
626
|
angr/procedures/definitions/cgc.py,sha256=Jrb74dNzy05h_nmsC3GjN5Yr5_jWIjpZ24ZsVkH5jio,508
|
|
623
627
|
angr/procedures/definitions/gnulib.py,sha256=GK4eVXFxwgwhJ9cr47PiTUS4fKYrqPfMtIvwM464Oyo,1107
|
|
624
628
|
angr/procedures/definitions/libstdcpp.py,sha256=IoPJJEFQZR6ysOYvU1EmVK_IyQPuoq73ehImJuGS3JM,750
|
|
@@ -627,7 +631,7 @@ angr/procedures/definitions/linux_loader.py,sha256=uEeMktLesh0NzHmRfgP76IuSzL4YM
|
|
|
627
631
|
angr/procedures/definitions/msvcr.py,sha256=CQgWXrKcEjx9xfPf2BZOOPaQJ5AUqwdNtN_5FdYtRzg,651
|
|
628
632
|
angr/procedures/definitions/parse_glibc.py,sha256=-vmm4hKO2GnBVXmk6Nq4fxGHuLxesRbF52UIrPk4a6Q,2092
|
|
629
633
|
angr/procedures/definitions/parse_syscalls_from_local_system.py,sha256=ssyMjeyuPVYHnbmArwDPO0XXMW1n5Odv__n17cdLVcY,1823
|
|
630
|
-
angr/procedures/definitions/parse_win32json.py,sha256=
|
|
634
|
+
angr/procedures/definitions/parse_win32json.py,sha256=LzvSZC5u6Jkbe-tx9L7swZmJ0DOm26BjTmJWZGiMhBw,109413
|
|
631
635
|
angr/procedures/definitions/types_stl.py,sha256=4fsMlaDLQ7IZfL0jQX4ZvTkqBg5tsoeZAfSwupZm1gI,816
|
|
632
636
|
angr/procedures/definitions/common/glibc.json,sha256=XvQ4JWwJIDepZSvK2AfSX5H4uaB_MJWsULf9Ml1LKwk,955895
|
|
633
637
|
angr/procedures/definitions/wdk/api-ms-win-dx-d3dkmt-l1-1-4.json,sha256=nkET0iaXAHF_qSgyF4N6G1M0i7QtPEPCo2u28so9taM,1016
|
|
@@ -640,7 +644,7 @@ angr/procedures/definitions/wdk/gdi32.json,sha256=YByprF-byACUskCT17vLClW6P0b3Bf
|
|
|
640
644
|
angr/procedures/definitions/wdk/hal.json,sha256=RxvRTa5sumqXXPJai2YrdssJD5fbWeTQi0ap0QQRBxw,12103
|
|
641
645
|
angr/procedures/definitions/wdk/ksecdd.json,sha256=xYYdocSCK8LBeQYFlhZ7ZKiTK-ju26KDWRIQiw7rBKQ,13262
|
|
642
646
|
angr/procedures/definitions/wdk/ndis.json,sha256=CBLTeOby2j_SOP_uPLTPkAcN9ryAiJPg8_bZJw63udw,37456
|
|
643
|
-
angr/procedures/definitions/wdk/ntoskrnl.json,sha256=
|
|
647
|
+
angr/procedures/definitions/wdk/ntoskrnl.json,sha256=Y7NWnwB-Yg4_ecbz9yZwmwH2UofZcNB1D8T-3keJpEg,680550
|
|
644
648
|
angr/procedures/definitions/wdk/offreg.json,sha256=FZ6U7XD1KZPzxgtgJylRbO0sw5bcHJntWKpkchPapiU,9593
|
|
645
649
|
angr/procedures/definitions/wdk/pshed.json,sha256=ZcmmUV1H-2c-mI6W6dY6nMLnmDCC5EbIs0QinyvRsAs,1722
|
|
646
650
|
angr/procedures/definitions/wdk/secur32.json,sha256=M9aMvWxz7zzLtZU4X7Ue5tNJOuNtHvHWHz81e7DvTNs,3432
|
|
@@ -1379,7 +1383,7 @@ angr/utils/endness.py,sha256=PDpDNbiIbaSx1DGH1z16nU2B5GMrTqONGivGeVNiGyU,506
|
|
|
1379
1383
|
angr/utils/enums_conv.py,sha256=fA6qeoRZ6Cj6gCIS_PZbP4PX7E8IybnYQ90OZGnBVrc,2746
|
|
1380
1384
|
angr/utils/env.py,sha256=aO4N2h7DUsUQtTgnC5J_oPHvMxJRur20m5UFSkmy4XU,398
|
|
1381
1385
|
angr/utils/formatting.py,sha256=OWzSfAlKcL09cEtcqxszYWHsRO9tih7hvXD2K9kUZc8,4343
|
|
1382
|
-
angr/utils/funcid.py,sha256=
|
|
1386
|
+
angr/utils/funcid.py,sha256=PA115tjmdUpfrGQvva4Ad3Q5SoToRiGjJzNRhX2Ca6Y,9567
|
|
1383
1387
|
angr/utils/graph.py,sha256=-8cipOvaBeD4owh2cksAwBgcIx2jOeKZa-zcFk73WeM,34787
|
|
1384
1388
|
angr/utils/lazy_import.py,sha256=7Mx-y-aZFsXX9jNxvEcXT-rO8tL8rknb6D6RbSFOI1M,343
|
|
1385
1389
|
angr/utils/library.py,sha256=N8-7DTJhbBFe9f-Yvx0--dHs43nAEDcTXhqm4aUBOj0,7386
|
|
@@ -1391,12 +1395,12 @@ angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoT
|
|
|
1391
1395
|
angr/utils/timing.py,sha256=n-YZ86g0ZWmLhsoNvcimRpKzewR5hmquLZe6fagxlBw,2224
|
|
1392
1396
|
angr/utils/types.py,sha256=688trvR0_j93sfeRgFT1npcmjNGSx99m_IPe9Xyy9WY,4967
|
|
1393
1397
|
angr/utils/vex.py,sha256=epcrCexi_NjKnPGM2gfpiRsUea_Scd-71UMuF32ZAQo,306
|
|
1394
|
-
angr/utils/ssa/__init__.py,sha256=
|
|
1398
|
+
angr/utils/ssa/__init__.py,sha256=rKlgdaTSouwofsLNMa8MKfWb_tqntfp_B5nm-FOeh2Y,17390
|
|
1395
1399
|
angr/utils/ssa/tmp_uses_collector.py,sha256=digAUQpYoFR1VYfwoXlF3T1pYdDi6Pdq_ck54SjMabQ,813
|
|
1396
1400
|
angr/utils/ssa/vvar_uses_collector.py,sha256=HewqUQluNE9EsaiLeFo7LaBvws_DDBDYNt9RBExy464,1367
|
|
1397
|
-
angr-9.2.
|
|
1398
|
-
angr-9.2.
|
|
1399
|
-
angr-9.2.
|
|
1400
|
-
angr-9.2.
|
|
1401
|
-
angr-9.2.
|
|
1402
|
-
angr-9.2.
|
|
1401
|
+
angr-9.2.178.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
|
|
1402
|
+
angr-9.2.178.dist-info/METADATA,sha256=5S5i0ouGRfaEj1PUUCnHHUGpkh7-JaTm28FhF1h_5NY,4524
|
|
1403
|
+
angr-9.2.178.dist-info/WHEEL,sha256=OJ2zpOfp3Fst0GC5jHtFuY8tAf46LLgZ9O920dE4b3c,100
|
|
1404
|
+
angr-9.2.178.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1405
|
+
angr-9.2.178.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1406
|
+
angr-9.2.178.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|