angr 9.2.103__py3-none-macosx_11_0_arm64.whl → 9.2.105__py3-none-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/decompiler/ail_simplifier.py +3 -2
- angr/analyses/decompiler/clinic.py +12 -0
- angr/analyses/decompiler/condition_processor.py +3 -2
- angr/analyses/decompiler/region_identifier.py +2 -1
- angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +2 -1
- angr/analyses/decompiler/structured_codegen/c.py +10 -4
- angr/analyses/flirt.py +2 -1
- angr/analyses/typehoon/typehoon.py +2 -1
- angr/analyses/variable_recovery/variable_recovery_base.py +2 -1
- angr/calling_conventions.py +1 -0
- angr/errors.py +4 -0
- angr/exploration_techniques/__init__.py +2 -0
- angr/exploration_techniques/stub_stasher.py +17 -0
- angr/knowledge_plugins/variables/variable_manager.py +19 -0
- angr/lib/angr_native.dylib +0 -0
- angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +46 -19
- angr/utils/mp.py +2 -1
- angr/utils/segment_list.py +3 -3
- {angr-9.2.103.dist-info → angr-9.2.105.dist-info}/METADATA +6 -6
- {angr-9.2.103.dist-info → angr-9.2.105.dist-info}/RECORD +25 -24
- {angr-9.2.103.dist-info → angr-9.2.105.dist-info}/LICENSE +0 -0
- {angr-9.2.103.dist-info → angr-9.2.105.dist-info}/WHEEL +0 -0
- {angr-9.2.103.dist-info → angr-9.2.105.dist-info}/entry_points.txt +0 -0
- {angr-9.2.103.dist-info → angr-9.2.105.dist-info}/top_level.txt +0 -0
angr/__init__.py
CHANGED
|
@@ -27,6 +27,7 @@ from ...knowledge_plugins.key_definitions import atoms
|
|
|
27
27
|
from ...knowledge_plugins.key_definitions.atoms import Register as RegisterAtom
|
|
28
28
|
from ...knowledge_plugins.key_definitions.definition import Definition
|
|
29
29
|
from ...knowledge_plugins.key_definitions.constants import OP_BEFORE
|
|
30
|
+
from ...errors import AngrRuntimeError
|
|
30
31
|
from .. import Analysis, AnalysesHub
|
|
31
32
|
from .ailgraph_walker import AILGraphWalker
|
|
32
33
|
from .expression_narrower import ExpressionNarrowingWalker
|
|
@@ -811,9 +812,9 @@ class AILSimplifier(Analysis):
|
|
|
811
812
|
else:
|
|
812
813
|
replace_with = eq.atom0
|
|
813
814
|
else:
|
|
814
|
-
raise
|
|
815
|
+
raise AngrRuntimeError("Unsupported atom1 type %s." % type(eq.atom1))
|
|
815
816
|
else:
|
|
816
|
-
raise
|
|
817
|
+
raise AngrRuntimeError("Unsupported atom0 type %s." % type(eq.atom0))
|
|
817
818
|
|
|
818
819
|
to_replace_def = the_def
|
|
819
820
|
|
|
@@ -1389,6 +1389,10 @@ class Clinic(Analysis):
|
|
|
1389
1389
|
for block in ail_graph.nodes():
|
|
1390
1390
|
self._link_variables_on_block(block, tmp_kb)
|
|
1391
1391
|
|
|
1392
|
+
# Link struct member info to Store statements
|
|
1393
|
+
for block in ail_graph.nodes():
|
|
1394
|
+
self._link_struct_member_info_on_block(block, tmp_kb)
|
|
1395
|
+
|
|
1392
1396
|
if self._cache is not None:
|
|
1393
1397
|
self._cache.type_constraints = vr.type_constraints
|
|
1394
1398
|
self._cache.func_typevar = vr.func_typevar
|
|
@@ -1396,6 +1400,14 @@ class Clinic(Analysis):
|
|
|
1396
1400
|
|
|
1397
1401
|
return tmp_kb
|
|
1398
1402
|
|
|
1403
|
+
def _link_struct_member_info_on_block(self, block, kb):
|
|
1404
|
+
variable_manager = kb.variables[self.function.addr]
|
|
1405
|
+
for stmt in block.statements:
|
|
1406
|
+
if isinstance(stmt, ailment.Stmt.Store) and isinstance((var := stmt.variable), SimStackVariable):
|
|
1407
|
+
offset = var.offset
|
|
1408
|
+
if offset in variable_manager.stack_offset_to_struct_member_info:
|
|
1409
|
+
stmt.tags["struct_member_info"] = variable_manager.stack_offset_to_struct_member_info[offset]
|
|
1410
|
+
|
|
1399
1411
|
def _link_variables_on_block(self, block, kb):
|
|
1400
1412
|
"""
|
|
1401
1413
|
Link atoms (AIL expressions) in the given block to corresponding variables identified previously.
|
|
@@ -15,6 +15,7 @@ from ...utils.lazy_import import lazy_import
|
|
|
15
15
|
from ...utils import is_pyinstaller
|
|
16
16
|
from ...utils.graph import dominates, inverted_idoms
|
|
17
17
|
from ...block import Block, BlockNode
|
|
18
|
+
from ...errors import AngrRuntimeError
|
|
18
19
|
from .peephole_optimizations import InvertNegatedLogicalConjunctionsAndDisjunctions
|
|
19
20
|
from .structuring.structurer_nodes import (
|
|
20
21
|
MultiNode,
|
|
@@ -857,7 +858,7 @@ class ConditionProcessor:
|
|
|
857
858
|
return claripy.true
|
|
858
859
|
if isinstance(expr, sympy.logic.boolalg.BooleanFalse):
|
|
859
860
|
return claripy.false
|
|
860
|
-
raise
|
|
861
|
+
raise AngrRuntimeError("Unreachable reached")
|
|
861
862
|
|
|
862
863
|
@staticmethod
|
|
863
864
|
def simplify_condition(cond, depth_limit=8, variables_limit=8):
|
|
@@ -1024,7 +1025,7 @@ class ConditionProcessor:
|
|
|
1024
1025
|
elif arg in common_exprs:
|
|
1025
1026
|
continue
|
|
1026
1027
|
else:
|
|
1027
|
-
raise
|
|
1028
|
+
raise AngrRuntimeError("Unexpected behavior - you should never reach here")
|
|
1028
1029
|
|
|
1029
1030
|
return claripy.And(*common_exprs, claripy.Or(*new_args))
|
|
1030
1031
|
|
|
@@ -11,6 +11,7 @@ from ailment.expression import Const
|
|
|
11
11
|
|
|
12
12
|
from angr.utils.graph import GraphUtils
|
|
13
13
|
from ...utils.graph import dfs_back_edges, subgraph_between_nodes, dominates, shallow_reverse
|
|
14
|
+
from ...errors import AngrRuntimeError
|
|
14
15
|
from .. import Analysis, register_analysis
|
|
15
16
|
from .structuring.structurer_nodes import MultiNode, ConditionNode, IncompleteSwitchCaseHeadStatement
|
|
16
17
|
from .graph_region import GraphRegion
|
|
@@ -146,7 +147,7 @@ class RegionIdentifier(Analysis):
|
|
|
146
147
|
try:
|
|
147
148
|
return next(n for n in graph.nodes() if n.addr == self.function.addr)
|
|
148
149
|
except StopIteration as ex:
|
|
149
|
-
raise
|
|
150
|
+
raise AngrRuntimeError("Cannot find the start node from the graph!") from ex
|
|
150
151
|
|
|
151
152
|
def _test_reducibility(self):
|
|
152
153
|
# make a copy of the graph
|
|
@@ -5,6 +5,7 @@ import claripy
|
|
|
5
5
|
|
|
6
6
|
from ..structuring.structurer_nodes import ConditionNode, CascadingConditionNode
|
|
7
7
|
from ..sequence_walker import SequenceWalker
|
|
8
|
+
from ....errors import AngrRuntimeError
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class CascadingConditionTransformer(SequenceWalker):
|
|
@@ -88,6 +89,6 @@ class CascadingConditionTransformer(SequenceWalker):
|
|
|
88
89
|
|
|
89
90
|
else:
|
|
90
91
|
# unexpected!
|
|
91
|
-
raise
|
|
92
|
+
raise AngrRuntimeError("Impossible happened")
|
|
92
93
|
|
|
93
94
|
return CascadingConditionNode(cond_node.addr, cond_and_nodes, else_node=else_node)
|
|
@@ -37,7 +37,7 @@ from ....utils.constants import is_alignment_mask
|
|
|
37
37
|
from ....utils.library import get_cpp_function_name
|
|
38
38
|
from ....utils.loader import is_in_readonly_segment, is_in_readonly_section
|
|
39
39
|
from ..utils import structured_node_is_simple_return
|
|
40
|
-
from ....errors import UnsupportedNodeTypeError
|
|
40
|
+
from ....errors import UnsupportedNodeTypeError, AngrRuntimeError
|
|
41
41
|
from ....knowledge_plugins.cfg.memory_data import MemoryData, MemoryDataSort
|
|
42
42
|
from ... import Analysis, register_analysis
|
|
43
43
|
from ..region_identifier import MultiNode
|
|
@@ -1262,7 +1262,9 @@ class CFunctionCall(CStatement, CExpression):
|
|
|
1262
1262
|
if self.is_expr:
|
|
1263
1263
|
return self.prototype.returnty or SimTypeInt(signed=False).with_arch(self.codegen.project.arch)
|
|
1264
1264
|
else:
|
|
1265
|
-
raise
|
|
1265
|
+
raise AngrRuntimeError(
|
|
1266
|
+
"CFunctionCall.type should not be accessed if the function call is used as a statement."
|
|
1267
|
+
)
|
|
1266
1268
|
|
|
1267
1269
|
def _is_target_ambiguous(self, func_name: str) -> bool:
|
|
1268
1270
|
"""
|
|
@@ -3222,8 +3224,12 @@ class CStructuredCodeGenerator(BaseStructuredCodeGenerator, Analysis):
|
|
|
3222
3224
|
return old_ty
|
|
3223
3225
|
|
|
3224
3226
|
if stmt.variable is not None:
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
+
if "struct_member_info" in stmt.tags:
|
|
3228
|
+
offset, var, _ = stmt.struct_member_info
|
|
3229
|
+
cvar = self._variable(var, stmt.size)
|
|
3230
|
+
else:
|
|
3231
|
+
cvar = self._variable(stmt.variable, stmt.size)
|
|
3232
|
+
offset = stmt.offset or 0
|
|
3227
3233
|
assert type(offset) is int # I refuse to deal with the alternative
|
|
3228
3234
|
|
|
3229
3235
|
cdst = self._access_constant_offset(self._get_variable_reference(cvar), offset, cdata.type, True, negotiate)
|
angr/analyses/flirt.py
CHANGED
|
@@ -7,6 +7,7 @@ import nampa
|
|
|
7
7
|
from archinfo.arch_arm import is_arm_arch
|
|
8
8
|
|
|
9
9
|
from ..analyses import AnalysesHub
|
|
10
|
+
from ..errors import AngrRuntimeError
|
|
10
11
|
from ..flirt import FlirtSignature, STRING_TO_LIBRARIES, LIBRARY_TO_SIGNATURES, FLIRT_SIGNATURES_BY_ARCH
|
|
11
12
|
from .analysis import Analysis
|
|
12
13
|
|
|
@@ -49,7 +50,7 @@ class FlirtAnalysis(Analysis):
|
|
|
49
50
|
|
|
50
51
|
else:
|
|
51
52
|
if not FLIRT_SIGNATURES_BY_ARCH:
|
|
52
|
-
raise
|
|
53
|
+
raise AngrRuntimeError(
|
|
53
54
|
"No FLIRT signatures exist. Please load FLIRT signatures by calling "
|
|
54
55
|
"load_signatures() before running FlirtAnalysis."
|
|
55
56
|
)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
4
|
from ...sim_type import SimStruct, SimTypePointer, SimTypeArray
|
|
5
|
+
from ...errors import AngrRuntimeError
|
|
5
6
|
from ..analysis import Analysis, AnalysesHub
|
|
6
7
|
from .simple_solver import SimpleSolver
|
|
7
8
|
from .translator import TypeTranslator
|
|
@@ -112,7 +113,7 @@ class Typehoon(Analysis):
|
|
|
112
113
|
if self._var_mapping is None:
|
|
113
114
|
raise ValueError("Variable mapping does not exist.")
|
|
114
115
|
if self.solution is None:
|
|
115
|
-
raise
|
|
116
|
+
raise AngrRuntimeError("Please run type solver before calling pp_solution().")
|
|
116
117
|
|
|
117
118
|
typevar_to_var = {}
|
|
118
119
|
for k, typevars in self._var_mapping.items():
|
|
@@ -12,6 +12,7 @@ from ailment.expression import BinaryOp, StackBaseOffset
|
|
|
12
12
|
from ...utils.cowdict import DefaultChainMapCOW
|
|
13
13
|
from ...engines.light import SpOffset
|
|
14
14
|
from ...sim_variable import SimVariable
|
|
15
|
+
from ...errors import AngrRuntimeError
|
|
15
16
|
from ...storage.memory_mixins import MultiValuedMemory
|
|
16
17
|
from ..analysis import Analysis
|
|
17
18
|
from ..typehoon.typevars import TypeVariables, TypeVariable
|
|
@@ -328,7 +329,7 @@ class VariableRecoveryStateBase:
|
|
|
328
329
|
base = 0x7F_FFFF_FFFE_0000
|
|
329
330
|
mask = 0xFFFF_FFFF_FFFF_FFFF
|
|
330
331
|
else:
|
|
331
|
-
raise
|
|
332
|
+
raise AngrRuntimeError("Unsupported bits %d" % self.arch.bits)
|
|
332
333
|
return (offset + base) & mask
|
|
333
334
|
|
|
334
335
|
@property
|
angr/calling_conventions.py
CHANGED
angr/errors.py
CHANGED
|
@@ -146,6 +146,7 @@ from .bucketizer import Bucketizer
|
|
|
146
146
|
from .local_loop_seer import LocalLoopSeer
|
|
147
147
|
from .timeout import Timeout
|
|
148
148
|
from .suggestions import Suggestions
|
|
149
|
+
from .stub_stasher import StubStasher
|
|
149
150
|
|
|
150
151
|
__all__ = (
|
|
151
152
|
"ExplorationTechnique",
|
|
@@ -173,4 +174,5 @@ __all__ = (
|
|
|
173
174
|
"LocalLoopSeer",
|
|
174
175
|
"Timeout",
|
|
175
176
|
"Suggestions",
|
|
177
|
+
"StubStasher",
|
|
176
178
|
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from . import ExplorationTechnique
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class StubStasher(ExplorationTechnique):
|
|
5
|
+
"""
|
|
6
|
+
Stash states that reach a stub SimProcedure.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
@staticmethod
|
|
10
|
+
def post_filter(state):
|
|
11
|
+
hook = state.project.hooked_by(state.addr)
|
|
12
|
+
return hook and hook.is_stub
|
|
13
|
+
|
|
14
|
+
def step(self, simgr, stash="active", **kwargs):
|
|
15
|
+
simgr.step(stash=stash, **kwargs)
|
|
16
|
+
simgr.move(stash, "stub", filter_func=self.post_filter)
|
|
17
|
+
return simgr
|
|
@@ -112,6 +112,8 @@ class VariableManagerInternal(Serializable):
|
|
|
112
112
|
# optimization
|
|
113
113
|
self._variables_without_writes = set()
|
|
114
114
|
|
|
115
|
+
self.stack_offset_to_struct_member_info: dict[SimStackVariable, (int, SimStackVariable, SimStruct)] = {}
|
|
116
|
+
|
|
115
117
|
self.ret_val_size = None
|
|
116
118
|
|
|
117
119
|
#
|
|
@@ -972,6 +974,23 @@ class VariableManagerInternal(Serializable):
|
|
|
972
974
|
self.variable_to_types[other_var] = ty
|
|
973
975
|
if mark_manual:
|
|
974
976
|
self.variables_with_manual_types.add(other_var)
|
|
977
|
+
if isinstance(var, SimStackVariable) and isinstance(ty, TypeRef) and isinstance(ty.type, SimStruct):
|
|
978
|
+
self.stack_offset_to_struct_member_info.update(self._extract_fields_from_struct(var, ty.type))
|
|
979
|
+
|
|
980
|
+
def _extract_fields_from_struct(self, var, ty: SimStruct, top_struct_offset=0):
|
|
981
|
+
result = {}
|
|
982
|
+
for name, field_offset in ty.offsets.items():
|
|
983
|
+
field_ty = ty.fields[name]
|
|
984
|
+
offset = top_struct_offset + field_offset
|
|
985
|
+
if isinstance(field_ty, TypeRef):
|
|
986
|
+
field_ty = field_ty.type
|
|
987
|
+
if isinstance(field_ty, SimStruct):
|
|
988
|
+
result.update(
|
|
989
|
+
self._extract_fields_from_struct(var, field_ty, top_struct_offset=top_struct_offset + field_offset)
|
|
990
|
+
)
|
|
991
|
+
else:
|
|
992
|
+
result[var.offset + offset] = (offset, var, ty)
|
|
993
|
+
return result
|
|
975
994
|
|
|
976
995
|
def get_variable_type(self, var) -> SimType | None:
|
|
977
996
|
return self.variable_to_types.get(var, None)
|
angr/lib/angr_native.dylib
CHANGED
|
Binary file
|
|
@@ -84,30 +84,50 @@ class UltraPage(MemoryObjectMixin, PageBase):
|
|
|
84
84
|
self.symbolic_data[global_start_addr - page_addr] = new_item
|
|
85
85
|
result[-1] = (global_start_addr, new_item)
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
subaddr = addr
|
|
88
|
+
end = addr + size
|
|
89
|
+
while subaddr < end:
|
|
88
90
|
realaddr = subaddr + page_addr
|
|
89
91
|
if self.symbolic_bitmap[subaddr]:
|
|
90
92
|
cur_val = self._get_object(subaddr, page_addr, memory=memory)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
# it must be a different object
|
|
94
|
+
cycle(realaddr)
|
|
95
|
+
next_addr = subaddr + 1
|
|
96
|
+
|
|
97
|
+
# figure out how long the current object is (limit end of page)
|
|
98
|
+
if cur_val is None:
|
|
99
|
+
obj_end = end
|
|
93
100
|
else:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
obj_end = subaddr + cur_val.length
|
|
102
|
+
obj_end = min(end, obj_end)
|
|
103
|
+
|
|
104
|
+
# determine how many bytes come from this object
|
|
105
|
+
# loop until: end of object or not symbolic or until next object
|
|
106
|
+
next_place = None
|
|
107
|
+
while next_addr < obj_end and self.symbolic_bitmap[next_addr]:
|
|
108
|
+
if next_addr == subaddr + 1: # first loop
|
|
109
|
+
next_place = self._get_next_place(next_addr)
|
|
110
|
+
if next_place is not None and next_place <= next_addr:
|
|
111
|
+
break
|
|
112
|
+
next_addr += 1
|
|
113
|
+
|
|
114
|
+
subaddr = next_addr
|
|
115
|
+
last_run = symbolic_run = cur_val
|
|
116
|
+
result.append((realaddr, cur_val))
|
|
117
|
+
|
|
97
118
|
else:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
119
|
+
max_concrete_read = subaddr
|
|
120
|
+
while max_concrete_read < end and not self.symbolic_bitmap[max_concrete_read]:
|
|
121
|
+
max_concrete_read += 1
|
|
122
|
+
cur_val = self.concrete_data[subaddr:max_concrete_read]
|
|
123
|
+
subaddr = max_concrete_read
|
|
124
|
+
# we know the last run was not a concrete one
|
|
125
|
+
cycle(realaddr)
|
|
126
|
+
if endness == "Iend_LE":
|
|
127
|
+
last_run = concrete_run = cur_val[::-1]
|
|
107
128
|
else:
|
|
108
|
-
cycle(realaddr)
|
|
109
129
|
last_run = concrete_run = cur_val
|
|
110
|
-
|
|
130
|
+
result.append((realaddr, cur_val))
|
|
111
131
|
|
|
112
132
|
cycle(page_addr + addr + size)
|
|
113
133
|
if not cooperate:
|
|
@@ -134,8 +154,7 @@ class UltraPage(MemoryObjectMixin, PageBase):
|
|
|
134
154
|
addr, data, size, endness, page_addr=page_addr, memory=memory, **kwargs
|
|
135
155
|
)
|
|
136
156
|
|
|
137
|
-
|
|
138
|
-
size = memory.page_size - addr
|
|
157
|
+
size = min(size, memory.page_size - addr)
|
|
139
158
|
|
|
140
159
|
byte_width = memory.state.arch.byte_width
|
|
141
160
|
|
|
@@ -410,6 +429,14 @@ class UltraPage(MemoryObjectMixin, PageBase):
|
|
|
410
429
|
else:
|
|
411
430
|
return None
|
|
412
431
|
|
|
432
|
+
def _get_next_place(self, start):
|
|
433
|
+
try:
|
|
434
|
+
place = next(self.symbolic_data.irange(minimum=start, reverse=False))
|
|
435
|
+
except StopIteration:
|
|
436
|
+
return None
|
|
437
|
+
else:
|
|
438
|
+
return place
|
|
439
|
+
|
|
413
440
|
def replace_all_with_offsets(self, offsets: Iterable[int], old: claripy.ast.BV, new: claripy.ast.BV, memory=None):
|
|
414
441
|
memory_objects = set()
|
|
415
442
|
for offset in sorted(list(offsets)):
|
angr/utils/mp.py
CHANGED
|
@@ -2,6 +2,7 @@ from typing import NamedTuple, Optional, Any
|
|
|
2
2
|
from collections.abc import Callable
|
|
3
3
|
import multiprocessing
|
|
4
4
|
import platform
|
|
5
|
+
from ..errors import AngrRuntimeError
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class Closure(NamedTuple):
|
|
@@ -32,7 +33,7 @@ class Initializer:
|
|
|
32
33
|
|
|
33
34
|
def __init__(self, *, _manual: bool = True):
|
|
34
35
|
if _manual:
|
|
35
|
-
raise
|
|
36
|
+
raise AngrRuntimeError("This is a singleton; call .get() instead")
|
|
36
37
|
self.initializers: list[Closure] = []
|
|
37
38
|
|
|
38
39
|
def register(self, f: Callable[..., None], *args: Any, **kwargs: Any) -> None:
|
angr/utils/segment_list.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# pylint:disable=no-else-break
|
|
2
2
|
import logging
|
|
3
3
|
|
|
4
|
-
from angr.errors import AngrCFGError
|
|
4
|
+
from angr.errors import AngrCFGError, AngrRuntimeError
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
l = logging.getLogger(name=__name__)
|
|
@@ -267,7 +267,7 @@ class SegmentList:
|
|
|
267
267
|
# done
|
|
268
268
|
break
|
|
269
269
|
else:
|
|
270
|
-
raise
|
|
270
|
+
raise AngrRuntimeError("Unreachable reached")
|
|
271
271
|
else: # if segment.start > address
|
|
272
272
|
if address + size <= segment.start:
|
|
273
273
|
# |--- segment ---|
|
|
@@ -293,7 +293,7 @@ class SegmentList:
|
|
|
293
293
|
address = new_address
|
|
294
294
|
idx = self.search(address)
|
|
295
295
|
else:
|
|
296
|
-
raise
|
|
296
|
+
raise AngrRuntimeError("Unreachable reached")
|
|
297
297
|
|
|
298
298
|
def _dbg_output(self):
|
|
299
299
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.105
|
|
4
4
|
Summary: A multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries
|
|
5
5
|
Home-page: https://github.com/angr/angr
|
|
6
6
|
License: BSD-2-Clause
|
|
@@ -15,13 +15,13 @@ Description-Content-Type: text/markdown
|
|
|
15
15
|
License-File: LICENSE
|
|
16
16
|
Requires-Dist: CppHeaderParser
|
|
17
17
|
Requires-Dist: GitPython
|
|
18
|
-
Requires-Dist: ailment ==9.2.
|
|
19
|
-
Requires-Dist: archinfo ==9.2.
|
|
18
|
+
Requires-Dist: ailment ==9.2.105
|
|
19
|
+
Requires-Dist: archinfo ==9.2.105
|
|
20
20
|
Requires-Dist: cachetools
|
|
21
21
|
Requires-Dist: capstone ==5.0.0.post1
|
|
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.105
|
|
24
|
+
Requires-Dist: cle ==9.2.105
|
|
25
25
|
Requires-Dist: dpkt
|
|
26
26
|
Requires-Dist: itanium-demangler
|
|
27
27
|
Requires-Dist: mulpyplexer
|
|
@@ -31,7 +31,7 @@ Requires-Dist: protobuf >=3.19.0
|
|
|
31
31
|
Requires-Dist: psutil
|
|
32
32
|
Requires-Dist: pycparser >=2.18
|
|
33
33
|
Requires-Dist: pyformlang
|
|
34
|
-
Requires-Dist: pyvex ==9.2.
|
|
34
|
+
Requires-Dist: pyvex ==9.2.105
|
|
35
35
|
Requires-Dist: rich >=13.1.0
|
|
36
36
|
Requires-Dist: rpyc
|
|
37
37
|
Requires-Dist: sortedcontainers
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
angr/__init__.py,sha256=
|
|
1
|
+
angr/__init__.py,sha256=RfxYMnkIBUfOzgBPLlO_MLM2oGBEzyrkj1Egm6rRUqE,3993
|
|
2
2
|
angr/__main__.py,sha256=kaO56Te6h73SM94BVtASF00q5QbBbC3eBs9poVc9sVI,1887
|
|
3
3
|
angr/annocfg.py,sha256=1tnBfxgLJh9I6Brm1JDdsWLHGmCQYdD6PTC_bFTOMrg,10775
|
|
4
4
|
angr/blade.py,sha256=B8QXVQ93jz1YCIlb-dZLeBqYmVFdMXI5GleP1Wnxjrw,15519
|
|
5
5
|
angr/block.py,sha256=uinLN30NbaVUcFJNDJaeWTKJiNwVFMte2vaGhYlkD-8,14752
|
|
6
6
|
angr/callable.py,sha256=-E9HelavtRY1xPAxCVXl120H8Rb7Myd2IcrXtWZFAOU,6034
|
|
7
|
-
angr/calling_conventions.py,sha256=
|
|
7
|
+
angr/calling_conventions.py,sha256=JjgIx0PHOfP9O8fcLjaKFEnznDfgmcf8ezMS6s54Me8,91288
|
|
8
8
|
angr/code_location.py,sha256=IudWSR-gJzq_EeVw-jEZvQumVYwUUDWXR1vmLAkS-SQ,5432
|
|
9
9
|
angr/codenode.py,sha256=Di6ZxGqf-e6tKL49Zr0sq4vqpy_-nUDYkBdLj2Tg2Po,3760
|
|
10
|
-
angr/errors.py,sha256=
|
|
10
|
+
angr/errors.py,sha256=Yh_qSz7FjMSqqK9P3CVJHQZUzvTELLg6dRGYyINVZSM,8348
|
|
11
11
|
angr/factory.py,sha256=C6HlSkBcl9T8y8s7EvFwj5JCV2OMyKrd317fqOjKcYQ,17305
|
|
12
12
|
angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
angr/keyed_region.py,sha256=aJzy9-iXxIdJdmrH3fhaM3_KFrGHJUO7YzswjRlrsO0,18109
|
|
@@ -45,7 +45,7 @@ angr/analyses/disassembly.py,sha256=ZBVtHUt2TBDuIz_mIFY_6thJrIxCEucOSoBfbOQVwIs,
|
|
|
45
45
|
angr/analyses/disassembly_utils.py,sha256=4Np0PCPjr0h0jIVzUUG6KzrEKl9--IpTE3sgmmsmhcg,2989
|
|
46
46
|
angr/analyses/dominance_frontier.py,sha256=XRfC_LUUetE8t1Cc9bwvWS9sl63Fx9sp8KFqN_Y9IDg,1245
|
|
47
47
|
angr/analyses/find_objects_static.py,sha256=woA3Fc45jbYMmSps-gOO5DqgPohQbx3LhicfrA6bb34,10158
|
|
48
|
-
angr/analyses/flirt.py,sha256=
|
|
48
|
+
angr/analyses/flirt.py,sha256=fhSUWcNG8c0Pkg4_H0zRh10aM3jaWVPRyC-ZrFbViXk,7841
|
|
49
49
|
angr/analyses/init_finder.py,sha256=hFHPsHipF4QkWzVqcDeTgL6YIaYi8bAyaURZBksS4KI,8531
|
|
50
50
|
angr/analyses/loop_analysis.py,sha256=nIbDIzvys-FRtJYnoZYNbMWH5V88qrhoMtrMRCTbkLY,9412
|
|
51
51
|
angr/analyses/loopfinder.py,sha256=X8F4Dcu2UHDXt6JifK6EfROAeeczyca6V7zxx9z7GpQ,7122
|
|
@@ -89,15 +89,15 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=077fujhixS7fb-AUzS_CRW
|
|
|
89
89
|
angr/analyses/data_dep/dep_nodes.py,sha256=TMp4xOXbOCqjIrmDeP3cef29GexH5WwX2ZKV9yMqoX8,4640
|
|
90
90
|
angr/analyses/data_dep/sim_act_location.py,sha256=4f8jp-ahitxoHCCOSSFGJ1olvNWuHyiE6iOLa5DA0k4,1527
|
|
91
91
|
angr/analyses/decompiler/__init__.py,sha256=RkTvvTwAGpaLdGSTgXxVrKmGEDRxqLCNSB-b8fM6fBM,540
|
|
92
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
92
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=laIPyvY0dCx4CQmo0NFA5Wrr5b_PhrBXyPQonXcnAXs,61625
|
|
93
93
|
angr/analyses/decompiler/ailgraph_walker.py,sha256=sBz9Cn0GtdpuFt7R9y3oX6NFvETQTZRh6N80eM9ZdJQ,1595
|
|
94
94
|
angr/analyses/decompiler/block_io_finder.py,sha256=1-u6h4KUPsX-dkXlXz6hN5ntslhEfV7fKQqjkAZcDO8,10490
|
|
95
95
|
angr/analyses/decompiler/block_similarity.py,sha256=mTpELRDw_qXxjq7B0SzXlBVm3i417Oqu7EzPWx85aUM,6461
|
|
96
96
|
angr/analyses/decompiler/block_simplifier.py,sha256=78vfpaG13JWCxijDrp3Q4wyiEw7hQXngb8itd9y39Os,17227
|
|
97
97
|
angr/analyses/decompiler/call_counter.py,sha256=V3TIaSvLUy9vLEWErnvlCS--_ubGWQAeU0tqq6XYeOU,1205
|
|
98
98
|
angr/analyses/decompiler/callsite_maker.py,sha256=GUgUkSsOznUaTIB9PUoBFyWJp9WkH4T8jf5xBIE5p9M,15909
|
|
99
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
100
|
-
angr/analyses/decompiler/condition_processor.py,sha256=
|
|
99
|
+
angr/analyses/decompiler/clinic.py,sha256=WX-qUGhEbaskyXohsOx148vBDWQOSHvxcJlZd9l1LL0,95749
|
|
100
|
+
angr/analyses/decompiler/condition_processor.py,sha256=L4piCxmoD3xZHQNSZqgj67WBGhljW3bjUii_Nirugm0,49891
|
|
101
101
|
angr/analyses/decompiler/decompilation_cache.py,sha256=NKbvKYZOe7791udwdf70tq9hJe79GMS6M1jaDJC8lSQ,1130
|
|
102
102
|
angr/analyses/decompiler/decompilation_options.py,sha256=FMfcQ0aFDMPW9d0sYpqCwrOVYoq75YkExAvR6CjZCt4,8224
|
|
103
103
|
angr/analyses/decompiler/decompiler.py,sha256=152EWqKPC2J_JcC3_rnJPNL9iDbFTm-AXamm3hjzfFE,22253
|
|
@@ -109,7 +109,7 @@ angr/analyses/decompiler/graph_region.py,sha256=-bPM3JqMA4ZnFhPi6QLGw_M1zPWK_yh0
|
|
|
109
109
|
angr/analyses/decompiler/jump_target_collector.py,sha256=NP-TgRPEkhBkEx4uZwvFLuUjgrvOIfYI3zP5b4WSfco,1138
|
|
110
110
|
angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=dcgnXt3oKa8Qm_KtT-Rl7XDmLetvOj_UFALxC2HGLac,2139
|
|
111
111
|
angr/analyses/decompiler/redundant_label_remover.py,sha256=aYvcQbn0l-LYbJ-DIqGTTLfnL0Hw-OANfFZXnNZH-sE,5324
|
|
112
|
-
angr/analyses/decompiler/region_identifier.py,sha256=
|
|
112
|
+
angr/analyses/decompiler/region_identifier.py,sha256=fcS0jYJmpt3hXE-E8o31lDOKF-ozOMIkSnUOCSAKbM4,45482
|
|
113
113
|
angr/analyses/decompiler/region_walker.py,sha256=lTfweYbY4_a2f2yGztTKG6JtU1jXf-kaz-NHbX9nkXE,717
|
|
114
114
|
angr/analyses/decompiler/return_maker.py,sha256=CztTpm6e3TF0ijdiZDl0HeObxTtOz0TOQd_uIqL0xMM,2467
|
|
115
115
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=2KINMEgaXMG3XIiFDMRkbn10dggy7a9AHgwV383huRM,529
|
|
@@ -193,7 +193,7 @@ angr/analyses/decompiler/peephole_optimizations/single_bit_cond_to_boolexpr.py,s
|
|
|
193
193
|
angr/analyses/decompiler/peephole_optimizations/single_bit_xor.py,sha256=vqIw5ewmvbNtj86sB2eG_JLvya0bZOKFktyiWNkGyn8,940
|
|
194
194
|
angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=CVNGZPN4YSu7169-UXR6mlm8yf5VSajoB4yksgfIa6E,4820
|
|
195
195
|
angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=ZeURg5mKbKRpwo8-SqxJ0jy_A6nNpZMxiKpjZJ0_RS0,48
|
|
196
|
-
angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=
|
|
196
|
+
angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=PQTkQg_-NSR-0dLAjDdwNHs5b82cmsM15m3OStXg-dg,3734
|
|
197
197
|
angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=dbAn1fde1-kiF6A9060wEqPKcE3DeBd2Ltt_2UAEdo4,2490
|
|
198
198
|
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=gBFr98420bdkmlPMypwU28V2c9PRtBKiRkDv10ne4Ag,24075
|
|
199
199
|
angr/analyses/decompiler/region_simplifiers/goto.py,sha256=08f-7tVw6w-1Kqaf0py7wdNrfEGTB0uhzTJyBaQVVcw,5996
|
|
@@ -206,7 +206,7 @@ angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=
|
|
|
206
206
|
angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=HGIiC6c3C91VfcqxUHe9aTsRohwmMXOHZH_G_dbwwx4,3327
|
|
207
207
|
angr/analyses/decompiler/structured_codegen/__init__.py,sha256=NLEvs8xnJwJiUgX8AmgS7rtFFW4SxtQcA1AjzE-GryA,313
|
|
208
208
|
angr/analyses/decompiler/structured_codegen/base.py,sha256=TdghqAsAkjZpPfzFarh8Wn1zfBYMFcMsBZhRqXgoPNo,3778
|
|
209
|
-
angr/analyses/decompiler/structured_codegen/c.py,sha256=
|
|
209
|
+
angr/analyses/decompiler/structured_codegen/c.py,sha256=YcvlggO1mRMbiXZoGMJOj2L09BE2TwaHP5OCwEjAvbo,135539
|
|
210
210
|
angr/analyses/decompiler/structured_codegen/dummy.py,sha256=IVfmtcWpTgNCRVsuW3GdQgDnuPmvodX85V0bBYtF_BI,535
|
|
211
211
|
angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=TMz65TkF_ID_Ipocj0aFDb84H6slolN90wq0tzhY2Rk,6773
|
|
212
212
|
angr/analyses/decompiler/structuring/__init__.py,sha256=Ai63Im5VSiMDP8ACiDb34chqMl84JgzQXFIO8MV7hl0,368
|
|
@@ -282,7 +282,7 @@ angr/analyses/typehoon/lifter.py,sha256=3RogUtd8O6txb7_UAjbI7Bn1hc38oP_LsRYyBsPs
|
|
|
282
282
|
angr/analyses/typehoon/simple_solver.py,sha256=JWtFIWT6Wlm7kM6KH28dfwm4kvni-PHJjnPRWLmzLr4,48377
|
|
283
283
|
angr/analyses/typehoon/translator.py,sha256=HLPNDkkl8daZy_mLXvDm3AoBD8auLze3MnkbhRxIMZc,8559
|
|
284
284
|
angr/analyses/typehoon/typeconsts.py,sha256=yrPpW-EFNwI0vsO9ipVp2wIHsWPoZjXug1sdFHq1R6g,6973
|
|
285
|
-
angr/analyses/typehoon/typehoon.py,sha256=
|
|
285
|
+
angr/analyses/typehoon/typehoon.py,sha256=Ak0T9DL8kMl__YdJkJUoiN92cRzpUSuyjalKQk3Jbww,9368
|
|
286
286
|
angr/analyses/typehoon/typevars.py,sha256=2MNNyTSjmKXGIcLqwbO5qKIef5EHoWttjFPFGTfhfGw,15777
|
|
287
287
|
angr/analyses/typehoon/variance.py,sha256=VPuBrPmbw5RgNG5SUTNFEd5rr4v3V_qD1vgilqWvdrs,158
|
|
288
288
|
angr/analyses/variable_recovery/__init__.py,sha256=j2SZyfzCAagqNTj0IcYJtOx4b3oAvhEY9GR3hb0bx4o,105
|
|
@@ -292,7 +292,7 @@ angr/analyses/variable_recovery/engine_base.py,sha256=HVCtyY4tgx8cjHyP1aPoCCgW57
|
|
|
292
292
|
angr/analyses/variable_recovery/engine_vex.py,sha256=ni-OCeHFhhPRo5iH2p4AvI_43ADOO1jUc__GX0tIb-U,19215
|
|
293
293
|
angr/analyses/variable_recovery/irsb_scanner.py,sha256=IZVaL_axfPBcM_MvjIOXwICK3otK3B5AIbwjhVscylc,4878
|
|
294
294
|
angr/analyses/variable_recovery/variable_recovery.py,sha256=-chYezAPEMrgwu_w3pBv_uzGnJb1wi3zsa1DLPdTya8,21777
|
|
295
|
-
angr/analyses/variable_recovery/variable_recovery_base.py,sha256=
|
|
295
|
+
angr/analyses/variable_recovery/variable_recovery_base.py,sha256=EhqACAQwd6qKWC19-kbTvXEio3k9JNc3cyYg4MLHebw,14962
|
|
296
296
|
angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=_eOpy1qppTti2P7Sn0MK3IMLQfYw1-V7AoZkmSizYjc,24070
|
|
297
297
|
angr/angrdb/__init__.py,sha256=df9W7J7c4rD5oYx6fZGf0BIBwOqVVJlIJTDrAtQChqY,231
|
|
298
298
|
angr/angrdb/db.py,sha256=tVrjdgEWZC0HeBVdOQ1nG0lKPwsvlITk2u4eCPMfG-4,6416
|
|
@@ -407,7 +407,7 @@ angr/engines/vex/light/__init__.py,sha256=WblrLgYRbdBAvNGbkzGsTgOq2A_pUBJP-FxANP
|
|
|
407
407
|
angr/engines/vex/light/light.py,sha256=CZFEgsXM-CSwVexiu6WFikjwXvpAyCR66HjVT--3_0g,21698
|
|
408
408
|
angr/engines/vex/light/resilience.py,sha256=FaHiSMv_hsIiNEqA2Wga2F3bVyXGPtWudL00785ebEs,2002
|
|
409
409
|
angr/engines/vex/light/slicing.py,sha256=lGZsF5_xtVKjCJmD2FMABkyz-kZWctWOMjuWnFWpe2g,2023
|
|
410
|
-
angr/exploration_techniques/__init__.py,sha256=
|
|
410
|
+
angr/exploration_techniques/__init__.py,sha256=ywiuWYV080w7n4HQUd40DNDfL5FwDVPFlySD2KLRzfM,7037
|
|
411
411
|
angr/exploration_techniques/bucketizer.py,sha256=H-5QyOfDNdCSTbCk8MQluwi9C9Y0iE7E1s_4EAb3LXk,2588
|
|
412
412
|
angr/exploration_techniques/common.py,sha256=7vKlFQjuVoTmtKgYbYjhg67-e3weTzFtU2hC91wHHtI,2262
|
|
413
413
|
angr/exploration_techniques/dfs.py,sha256=IpEmTGVqGAKUCmchKBR_w0SISIsBlNRjdp6sgZlcWis,1167
|
|
@@ -424,6 +424,7 @@ angr/exploration_techniques/slicecutor.py,sha256=qGX-9t28CiSXiDoz-dbE6X6oqpGt8Vq
|
|
|
424
424
|
angr/exploration_techniques/spiller.py,sha256=2_Jf8OyttY58-q9TvcvBrjb-1DOOZ4o0kkd_3O1RMUk,9382
|
|
425
425
|
angr/exploration_techniques/spiller_db.py,sha256=9Q855QsH96ZxGe7d0cv9YTcQrjd8E4X8WG4mZQgJRP4,818
|
|
426
426
|
angr/exploration_techniques/stochastic.py,sha256=gmFim2h9sFhoeC-zlpGCS0iUDkvM2wwKa_mN5Cc7mmQ,2059
|
|
427
|
+
angr/exploration_techniques/stub_stasher.py,sha256=lGSBgOG4v1bGl5k_lWplkOIL3uWv_Ns9RJoe8rZ2V8k,459
|
|
427
428
|
angr/exploration_techniques/suggestions.py,sha256=GICcH_fIA1ltIwQlbSMse5f1HJ0jdwtpNdnHfVFScXA,6969
|
|
428
429
|
angr/exploration_techniques/symbion.py,sha256=o-o_ZdbSMZCjA0_uV4TJV6jdtZXq2cO3KYzv038rJbQ,3122
|
|
429
430
|
angr/exploration_techniques/tech_builder.py,sha256=UWmOE7GqQkZj_X_kR4Un7rDZyB4oL84Q6L-nLaU1i70,1586
|
|
@@ -483,12 +484,12 @@ angr/knowledge_plugins/sync/__init__.py,sha256=RN3y0UhYax-GdPyAhondMXEBuWIu-enHj
|
|
|
483
484
|
angr/knowledge_plugins/sync/sync_controller.py,sha256=gZ1NUg8iJWu2EaOYY6WYj_W13tRtreIu5CA1VvpTmTA,9270
|
|
484
485
|
angr/knowledge_plugins/variables/__init__.py,sha256=tmh_2i0X6Y41TkEgxHRQ4y-kVEGZnlDIpJZ_wUkCISI,60
|
|
485
486
|
angr/knowledge_plugins/variables/variable_access.py,sha256=RzT-6C3cPXqSlWpQ_vZUf6s4tfYXp2lfOvgfYWkTLyo,3726
|
|
486
|
-
angr/knowledge_plugins/variables/variable_manager.py,sha256=
|
|
487
|
+
angr/knowledge_plugins/variables/variable_manager.py,sha256=r8w2xIP-VN1_DS3r9y2GK3LAy8fMndL1m-7_obiIsbY,47315
|
|
487
488
|
angr/knowledge_plugins/xrefs/__init__.py,sha256=-5A2h048WTRu6Et7q7bqlc-AyBXNuJ9AF9nE9zc3M4I,94
|
|
488
489
|
angr/knowledge_plugins/xrefs/xref.py,sha256=1BMphrr8iViDtVWPXWidmY1_uNmw9LRvEwwZLt3Zqw8,4907
|
|
489
490
|
angr/knowledge_plugins/xrefs/xref_manager.py,sha256=a4uvTJkdM0PQIuyYcd7t76IddrrVjPGe9SZrRaqp2II,3980
|
|
490
491
|
angr/knowledge_plugins/xrefs/xref_types.py,sha256=VR3xLQQ-gUg25oX0OL3BJHyQRlZh2A8syBac9ZMS9n4,271
|
|
491
|
-
angr/lib/angr_native.dylib,sha256=
|
|
492
|
+
angr/lib/angr_native.dylib,sha256=qDjB4_k-b1rHQ-aoqVAmcuyq6Ln2U2CX5Qk2lmUiYhk,16188112
|
|
492
493
|
angr/misc/__init__.py,sha256=Ct-Q6-c-Frdz5Ihkqmou3j_1jyJi8WJXlQxs-gPQg0Y,237
|
|
493
494
|
angr/misc/ansi.py,sha256=m5RY65yyvluUJErkvCF4I4z1o5kXi2xb3Yuvt9bITCA,776
|
|
494
495
|
angr/misc/autoimport.py,sha256=vSXclz6pss3lMecoT5_doX0SvORNmZPIvVyDm4je4HE,3419
|
|
@@ -1265,7 +1266,7 @@ angr/storage/memory_mixins/paged_memory/pages/multi_values.py,sha256=hW-8svWpMJj
|
|
|
1265
1266
|
angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py,sha256=7pAL_YxTNEx1d7qTpJqrXIRKMB04SN4ASwz6vfyBbCk,17671
|
|
1266
1267
|
angr/storage/memory_mixins/paged_memory/pages/permissions_mixin.py,sha256=Ek2YSmFOGUScFXPx8hqroNkl3gK1aqKCMv_X3_pImLs,830
|
|
1267
1268
|
angr/storage/memory_mixins/paged_memory/pages/refcount_mixin.py,sha256=oES5tahTy4SgyDi2h5oRRC0PC4JHNcIvdAC4INKkeJw,1701
|
|
1268
|
-
angr/storage/memory_mixins/paged_memory/pages/ultra_page.py,sha256=
|
|
1269
|
+
angr/storage/memory_mixins/paged_memory/pages/ultra_page.py,sha256=JIgC5wpl006FEFyDg_Z_gvEtMWJ0G0OWq9y8PcnFOzA,20062
|
|
1269
1270
|
angr/storage/memory_mixins/regioned_memory/__init__.py,sha256=qFW74mjzZmHnIX-cyvOHhOFWSJOdQwcPUm_IhDryObo,351
|
|
1270
1271
|
angr/storage/memory_mixins/regioned_memory/abstract_address_descriptor.py,sha256=9p4Eo7zE-gqfodF1P80GMEgCONpP4Qy90zzyY3ivbII,1094
|
|
1271
1272
|
angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py,sha256=KW8zdtvWh1I00NXdDYrP3dyIJguWIu0DqRVqMVRsUtw,1333
|
|
@@ -1288,13 +1289,13 @@ angr/utils/graph.py,sha256=baLY5RJYp06XXBKrqtEIu8b7wpWYSxwVODbIFUxm3Kc,28347
|
|
|
1288
1289
|
angr/utils/lazy_import.py,sha256=VgN0-cMsr6XdGIq56Js1X8YecfPdW9Z4NrB3d2jD-5Y,308
|
|
1289
1290
|
angr/utils/library.py,sha256=6RKKn7Hm-YEw0AoTFIjL86kCdvglKI_5KtSysDAE06Q,7170
|
|
1290
1291
|
angr/utils/loader.py,sha256=QdkatPiyRfz5KdfCzRI1Xp3TJL_Pa75wY0dsILgMbwk,1944
|
|
1291
|
-
angr/utils/mp.py,sha256=
|
|
1292
|
-
angr/utils/segment_list.py,sha256=
|
|
1292
|
+
angr/utils/mp.py,sha256=cv_NeysxLgyCdE-Euefnfv078ia5maHSnUn9f23zz88,1882
|
|
1293
|
+
angr/utils/segment_list.py,sha256=5nnuVtdZk9NS2y_xUBVA9khWPueP_zagNtPSjaoMHbA,20410
|
|
1293
1294
|
angr/utils/timing.py,sha256=uOowCP8kotDrKDOjlAod-guBuYkAA8zEtiAwpdwMlIU,1334
|
|
1294
1295
|
angr/utils/typing.py,sha256=pCjA7JZAzcvrk-iyIE2cRHc1G66AMSGEON3aFfjtPVc,431
|
|
1295
|
-
angr-9.2.
|
|
1296
|
-
angr-9.2.
|
|
1297
|
-
angr-9.2.
|
|
1298
|
-
angr-9.2.
|
|
1299
|
-
angr-9.2.
|
|
1300
|
-
angr-9.2.
|
|
1296
|
+
angr-9.2.105.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
|
|
1297
|
+
angr-9.2.105.dist-info/METADATA,sha256=V1M9-4al8xY_0eM5h_mQmwbpCgm3I3F9M2tUD-IaWJw,4707
|
|
1298
|
+
angr-9.2.105.dist-info/WHEEL,sha256=S7b8YYk-yJ5La3yIsS368T2_Hd_9s929Seaql3JcY7Q,106
|
|
1299
|
+
angr-9.2.105.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1300
|
+
angr-9.2.105.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1301
|
+
angr-9.2.105.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|