angr 9.2.177__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 +68 -0
- 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/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/s_propagator.py +23 -21
- angr/analyses/smc.py +2 -3
- angr/knowledge_plugins/labels.py +4 -4
- 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.177.dist-info → angr-9.2.178.dist-info}/METADATA +6 -5
- {angr-9.2.177.dist-info → angr-9.2.178.dist-info}/RECORD +30 -26
- {angr-9.2.177.dist-info → angr-9.2.178.dist-info}/WHEEL +0 -0
- {angr-9.2.177.dist-info → angr-9.2.178.dist-info}/entry_points.txt +0 -0
- {angr-9.2.177.dist-info → angr-9.2.178.dist-info}/licenses/LICENSE +0 -0
- {angr-9.2.177.dist-info → angr-9.2.178.dist-info}/top_level.txt +0 -0
angr/analyses/s_propagator.py
CHANGED
|
@@ -15,6 +15,7 @@ from angr.ailment.expression import (
|
|
|
15
15
|
Load,
|
|
16
16
|
Convert,
|
|
17
17
|
Expression,
|
|
18
|
+
Tmp,
|
|
18
19
|
)
|
|
19
20
|
from angr.ailment.statement import Assignment, Store, Return, Jump, ConditionalJump
|
|
20
21
|
|
|
@@ -164,7 +165,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
164
165
|
assert v is not None
|
|
165
166
|
const_vvars[vvar_id] = v
|
|
166
167
|
for vvar_at_use, useloc in vvar_uselocs[vvar_id]:
|
|
167
|
-
replacements
|
|
168
|
+
self.replace(replacements, useloc, vvar_at_use, v)
|
|
168
169
|
continue
|
|
169
170
|
|
|
170
171
|
v = phi_assignment_get_src(stmt)
|
|
@@ -185,7 +186,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
185
186
|
const_value = const_vvars[next(iter(all_int_src_varids))]
|
|
186
187
|
const_vvars[vvar.varid] = const_value
|
|
187
188
|
for vvar_at_use, useloc in vvar_uselocs[vvar.varid]:
|
|
188
|
-
replacements
|
|
189
|
+
self.replace(replacements, useloc, vvar_at_use, const_value)
|
|
189
190
|
|
|
190
191
|
# function mode only
|
|
191
192
|
if self.mode == "function":
|
|
@@ -226,7 +227,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
226
227
|
if can_replace:
|
|
227
228
|
# we can propagate this load because there is no store between its def and use
|
|
228
229
|
for vvar_used, vvar_useloc in vvar_uselocs_set:
|
|
229
|
-
replacements
|
|
230
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
230
231
|
continue
|
|
231
232
|
|
|
232
233
|
if (
|
|
@@ -241,7 +242,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
241
242
|
uselocs = {loc for _, loc in vvar_uselocs_set}
|
|
242
243
|
if self.is_vvar_used_for_addr_loading_switch_case(uselocs, blocks) and not has_tmp_expr(stmt.src):
|
|
243
244
|
for vvar_used, vvar_useloc in vvar_uselocs_set:
|
|
244
|
-
replacements
|
|
245
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
245
246
|
# mark the vvar as dead and should be removed
|
|
246
247
|
self.model.dead_vvar_ids.add(vvar.varid)
|
|
247
248
|
continue
|
|
@@ -255,7 +256,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
255
256
|
and not has_tmp_expr(stmt.src)
|
|
256
257
|
):
|
|
257
258
|
# we can propagate this load because there is no store between its def and use
|
|
258
|
-
replacements
|
|
259
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
259
260
|
continue
|
|
260
261
|
|
|
261
262
|
if is_const_and_vvar_assignment(stmt) and not has_tmp_expr(stmt.src):
|
|
@@ -272,9 +273,9 @@ class SPropagatorAnalysis(Analysis):
|
|
|
272
273
|
and stmt.src.oident == useloc_stmt.dst.oident
|
|
273
274
|
and stmt.src.category == useloc_stmt.dst.category
|
|
274
275
|
):
|
|
275
|
-
replacements
|
|
276
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
276
277
|
else:
|
|
277
|
-
replacements
|
|
278
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
278
279
|
continue
|
|
279
280
|
|
|
280
281
|
else:
|
|
@@ -288,7 +289,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
288
289
|
# this vvar is used once if we exclude its uses at ret sites or jump sites. we can
|
|
289
290
|
# propagate it
|
|
290
291
|
for vvar_used, vvar_useloc in vvar_uselocs_set:
|
|
291
|
-
replacements
|
|
292
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
292
293
|
continue
|
|
293
294
|
|
|
294
295
|
if (
|
|
@@ -304,7 +305,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
304
305
|
# remove duplicate use locs (e.g., if the variable is used multiple times by the
|
|
305
306
|
# same statement) - but ensure stmt is simple enough
|
|
306
307
|
for vvar_used, vvar_useloc in vvar_uselocs_set:
|
|
307
|
-
replacements
|
|
308
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
308
309
|
continue
|
|
309
310
|
|
|
310
311
|
# special logic for global variables: if it's used once or multiple times, and the variable is never
|
|
@@ -332,7 +333,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
332
333
|
)
|
|
333
334
|
if not gv_updated:
|
|
334
335
|
for vvar_used, vvar_useloc in vvar_uselocs_set:
|
|
335
|
-
replacements
|
|
336
|
+
self.replace(replacements, vvar_useloc, vvar_used, stmt.src)
|
|
336
337
|
continue
|
|
337
338
|
|
|
338
339
|
for vvar_id, uselocs in vvar_uselocs.items():
|
|
@@ -353,7 +354,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
353
354
|
if sp_bits is not None and vvar.bits < sp_bits:
|
|
354
355
|
# truncation needed
|
|
355
356
|
v = Convert(None, sp_bits, vvar.bits, False, v)
|
|
356
|
-
replacements
|
|
357
|
+
self.replace(replacements, useloc, vvar_at_use, v)
|
|
357
358
|
continue
|
|
358
359
|
if not self._bp_as_gpr and vvar.oident == self.project.arch.bp_offset:
|
|
359
360
|
bp_bits = (
|
|
@@ -368,7 +369,7 @@ class SPropagatorAnalysis(Analysis):
|
|
|
368
369
|
if bp_bits is not None and vvar.bits < bp_bits:
|
|
369
370
|
# truncation needed
|
|
370
371
|
v = Convert(None, bp_bits, vvar.bits, False, v)
|
|
371
|
-
replacements
|
|
372
|
+
self.replace(replacements, useloc, vvar_at_use, v)
|
|
372
373
|
continue
|
|
373
374
|
|
|
374
375
|
# find all tmp definitions
|
|
@@ -390,9 +391,8 @@ class SPropagatorAnalysis(Analysis):
|
|
|
390
391
|
if r:
|
|
391
392
|
# we can propagate it!
|
|
392
393
|
for tmp_used, tmp_use_stmtidx in tmp_uses:
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
][tmp_used] = stmt.src
|
|
394
|
+
loc = CodeLocation(block_loc.block_addr, tmp_use_stmtidx, block_idx=block_loc.block_idx)
|
|
395
|
+
self.replace(replacements, loc, tmp_used, stmt.src)
|
|
396
396
|
continue
|
|
397
397
|
|
|
398
398
|
r = is_const_vvar_tmp_assignment(stmt)
|
|
@@ -404,9 +404,8 @@ class SPropagatorAnalysis(Analysis):
|
|
|
404
404
|
v = stmt.src
|
|
405
405
|
|
|
406
406
|
for tmp_used, tmp_use_stmtidx in tmp_uses:
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
][tmp_used] = v
|
|
407
|
+
loc = CodeLocation(block_loc.block_addr, tmp_use_stmtidx, block_idx=block_loc.block_idx)
|
|
408
|
+
self.replace(replacements, loc, tmp_used, v)
|
|
410
409
|
continue
|
|
411
410
|
|
|
412
411
|
if len(tmp_uses) <= 2 and is_const_vvar_load_dirty_assignment(stmt):
|
|
@@ -422,9 +421,8 @@ class SPropagatorAnalysis(Analysis):
|
|
|
422
421
|
# we can propagate this load because either we do not consider memory aliasing problem
|
|
423
422
|
# within the same instruction (blocks must be originally lifted with
|
|
424
423
|
# CROSS_INSN_OPT=False), or there is no store between its def and use.
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
][tmp_used] = stmt.src
|
|
424
|
+
loc = CodeLocation(block_loc.block_addr, tmp_use_stmtidx, block_idx=block_loc.block_idx)
|
|
425
|
+
self.replace(replacements, loc, tmp_used, stmt.src)
|
|
428
426
|
|
|
429
427
|
self.model.replacements = replacements
|
|
430
428
|
|
|
@@ -538,5 +536,9 @@ class SPropagatorAnalysis(Analysis):
|
|
|
538
536
|
|
|
539
537
|
return g
|
|
540
538
|
|
|
539
|
+
@staticmethod
|
|
540
|
+
def replace(replacements: dict, loc, expr: VirtualVariable | Tmp, value: Expression) -> None:
|
|
541
|
+
replacements[loc][expr] = value
|
|
542
|
+
|
|
541
543
|
|
|
542
544
|
register_analysis(SPropagatorAnalysis, "SPropagator")
|
angr/analyses/smc.py
CHANGED
|
@@ -112,9 +112,8 @@ class SelfModifyingCodeAnalysis(Analysis):
|
|
|
112
112
|
if subject is None:
|
|
113
113
|
subject = self.project.entry
|
|
114
114
|
if isinstance(subject, str):
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
except KeyError:
|
|
115
|
+
addr = self.project.kb.labels.lookup(subject)
|
|
116
|
+
if addr is None:
|
|
118
117
|
addr = self.project.kb.functions[subject].addr
|
|
119
118
|
elif isinstance(subject, Function):
|
|
120
119
|
addr = subject.addr
|
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)
|
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.177.dist-info/RECORD,,
|
|
2
|
-
angr-9.2.177.dist-info/WHEEL,sha256=kFn0Fg1gyV9Pk02-Hr4CbqbhAvYPyosBpF5pwZB07jU,135
|
|
3
|
-
angr-9.2.177.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
4
|
-
angr-9.2.177.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
5
|
-
angr-9.2.177.dist-info/METADATA,sha256=nSqVeQ_B1EMMDD_YHtcBhdpPcIoiE-1rh_ekW4aiSFs,4366
|
|
6
|
-
angr-9.2.177.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
7
|
angr/emulator.py,sha256=aZXi8-jQ_9uelN2zvlecR2ZYXPey4PHyju6yVJIWDAk,4708
|
|
14
|
-
angr/rustylib.abi3.so,sha256=
|
|
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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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,7 +1209,7 @@ 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
|
|
@@ -1226,7 +1220,7 @@ angr/analyses/decompiler/utils.py,sha256=B7YwnEBF6AZ5DG3E7zHK0TF7zOLeiMWEcc18YL_
|
|
|
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
|
|
@@ -1317,7 +1311,7 @@ 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
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
|
|
@@ -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,9 +1375,12 @@ 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
|
|
@@ -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
|