angr 9.2.177__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 +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.pyd +0 -0
- angr/unicornlib.dll +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.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
|
|
@@ -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
|
|
@@ -144,7 +144,7 @@ angr/analyses/decompiler/sequence_walker.py,sha256=_-kUn01iU7iGdrzOPpwzquwk9CVDU
|
|
|
144
144
|
angr/analyses/decompiler/stack_item.py,sha256=4HpYE54sOnODzMLrNX1m-Mb9RlQYjojJqNKjjDz9jxU,814
|
|
145
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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|