angr 9.2.122__py3-none-macosx_11_0_arm64.whl → 9.2.123__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/calling_convention.py +6 -1
- angr/analyses/decompiler/ail_simplifier.py +22 -323
- angr/analyses/decompiler/clinic.py +3 -2
- angr/analyses/decompiler/dephication/rewriting_engine.py +1 -1
- angr/analyses/decompiler/expression_narrower.py +201 -5
- angr/analyses/decompiler/optimization_passes/ite_region_converter.py +11 -7
- angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +10 -1
- angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py +73 -42
- angr/analyses/decompiler/region_simplifiers/expr_folding.py +4 -0
- angr/analyses/decompiler/sequence_walker.py +20 -4
- angr/analyses/s_propagator.py +10 -6
- angr/calling_conventions.py +2 -2
- angr/engines/light/engine.py +12 -2
- angr/engines/soot/expressions/instanceOf.py +4 -1
- angr/engines/successors.py +1 -1
- angr/engines/vex/heavy/concretizers.py +47 -47
- angr/engines/vex/heavy/dirty.py +4 -4
- angr/lib/angr_native.dylib +0 -0
- angr/procedures/java_lang/getsimplename.py +4 -1
- angr/procedures/linux_kernel/iovec.py +5 -2
- angr/sim_type.py +3 -1
- {angr-9.2.122.dist-info → angr-9.2.123.dist-info}/METADATA +7 -6
- {angr-9.2.122.dist-info → angr-9.2.123.dist-info}/RECORD +28 -28
- {angr-9.2.122.dist-info → angr-9.2.123.dist-info}/LICENSE +0 -0
- {angr-9.2.122.dist-info → angr-9.2.123.dist-info}/WHEEL +0 -0
- {angr-9.2.122.dist-info → angr-9.2.123.dist-info}/entry_points.txt +0 -0
- {angr-9.2.122.dist-info → angr-9.2.123.dist-info}/top_level.txt +0 -0
|
@@ -23,7 +23,7 @@ def concretize_2xm1(state, args):
|
|
|
23
23
|
# 2xm1(x) = 2 ** x - 1. Concretize 2**x part alone since only that cannot be modelled in Z3.
|
|
24
24
|
arg_x = state.solver.eval(args[1])
|
|
25
25
|
if -1 <= arg_x <= 1:
|
|
26
|
-
return
|
|
26
|
+
return claripy.FPV(math.pow(2, arg_x) - 1, claripy.FSORT_DOUBLE)
|
|
27
27
|
|
|
28
28
|
# If x is outside range [-1.0, 1.0], result is undefined. We return argument itself as observed on an Intel CPU.
|
|
29
29
|
return args[1]
|
|
@@ -31,26 +31,26 @@ def concretize_2xm1(state, args):
|
|
|
31
31
|
|
|
32
32
|
def concretize_abs_float64(state, args):
|
|
33
33
|
arg_val = state.solver.eval(args[0])
|
|
34
|
-
return
|
|
34
|
+
return claripy.FPV(abs(arg_val), args[0].sort)
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
def concretize_add_float64(state, args):
|
|
38
38
|
arg0 = state.solver.eval(args[1])
|
|
39
39
|
arg1 = state.solver.eval(args[2])
|
|
40
|
-
return
|
|
40
|
+
return claripy.FPV(arg0 + arg1, claripy.FSORT_DOUBLE)
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
def concretize_add32f04(state, args):
|
|
44
44
|
fp_arg0 = state.solver.eval(args[0][31:0].raw_to_fp())
|
|
45
45
|
fp_arg1 = state.solver.eval(args[1][31:0].raw_to_fp())
|
|
46
|
-
result =
|
|
46
|
+
result = claripy.FPV(fp_arg0 + fp_arg1, claripy.FSORT_FLOAT).raw_to_bv()
|
|
47
47
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
def concretize_add64f02(state, args):
|
|
51
51
|
fp_arg0 = state.solver.eval(args[0][63:0].raw_to_fp())
|
|
52
52
|
fp_arg1 = state.solver.eval(args[1][63:0].raw_to_fp())
|
|
53
|
-
result =
|
|
53
|
+
result = claripy.FPV(fp_arg0 + fp_arg1, claripy.FSORT_DOUBLE).raw_to_bv()
|
|
54
54
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
55
55
|
|
|
56
56
|
|
|
@@ -71,18 +71,18 @@ def concretize_divf64(state, args):
|
|
|
71
71
|
arg1 = state.solver.eval(args[1])
|
|
72
72
|
arg2 = state.solver.eval(args[2])
|
|
73
73
|
if arg2 == 0:
|
|
74
|
-
return
|
|
74
|
+
return claripy.FPV(math.inf, args[1].sort)
|
|
75
75
|
|
|
76
|
-
return
|
|
76
|
+
return claripy.FPV(arg1 / arg2, args[1].sort)
|
|
77
77
|
|
|
78
78
|
|
|
79
79
|
def concretize_div32f04(state, args):
|
|
80
80
|
fp_arg0 = state.solver.eval(args[0][31:0].raw_to_fp())
|
|
81
81
|
fp_arg1 = state.solver.eval(args[1][31:0].raw_to_fp())
|
|
82
82
|
if fp_arg1 == 0:
|
|
83
|
-
result =
|
|
83
|
+
result = claripy.FPV(math.inf, claripy.FSORT_FLOAT).raw_to_bv()
|
|
84
84
|
else:
|
|
85
|
-
result =
|
|
85
|
+
result = claripy.FPV(fp_arg0 / fp_arg1, claripy.FSORT_FLOAT).raw_to_bv()
|
|
86
86
|
|
|
87
87
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
88
88
|
|
|
@@ -91,21 +91,21 @@ def concretize_div64f02(state, args):
|
|
|
91
91
|
fp_arg0 = state.solver.eval(args[0][63:0].raw_to_fp())
|
|
92
92
|
fp_arg1 = state.solver.eval(args[1][63:0].raw_to_fp())
|
|
93
93
|
if fp_arg1 == 0:
|
|
94
|
-
result =
|
|
94
|
+
result = claripy.FPV(math.inf, claripy.FSORT_DOUBLE).raw_to_bv()
|
|
95
95
|
else:
|
|
96
|
-
result =
|
|
96
|
+
result = claripy.FPV(fp_arg0 / fp_arg1, claripy.FSORT_DOUBLE).raw_to_bv()
|
|
97
97
|
|
|
98
98
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
def concretize_float32_to_float64(state, args):
|
|
102
102
|
arg0 = state.solver.eval(args[0])
|
|
103
|
-
return
|
|
103
|
+
return claripy.FPV(arg0, claripy.FSORT_DOUBLE)
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
def concretize_float64_to_float32(state, args):
|
|
107
107
|
arg = state.solver.eval(args[1])
|
|
108
|
-
return
|
|
108
|
+
return claripy.FPV(arg, claripy.FSORT_FLOAT)
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
def concretize_float64_to_int64s(state, args):
|
|
@@ -127,20 +127,20 @@ def concretize_int64s_to_float64(state, args):
|
|
|
127
127
|
def concretize_mulf64(state, args):
|
|
128
128
|
arg1 = state.solver.eval(args[1])
|
|
129
129
|
arg2 = state.solver.eval(args[2])
|
|
130
|
-
return
|
|
130
|
+
return claripy.FPV(arg1 / arg2, args[1].sort)
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
def concretize_mul32f04(state, args):
|
|
134
134
|
fp_arg0 = state.solver.eval(args[0][31:0].raw_to_fp())
|
|
135
135
|
fp_arg1 = state.solver.eval(args[1][31:0].raw_to_fp())
|
|
136
|
-
result =
|
|
136
|
+
result = claripy.FPV(fp_arg0 * fp_arg1, claripy.FSORT_FLOAT).raw_to_bv()
|
|
137
137
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
138
138
|
|
|
139
139
|
|
|
140
140
|
def concretize_mul64f02(state, args):
|
|
141
141
|
fp_arg0 = state.solver.eval(args[0][63:0].raw_to_fp())
|
|
142
142
|
fp_arg1 = state.solver.eval(args[1][63:0].raw_to_fp())
|
|
143
|
-
result =
|
|
143
|
+
result = claripy.FPV(fp_arg0 * fp_arg1, claripy.FSORT_DOUBLE).raw_to_bv()
|
|
144
144
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
145
145
|
|
|
146
146
|
|
|
@@ -149,24 +149,24 @@ def concretize_fscale(state, args):
|
|
|
149
149
|
arg_x = state.solver.eval(args[1])
|
|
150
150
|
arg_y = math.floor(state.solver.eval(args[2]))
|
|
151
151
|
if math.isnan(arg_x) or math.isnan(arg_y):
|
|
152
|
-
return
|
|
152
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
153
153
|
|
|
154
154
|
if abs(arg_x) == math.inf and arg_y == -1 * math.inf:
|
|
155
|
-
return
|
|
155
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
156
156
|
|
|
157
157
|
if arg_x == 0.0 and arg_y == math.inf:
|
|
158
|
-
return
|
|
158
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
159
159
|
|
|
160
|
-
return
|
|
160
|
+
return claripy.FPV(arg_x * math.pow(2, arg_y), claripy.FSORT_DOUBLE)
|
|
161
161
|
|
|
162
162
|
|
|
163
163
|
def concretize_fsqrt(state, args):
|
|
164
164
|
# Concretize floating point square root. Z3 does support square root but unsure if that includes floating point
|
|
165
165
|
arg_1 = state.solver.eval(args[1])
|
|
166
166
|
if arg_1 < 0 or math.isnan(arg_1):
|
|
167
|
-
return
|
|
167
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
168
168
|
|
|
169
|
-
return
|
|
169
|
+
return claripy.FPV(math.sqrt(arg_1), claripy.FSORT_DOUBLE)
|
|
170
170
|
|
|
171
171
|
|
|
172
172
|
def concretize_prem(state, args):
|
|
@@ -175,7 +175,7 @@ def concretize_prem(state, args):
|
|
|
175
175
|
dividend = state.solver.eval(args[1])
|
|
176
176
|
divisor = state.solver.eval(args[2])
|
|
177
177
|
if math.isnan(dividend) or math.isnan(divisor) or abs(dividend) == math.inf or divisor == 0.0:
|
|
178
|
-
return
|
|
178
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
179
179
|
|
|
180
180
|
if abs(divisor) == math.inf or dividend == 0.0:
|
|
181
181
|
return args[1]
|
|
@@ -194,9 +194,9 @@ def concretize_prem(state, args):
|
|
|
194
194
|
|
|
195
195
|
if result == 0.0 and math.copysign(1.0, dividend) < 0:
|
|
196
196
|
# According to Intel manual, if result is 0, its sign should be same as that of dividend.
|
|
197
|
-
return
|
|
197
|
+
return claripy.FPV(-0.0, claripy.FSORT_DOUBLE)
|
|
198
198
|
|
|
199
|
-
return
|
|
199
|
+
return claripy.FPV(result, claripy.FSORT_DOUBLE)
|
|
200
200
|
|
|
201
201
|
|
|
202
202
|
def concretize_prem_flags(state, args):
|
|
@@ -241,20 +241,20 @@ def concretize_prem_flags(state, args):
|
|
|
241
241
|
|
|
242
242
|
|
|
243
243
|
def concretize_reinterp_float64_as_int64(state, args):
|
|
244
|
-
return
|
|
244
|
+
return claripy.FPV(state.solver.eval(args[0]), args[0].sort).raw_to_bv()
|
|
245
245
|
|
|
246
246
|
|
|
247
247
|
def concretize_sub32f04(state, args):
|
|
248
248
|
fp_arg0 = state.solver.eval(args[0][31:0].raw_to_fp())
|
|
249
249
|
fp_arg1 = state.solver.eval(args[1][31:0].raw_to_fp())
|
|
250
|
-
result =
|
|
250
|
+
result = claripy.FPV(fp_arg0 - fp_arg1, claripy.FSORT_FLOAT).raw_to_bv()
|
|
251
251
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
252
252
|
|
|
253
253
|
|
|
254
254
|
def concretize_sub64f02(state, args):
|
|
255
255
|
fp_arg0 = state.solver.eval(args[0][63:0].raw_to_fp())
|
|
256
256
|
fp_arg1 = state.solver.eval(args[1][63:0].raw_to_fp())
|
|
257
|
-
result =
|
|
257
|
+
result = claripy.FPV(fp_arg0 - fp_arg1, claripy.FSORT_DOUBLE).raw_to_bv()
|
|
258
258
|
return claripy.Concat(args[0][(args[0].length - 1) : result.size()], result)
|
|
259
259
|
|
|
260
260
|
|
|
@@ -265,18 +265,18 @@ def concretize_trig_cos(state, args):
|
|
|
265
265
|
abs_arg_x = abs(arg_x)
|
|
266
266
|
|
|
267
267
|
if math.isnan(abs_arg_x):
|
|
268
|
-
return
|
|
268
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
269
269
|
|
|
270
270
|
if abs_arg_x == math.inf:
|
|
271
271
|
# Floating-point invalid-operation exception
|
|
272
|
-
return
|
|
272
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
273
273
|
|
|
274
274
|
if abs_arg_x > pow(2, 63):
|
|
275
275
|
# Intel manual says argument must be in range [-2^63, 2^63]. Otherwise, floating-point invalid-operation
|
|
276
276
|
# exception: leave value changed
|
|
277
277
|
return args[1]
|
|
278
278
|
|
|
279
|
-
return
|
|
279
|
+
return claripy.FPV(math.cos(arg_x), claripy.FSORT_DOUBLE)
|
|
280
280
|
|
|
281
281
|
|
|
282
282
|
def concretize_trig_sin(state, args):
|
|
@@ -286,18 +286,18 @@ def concretize_trig_sin(state, args):
|
|
|
286
286
|
abs_arg_x = abs(arg_x)
|
|
287
287
|
|
|
288
288
|
if math.isnan(abs_arg_x):
|
|
289
|
-
return
|
|
289
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
290
290
|
|
|
291
291
|
if abs_arg_x == math.inf:
|
|
292
292
|
# Floating-point invalid-operation exception
|
|
293
|
-
return
|
|
293
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
294
294
|
|
|
295
295
|
if abs_arg_x > pow(2, 63):
|
|
296
296
|
# Intel manual says argument must be in range [-2^63, 2^63]. Otherwise, floating-point invalid-operation
|
|
297
297
|
# exception: leave value changed
|
|
298
298
|
return args[1]
|
|
299
299
|
|
|
300
|
-
return
|
|
300
|
+
return claripy.FPV(math.sin(arg_x), claripy.FSORT_DOUBLE)
|
|
301
301
|
|
|
302
302
|
|
|
303
303
|
def concretize_trig_tan(state, args):
|
|
@@ -307,18 +307,18 @@ def concretize_trig_tan(state, args):
|
|
|
307
307
|
abs_arg_x = abs(arg_x)
|
|
308
308
|
|
|
309
309
|
if math.isnan(abs_arg_x):
|
|
310
|
-
return
|
|
310
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
311
311
|
|
|
312
312
|
if abs_arg_x == math.inf:
|
|
313
313
|
# Floating-point invalid-operation exception
|
|
314
|
-
return
|
|
314
|
+
return claripy.FPV(math.nan, claripy.FSORT_DOUBLE)
|
|
315
315
|
|
|
316
316
|
if abs_arg_x > pow(2, 63):
|
|
317
317
|
# Intel manual says argument must be in range [-2^63, 2^63]. Otherwise, floating-point invalid-operation
|
|
318
318
|
# exception: leave value changed
|
|
319
319
|
return args[1]
|
|
320
320
|
|
|
321
|
-
return
|
|
321
|
+
return claripy.FPV(math.tan(arg_x), claripy.FSORT_DOUBLE)
|
|
322
322
|
|
|
323
323
|
|
|
324
324
|
def concretize_yl2x(state, args):
|
|
@@ -330,35 +330,35 @@ def concretize_yl2x(state, args):
|
|
|
330
330
|
arg_y = state.solver.eval(args[1])
|
|
331
331
|
if arg_x < 0:
|
|
332
332
|
# TODO: Indicate floating-point invalid-operation exception
|
|
333
|
-
return
|
|
333
|
+
return claripy.FPV(arg_x, claripy.FSORT_DOUBLE)
|
|
334
334
|
|
|
335
335
|
if arg_x == 0:
|
|
336
336
|
if abs(arg_y) == math.inf:
|
|
337
|
-
return
|
|
337
|
+
return claripy.FPV(-1 * arg_y, claripy.FSORT_DOUBLE)
|
|
338
338
|
if arg_y == 0:
|
|
339
339
|
# TODO: Indicate floating-point invalid-operation exception
|
|
340
|
-
return
|
|
340
|
+
return claripy.FPV(arg_x, claripy.FSORT_DOUBLE)
|
|
341
341
|
# TODO: Indicate floating-point zero-division exception
|
|
342
|
-
return
|
|
342
|
+
return claripy.FPV(arg_x, claripy.FSORT_DOUBLE)
|
|
343
343
|
|
|
344
344
|
if arg_x == 1:
|
|
345
345
|
if abs(arg_y) == math.inf:
|
|
346
346
|
# TODO: Indicate floating-point invalid-operation exception
|
|
347
|
-
return
|
|
347
|
+
return claripy.FPV(arg_x, claripy.FSORT_DOUBLE)
|
|
348
348
|
|
|
349
349
|
# TODO: How to distinguish between +0 and -0?
|
|
350
|
-
return
|
|
350
|
+
return claripy.FPV(0, claripy.FSORT_DOUBLE)
|
|
351
351
|
|
|
352
352
|
if arg_x == math.inf:
|
|
353
353
|
if arg_y == 0:
|
|
354
354
|
# TODO: Indicate floating-point invalid-operation exception
|
|
355
|
-
return
|
|
355
|
+
return claripy.FPV(arg_x, claripy.FSORT_DOUBLE)
|
|
356
356
|
if arg_y < 0:
|
|
357
|
-
return
|
|
357
|
+
return claripy.FPV(-1 * math.inf, claripy.FSORT_DOUBLE)
|
|
358
358
|
|
|
359
|
-
return
|
|
359
|
+
return claripy.FPV(math.inf, claripy.FSORT_DOUBLE)
|
|
360
360
|
|
|
361
|
-
return
|
|
361
|
+
return claripy.FPV(arg_y * math.log2(arg_x), claripy.FSORT_DOUBLE)
|
|
362
362
|
|
|
363
363
|
|
|
364
364
|
concretizers = {
|
angr/engines/vex/heavy/dirty.py
CHANGED
|
@@ -19,12 +19,12 @@ l = logging.getLogger(name=__name__)
|
|
|
19
19
|
# http://www-inteng.fnal.gov/Integrated_Eng/GoodwinDocs/pdf/Sys%20docs/PowerPC/PowerPC%20Elapsed%20Time.pdf
|
|
20
20
|
# and
|
|
21
21
|
# http://www.cap-lore.com/code/TB/
|
|
22
|
-
def ppcg_dirtyhelper_MFTB(state):
|
|
22
|
+
def ppcg_dirtyhelper_MFTB(state): # pylint:disable=unused-argument
|
|
23
23
|
# TODO: This is an incorrect implementation. Fix it later!
|
|
24
24
|
return claripy.BVV(0x200, 64), []
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
def ppc32g_dirtyhelper_MFSPR_287(state):
|
|
27
|
+
def ppc32g_dirtyhelper_MFSPR_287(state): # pylint:disable=unused-argument
|
|
28
28
|
return claripy.BVV(0x200, 32), []
|
|
29
29
|
|
|
30
30
|
|
|
@@ -119,8 +119,8 @@ EmWarn_S390X_fpext_rounding = 10
|
|
|
119
119
|
EmWarn_S390X_invalid_rounding = 11
|
|
120
120
|
|
|
121
121
|
|
|
122
|
-
def amd64g_check_ldmxcsr(state, mxcsr):
|
|
123
|
-
rmode =
|
|
122
|
+
def amd64g_check_ldmxcsr(state, mxcsr): # pylint:disable=unused-argument
|
|
123
|
+
rmode = claripy.LShR(mxcsr, 13) & 3
|
|
124
124
|
|
|
125
125
|
ew = claripy.If(
|
|
126
126
|
(mxcsr & 0x1F80) != 0x1F80,
|
angr/lib/angr_native.dylib
CHANGED
|
Binary file
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import logging
|
|
3
4
|
|
|
5
|
+
import claripy
|
|
6
|
+
|
|
4
7
|
from angr.procedures.java import JavaSimProcedure
|
|
5
8
|
from angr.engines.soot.values.strref import SimSootValue_StringRef
|
|
6
9
|
|
|
@@ -12,4 +15,4 @@ class GetSimpleName(JavaSimProcedure):
|
|
|
12
15
|
|
|
13
16
|
def run(self, this): # pylint: disable=arguments-differ
|
|
14
17
|
class_simple_name = this.type.split(".")[-1]
|
|
15
|
-
return SimSootValue_StringRef.new_string(self.state,
|
|
18
|
+
return SimSootValue_StringRef.new_string(self.state, claripy.StringV(class_simple_name))
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import claripy
|
|
4
|
+
|
|
2
5
|
import angr
|
|
3
6
|
from angr.procedures.posix.read import read
|
|
4
7
|
from angr.procedures.posix.write import write
|
|
@@ -24,7 +27,7 @@ class readv(angr.SimProcedure):
|
|
|
24
27
|
res = 0
|
|
25
28
|
for element in self.state.mem[iovec].struct.iovec.array(iovcnt).resolved:
|
|
26
29
|
tmpres = self.inline_call(read, fd, element.iov_base, element.iov_len).ret_expr
|
|
27
|
-
if self.state.solver.is_true(
|
|
30
|
+
if self.state.solver.is_true(claripy.SLT(tmpres, 0)):
|
|
28
31
|
return tmpres
|
|
29
32
|
|
|
30
33
|
return res
|
|
@@ -38,7 +41,7 @@ class writev(angr.SimProcedure):
|
|
|
38
41
|
res = 0
|
|
39
42
|
for element in self.state.mem[iovec].struct.iovec.array(iovcnt).resolved:
|
|
40
43
|
tmpres = self.inline_call(write, fd, element.iov_base, element.iov_len).ret_expr
|
|
41
|
-
if self.state.solver.is_true(
|
|
44
|
+
if self.state.solver.is_true(claripy.SLT(tmpres, 0)):
|
|
42
45
|
return tmpres
|
|
43
46
|
|
|
44
47
|
return res
|
angr/sim_type.py
CHANGED
|
@@ -1629,7 +1629,9 @@ class SimUnion(NamedTypeMixin, SimType):
|
|
|
1629
1629
|
|
|
1630
1630
|
@property
|
|
1631
1631
|
def size(self):
|
|
1632
|
-
|
|
1632
|
+
member_sizes = [ty.size for ty in self.members.values() if not isinstance(ty, SimTypeBottom)]
|
|
1633
|
+
# fall back to word size in case all members are SimTypeBottom
|
|
1634
|
+
return max(member_sizes) if member_sizes else self._arch.bytes
|
|
1633
1635
|
|
|
1634
1636
|
@property
|
|
1635
1637
|
def alignment(self):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.123
|
|
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
|
|
@@ -10,18 +10,19 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
14
|
Requires-Python: >=3.10
|
|
14
15
|
Description-Content-Type: text/markdown
|
|
15
16
|
License-File: LICENSE
|
|
16
17
|
Requires-Dist: CppHeaderParser
|
|
17
18
|
Requires-Dist: GitPython
|
|
18
|
-
Requires-Dist: ailment==9.2.
|
|
19
|
-
Requires-Dist: archinfo==9.2.
|
|
19
|
+
Requires-Dist: ailment==9.2.123
|
|
20
|
+
Requires-Dist: archinfo==9.2.123
|
|
20
21
|
Requires-Dist: cachetools
|
|
21
22
|
Requires-Dist: capstone==5.0.3
|
|
22
23
|
Requires-Dist: cffi>=1.14.0
|
|
23
|
-
Requires-Dist: claripy==9.2.
|
|
24
|
-
Requires-Dist: cle==9.2.
|
|
24
|
+
Requires-Dist: claripy==9.2.123
|
|
25
|
+
Requires-Dist: cle==9.2.123
|
|
25
26
|
Requires-Dist: itanium-demangler
|
|
26
27
|
Requires-Dist: mulpyplexer
|
|
27
28
|
Requires-Dist: nampa
|
|
@@ -30,7 +31,7 @@ Requires-Dist: protobuf>=5.28.2
|
|
|
30
31
|
Requires-Dist: psutil
|
|
31
32
|
Requires-Dist: pycparser>=2.18
|
|
32
33
|
Requires-Dist: pyformlang
|
|
33
|
-
Requires-Dist: pyvex==9.2.
|
|
34
|
+
Requires-Dist: pyvex==9.2.123
|
|
34
35
|
Requires-Dist: rich>=13.1.0
|
|
35
36
|
Requires-Dist: sortedcontainers
|
|
36
37
|
Requires-Dist: sympy
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
angr/__init__.py,sha256=
|
|
1
|
+
angr/__init__.py,sha256=eD0bz3gaEWi2XY0vUXc6KRQGKznWe3rfw21je_4p5dw,9153
|
|
2
2
|
angr/__main__.py,sha256=XeawhF6Cco9eWcfMTDWzYYggLB3qjnQ87IIeFOplaHM,2873
|
|
3
3
|
angr/annocfg.py,sha256=5fiS9TPt5r1_8g_qSfD2XkETlBdm5MTClBIQKqhm040,10624
|
|
4
4
|
angr/blade.py,sha256=GpbEumxMsb_6qD7TbtfZuW2CMzV7W1iwqYzQWYlXnxM,15394
|
|
5
5
|
angr/block.py,sha256=O5kFpofRMVlCqdG-6E53UEti7bGtIcqqx6fvyWDPu58,14975
|
|
6
6
|
angr/callable.py,sha256=1rzhXjWlx62jKJaRKHvp12rbsJ75zNa86vXtCt6eFLo,6065
|
|
7
|
-
angr/calling_conventions.py,sha256=
|
|
7
|
+
angr/calling_conventions.py,sha256=p_efVNwRtCOnbEzRCUrL_D0H9T3O982NqA5qCHINmIw,92824
|
|
8
8
|
angr/code_location.py,sha256=JpxnEa-FbQIloGwrGa4SyZlA6La_DsvHNt4WMh7lMMY,5466
|
|
9
9
|
angr/codenode.py,sha256=z-XdQh20yl_exg5H4Ep62Kw2lb3ce8od_IaEHw2v-D8,3793
|
|
10
10
|
angr/errors.py,sha256=I0L-TbxmVYIkC-USuHwaQ9BGPi2YVObnhZXQQ3kJFuo,8385
|
|
@@ -20,7 +20,7 @@ angr/sim_options.py,sha256=tfl57MFECmA7uvMMtQrRRbpG8g_A9jKOzwY6nApTW6Y,17782
|
|
|
20
20
|
angr/sim_procedure.py,sha256=hvd180bGmjB2skK93gVfy_W9fNUtI5pAD3upGqgSUJ8,26221
|
|
21
21
|
angr/sim_state.py,sha256=XokLIEd7Cxod86BvVuhJEA8wUxYa_cSGn7M9BIMmbNQ,33305
|
|
22
22
|
angr/sim_state_options.py,sha256=OBsH55qwd1FacVL3Uabqjgos-x5BhpdONSnhxkueRwI,12468
|
|
23
|
-
angr/sim_type.py,sha256=
|
|
23
|
+
angr/sim_type.py,sha256=LVPQtLs13Dalz26iWHAx-QmvMmJybPv9TZLHJMotrPs,132383
|
|
24
24
|
angr/sim_variable.py,sha256=oN0EIj8Y7vpdZgX0Hp8OMix40EvAvFBmNSH2KkgtAPM,16404
|
|
25
25
|
angr/slicer.py,sha256=74ujgNMKcEIHM8lqal69Cbls07yCxpxvi-jUYeScfaU,10668
|
|
26
26
|
angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
|
|
@@ -33,7 +33,7 @@ angr/analyses/binary_optimizer.py,sha256=JqKfOXx5FiWsYdQ6JMWYivfB2AiNl2Pw8Utk8kP
|
|
|
33
33
|
angr/analyses/bindiff.py,sha256=ZAnBeB4-0sGRZ494MTjM6NrNXL33YWcXw2bHZRBqY8M,51431
|
|
34
34
|
angr/analyses/boyscout.py,sha256=pMJNmVBt8MbCiVe8Pk8SQ3IOppHGK2qHe6G7A3e3WA8,2483
|
|
35
35
|
angr/analyses/callee_cleanup_finder.py,sha256=aogcfYfvzsVPVfseJl2KKczMu7pPPtwC7bqTyQ0UsvI,2812
|
|
36
|
-
angr/analyses/calling_convention.py,sha256=
|
|
36
|
+
angr/analyses/calling_convention.py,sha256=rXBOiLcS4QLt58dKAHPGTFCX9wrx7t998rI4EUosuM4,40879
|
|
37
37
|
angr/analyses/cdg.py,sha256=oPgHV4MVpGkfRUE0ZiaghBSkgTsr6tkG1IK4f_GtOBA,6230
|
|
38
38
|
angr/analyses/class_identifier.py,sha256=bytFQ0c7KuQhbYPPJDkhtV0ZU_Xo8_9KLZxHe9TtyMs,3010
|
|
39
39
|
angr/analyses/code_tagging.py,sha256=Gj7Ms24RnmhC9OD57gw7R6_c-pLfqSug-LVUMw_JmXE,3510
|
|
@@ -52,7 +52,7 @@ angr/analyses/loopfinder.py,sha256=C9Vo-Lv4a0SL7xbfzlWt9nFbv6tOjaEHgY1cW3M2Nyg,7
|
|
|
52
52
|
angr/analyses/proximity_graph.py,sha256=-g7pNpbP2HQhKW3w1Eff23K8vAsgWWYoe3wVxRh3Lhk,16066
|
|
53
53
|
angr/analyses/reassembler.py,sha256=y41XIGWqCVvwFlE3uACEMFLR-vByKkOazC405UPCOpM,98524
|
|
54
54
|
angr/analyses/s_liveness.py,sha256=YI-N62--Wo8B4yB5lvUi4mFBNqxwRxYq-p3zXR4qFNs,5213
|
|
55
|
-
angr/analyses/s_propagator.py,sha256=
|
|
55
|
+
angr/analyses/s_propagator.py,sha256=yRIw72FBTSQWVbW9Cid_7jmzi6HP4a9nT8PhiajnlH8,10783
|
|
56
56
|
angr/analyses/soot_class_hierarchy.py,sha256=AtvXMAlz6CVvfbtkPY4ghouH_1mNnPg9s9jFhZwWvEw,8741
|
|
57
57
|
angr/analyses/stack_pointer_tracker.py,sha256=5NZf4muUFIJX-F605n5LMw8ihA648-FA4Bm5mAcsHBE,31379
|
|
58
58
|
angr/analyses/static_hooker.py,sha256=lSVOZWiLl3fArz41fEbPMPvdsmlo40BeOeaVmeDxFow,1765
|
|
@@ -92,19 +92,19 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=QN_m2yDyOWnRHg1l4n6dKD
|
|
|
92
92
|
angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
|
|
93
93
|
angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
|
|
94
94
|
angr/analyses/decompiler/__init__.py,sha256=JAHy5toHIzNxlRnht8geYexKueYhhCGHs7GM4E11AN4,1162
|
|
95
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
95
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=KwXqvugURBjrOS_Xv5s1sZenEWemDf__KCrcB6CMWRs,71784
|
|
96
96
|
angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
|
|
97
97
|
angr/analyses/decompiler/block_io_finder.py,sha256=xMwG8Bi69OGNYVs0U0F4yxM8kEsnyrsMrf0gEr8dOEw,10923
|
|
98
98
|
angr/analyses/decompiler/block_similarity.py,sha256=ISMoOm-TGJ_1wD2i_4m8IYTletgnP66gReQESJnfvS0,6873
|
|
99
99
|
angr/analyses/decompiler/block_simplifier.py,sha256=_WYyfFW8bJ_-RkrudJIlDdHh9fc6_aHkuwzW9gylY-k,13922
|
|
100
100
|
angr/analyses/decompiler/callsite_maker.py,sha256=ulPOsw1oVSUXGzfR3NKn1CbmR7EcYNb0WAfm69Z8Rzg,18496
|
|
101
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
101
|
+
angr/analyses/decompiler/clinic.py,sha256=ZcV9y316PQ3MkoTpXMdTmovix77kDexfQkzxoRuV3xI,103511
|
|
102
102
|
angr/analyses/decompiler/condition_processor.py,sha256=pNr-BpmO_Rxma5ETbnlQnjwAWQuriiWXJEKGj5MyLQU,50875
|
|
103
103
|
angr/analyses/decompiler/decompilation_cache.py,sha256=ynqveXnf_sULwFmQFr4rVDlRHoniICt8iyhC0Ds0mDU,1163
|
|
104
104
|
angr/analyses/decompiler/decompilation_options.py,sha256=QWUGnfQ0FUekGs_I6X-ZKvAvL39VX2hFRcZrlXd72fY,7957
|
|
105
105
|
angr/analyses/decompiler/decompiler.py,sha256=smCsj38OeoHhhUWNf4YnYsEayQKW1SacRb5LBnslBPA,24623
|
|
106
106
|
angr/analyses/decompiler/empty_node_remover.py,sha256=_RAGjqDyRmannEGPcMmWkL7em990-_sKgl5CYreb-yI,7403
|
|
107
|
-
angr/analyses/decompiler/expression_narrower.py,sha256=
|
|
107
|
+
angr/analyses/decompiler/expression_narrower.py,sha256=ZtknEhc_o1G_W_yCLnsRhpkxvG6iEee2NxWzjMZGAZc,10238
|
|
108
108
|
angr/analyses/decompiler/goto_manager.py,sha256=GUWt3Y_NCpmreIt4plxX5Y3UO2V8IVGZuRtF2GqI-cw,4006
|
|
109
109
|
angr/analyses/decompiler/graph_region.py,sha256=PqXOqxOtk8haGNB7zlPzvXgkE0JdeGCIpLIUSeKswo8,16661
|
|
110
110
|
angr/analyses/decompiler/jump_target_collector.py,sha256=qR11VsIp6H1N-19xCdXMRs1LGX31o3_Cz1Z5wRyMIl8,1173
|
|
@@ -114,7 +114,7 @@ angr/analyses/decompiler/region_identifier.py,sha256=N05xkMszqldNbmNfSY0htbSqQZ-
|
|
|
114
114
|
angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
|
|
115
115
|
angr/analyses/decompiler/return_maker.py,sha256=mCJdEcnU8P5sld5B-b5e2YLilct98gJa7VWAMXT2wIY,2502
|
|
116
116
|
angr/analyses/decompiler/seq_to_blocks.py,sha256=bB-1m8oBO59AlAp6izAROks3BBxFW8zigLlrIMt6Yfs,564
|
|
117
|
-
angr/analyses/decompiler/sequence_walker.py,sha256=
|
|
117
|
+
angr/analyses/decompiler/sequence_walker.py,sha256=ODDPnChZ3Li0JyIXDR41JW9zvCsfPF5JvGYDL52wAYI,9375
|
|
118
118
|
angr/analyses/decompiler/utils.py,sha256=ldej1mpMKsWYgENa5qG4VTeoCrID-9JudTaaFLTQEco,30456
|
|
119
119
|
angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=pTCBcuro4f8bnK7N6D48Y7Dh-2QwyzgVY33LlUBHcZE,137
|
|
120
120
|
angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=x-rrA_g62cjy30mOcBdIlBCUhnfPPTs9Eut7lWi0JlI,22408
|
|
@@ -129,7 +129,7 @@ angr/analyses/decompiler/dephication/dephication_base.py,sha256=UToP1wF9814qxzJp
|
|
|
129
129
|
angr/analyses/decompiler/dephication/graph_dephication.py,sha256=xjm_OrWgcuDIoDCEAhbW4xGzCHwOPw9ya8IroZH3qf4,2169
|
|
130
130
|
angr/analyses/decompiler/dephication/graph_rewriting.py,sha256=R0rlwYL0Cnt1UPjdEJZG4kEvruKPr8I1hfhTMTZnBxA,3405
|
|
131
131
|
angr/analyses/decompiler/dephication/graph_vvar_mapping.py,sha256=1-K_SPAd2RsUGshdfwbY9V2H8EfGsIAuRss-r0fBxpA,13250
|
|
132
|
-
angr/analyses/decompiler/dephication/rewriting_engine.py,sha256=
|
|
132
|
+
angr/analyses/decompiler/dephication/rewriting_engine.py,sha256=DwsxodddJ1nZYCe5155PwX125mRbnpapzzSjTn2F_-E,8520
|
|
133
133
|
angr/analyses/decompiler/dephication/seqnode_dephication.py,sha256=q29kS8lOs_-mxgJMtQvoZdw6l3q2lUDeXcTcGienIrY,4343
|
|
134
134
|
angr/analyses/decompiler/optimization_passes/__init__.py,sha256=HcewOuaA5dafuSHaXAvViAxasqbVJRVQ2qMuDCSi00s,4205
|
|
135
135
|
angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=uUzQWVkeKL2C9Lq8NZ7UkkZBAXydxOd0F1jxr0Zi__Q,5514
|
|
@@ -145,8 +145,8 @@ angr/analyses/decompiler/optimization_passes/expr_op_swapper.py,sha256=PJMJ0INWi
|
|
|
145
145
|
angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py,sha256=ULonaiVMx2g7bflZrfoEgjrW7yQJDsfdieTdV7kfGug,4031
|
|
146
146
|
angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=VumIsThsomXV2SpbHjFJexx08fUslVJRdTsrolWiRGY,19038
|
|
147
147
|
angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=eeKEkoT0WphueWZd5P07cfa9lTBK3BzL0jUyOx4XmJQ,7820
|
|
148
|
-
angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=
|
|
149
|
-
angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=
|
|
148
|
+
angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=fhIo0HvYuGDbAQV5IiwSjACokEVreRtyXzyYZk5oZKw,12264
|
|
149
|
+
angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=1Yto_EBmmB5FkwZzaAO7S0MEvbQNEknFbbq-nUU0Eao,38818
|
|
150
150
|
angr/analyses/decompiler/optimization_passes/mod_simplifier.py,sha256=papR480h-t_wEWMEdu6UTmc33lPSy_MOmiMgidPGnxc,3115
|
|
151
151
|
angr/analyses/decompiler/optimization_passes/multi_simplifier.py,sha256=sIp2YISvafpyFzn8sgGMfohJsARiS3JFX_Y3IUXD_vo,10119
|
|
152
152
|
angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=jA8YwaycUkMe_WKTUx2vlPcGbC73DpjVhfLAt9mPGJw,21267
|
|
@@ -183,7 +183,7 @@ angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=UTkF5sYZcC45tXt9
|
|
|
183
183
|
angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py,sha256=4ERanmpCQq06B6RE-AO_-jgPloyP9Jg5wcUja9iA_gI,2652
|
|
184
184
|
angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=xZ129l0U5hoPXtczxZFUfZL59V7d0u2amQTO4phIpQU,1409
|
|
185
185
|
angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=h3m9FIxsMpElPE3ecFfa0vnzuxwG5oJLNEqvLuMpMgI,1062
|
|
186
|
-
angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py,sha256=
|
|
186
|
+
angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py,sha256=iqhS2IWH5ECDJAgNzNW2IhUXigw3rxxHo32kjpPOSZs,7426
|
|
187
187
|
angr/analyses/decompiler/peephole_optimizations/constant_derefs.py,sha256=KTGrECpzRuIjsthtcl6IhxNPLibuclzlUCcTE11nrio,1701
|
|
188
188
|
angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=6WooyVqwdlMLixGFR8QE0n6GDEC2AluVo4dIr7vwmqY,2379
|
|
189
189
|
angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py,sha256=5LtXTzPwO_Dtru3UYbr6l8YYylxKrAVZ9q6Gjk1C8sI,2105
|
|
@@ -221,7 +221,7 @@ angr/analyses/decompiler/presets/preset.py,sha256=sTK5fJfx_Cdx0Gjn7y4bOrDp-2eFPe
|
|
|
221
221
|
angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=BSD9osrReTEdapOMmyI1kFiN7AmE1EeJGLBV7i0u-Uc,117
|
|
222
222
|
angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=qLs1LxEYHdPrh5c33IdkHJqtjBU7z4Sz6fxOK4Fn0Oc,3816
|
|
223
223
|
angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=IgbSKemlJHlyGR6ANJlsPLMjCN262gJvytaqPi0EWuA,2594
|
|
224
|
-
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=
|
|
224
|
+
angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=EGHbx4qB7bPyoCrd21B5LcYF08N_po2lisWLnOW_uQA,24617
|
|
225
225
|
angr/analyses/decompiler/region_simplifiers/goto.py,sha256=HKAh1m8WryAR2WMGjmFIvO6DOYymlA7sKRnKfbyJfvk,6100
|
|
226
226
|
angr/analyses/decompiler/region_simplifiers/if_.py,sha256=rLH5csZCB5-cCsWJh2SdvWLVqgGfnfi7YqQlE7M328I,4406
|
|
227
227
|
angr/analyses/decompiler/region_simplifiers/ifelse.py,sha256=rU01g103DJXtHBX72A2gbZJYlpVnmjLxL5Oo0FfjrVs,3808
|
|
@@ -376,12 +376,12 @@ angr/engines/engine.py,sha256=EuIArZ-csduGUanSjoBvSkabD1XT83NpjIqetVWBN1I,7955
|
|
|
376
376
|
angr/engines/failure.py,sha256=rk93d83Lsb7zMY8uhKHmj6Scs0Gd4rv8LnXWpZb90As,1035
|
|
377
377
|
angr/engines/hook.py,sha256=jMPgloeh6rZIx_OtsCec6Ct04xx5xQLez9_XZfiW2TI,2581
|
|
378
378
|
angr/engines/procedure.py,sha256=U-4-PVCS6JyvmvxXqZSKDfpiCT51LeJBkrCwGRlY9YE,2557
|
|
379
|
-
angr/engines/successors.py,sha256=
|
|
379
|
+
angr/engines/successors.py,sha256=jYbax1UEgxaZDTX1A2oKxWnvH6hCOcrk1Sk_56r8gAw,23784
|
|
380
380
|
angr/engines/syscall.py,sha256=HPAygXTIb8e4_j2DBS4LCCaAz9DNyji5mucfoYck_Dc,2162
|
|
381
381
|
angr/engines/unicorn.py,sha256=8ggDUXdEQl1EMiY-Tp4CnyzzMK0zZrkGObLvBwPU9uU,24496
|
|
382
382
|
angr/engines/light/__init__.py,sha256=3arK8vMsnu6TRxa1_sVWBfD7fRDHFL5kBbl9q-ui9Zw,435
|
|
383
383
|
angr/engines/light/data.py,sha256=W4g-RZcLyhqXMiyrQBhNYaf8a3NIemq4iQpbPsl_Cdg,21243
|
|
384
|
-
angr/engines/light/engine.py,sha256=
|
|
384
|
+
angr/engines/light/engine.py,sha256=sBknqSbi57so6cCfn207SAkrRN843jCaXNeUr8draow,45641
|
|
385
385
|
angr/engines/pcode/__init__.py,sha256=aoEeroPopUOmSplbB9XMz9ke9LXO6jtFMmI_e8X4i28,195
|
|
386
386
|
angr/engines/pcode/behavior.py,sha256=UZHWTPyRnWN28i8I6o6YgnsIa4CaN_yP36fyNu45heg,29406
|
|
387
387
|
angr/engines/pcode/cc.py,sha256=vPT7FA2tmlPUVA2ptHDNVqhAZEuZZaJYajBEIctXH54,3180
|
|
@@ -400,7 +400,7 @@ angr/engines/soot/expressions/binop.py,sha256=8u6bII365ueXXQ6Mu4jmdYNRiRmAzPpERR
|
|
|
400
400
|
angr/engines/soot/expressions/cast.py,sha256=DlBC9cq4KpcH3qfyI1QabFs1mLRzsHa4NHBPc7bD_I8,804
|
|
401
401
|
angr/engines/soot/expressions/condition.py,sha256=j3IK72n2pXgzgfmvmr1zh-6f0I7CPeZb2TDfug-BCF4,1315
|
|
402
402
|
angr/engines/soot/expressions/constants.py,sha256=eHeWXIy181RSJRaBOsUijac19IDwCJshk9h9X8h87o8,1403
|
|
403
|
-
angr/engines/soot/expressions/instanceOf.py,sha256=
|
|
403
|
+
angr/engines/soot/expressions/instanceOf.py,sha256=XRlCa-LaVT03Zf09dRzrl3eIuZjR8P5Q8ti3Lvt6wB0,345
|
|
404
404
|
angr/engines/soot/expressions/instancefieldref.py,sha256=KWx8sfhLHIxlbScdp_Eg8IvWDmSgoXhxau4S4VOJW70,269
|
|
405
405
|
angr/engines/soot/expressions/invoke.py,sha256=AE0TdAXrTsxErAZCb4WSIcnx8Xd58OrCnPgJ3QjXofA,4517
|
|
406
406
|
angr/engines/soot/expressions/length.py,sha256=Ae2UIK1UCbUm65Uq05Xkzerro4quOA3knv_mMbnt5hc,224
|
|
@@ -441,8 +441,8 @@ angr/engines/vex/claripy/datalayer.py,sha256=62OwjpOPxpXBmxkRLde5RYLfI_oCIfdj23G
|
|
|
441
441
|
angr/engines/vex/claripy/irop.py,sha256=Y1zmrbI3NVbmoOfcuhTyz_b-HE7HnaY-z4rnrCljlTQ,45601
|
|
442
442
|
angr/engines/vex/heavy/__init__.py,sha256=VLvDao7Drp2stJnRfznKM04IFYi7rjfdRWVJ09nl7Ow,376
|
|
443
443
|
angr/engines/vex/heavy/actions.py,sha256=n8LDymfj6qHAd6evzoyZmHkSN8MlVjZHfgREATC-bek,8663
|
|
444
|
-
angr/engines/vex/heavy/concretizers.py,sha256=
|
|
445
|
-
angr/engines/vex/heavy/dirty.py,sha256=
|
|
444
|
+
angr/engines/vex/heavy/concretizers.py,sha256=2xQYLXmugpJWIUjUrMnall2ewX05kTdOYLWjediaf6Q,14433
|
|
445
|
+
angr/engines/vex/heavy/dirty.py,sha256=WXJsC6KBotTdNCn64Zl2GiU_q_YK-QNu4f7RfG4d_qc,18719
|
|
446
446
|
angr/engines/vex/heavy/heavy.py,sha256=cN2k2VraDRcrs0bnaXK6qSwttF3hd4Gkn6-RrbmeoZQ,16059
|
|
447
447
|
angr/engines/vex/heavy/inspect.py,sha256=2sFdCnlhC_5Ugrju7uhAmY79lomfNLdl-o4B4mjlfjg,2368
|
|
448
448
|
angr/engines/vex/heavy/resilience.py,sha256=QhGEQztITk1STChDxMWZoOSQuHXxExyW_wdWETaOpl0,3784
|
|
@@ -528,7 +528,7 @@ angr/knowledge_plugins/xrefs/__init__.py,sha256=5PhqVOtTZ27lCjJ9wp7akUeJydqILbyC
|
|
|
528
528
|
angr/knowledge_plugins/xrefs/xref.py,sha256=ROo_kAEKwB51whVYcGtTV0QRtYmQZV8nEoEtbQWyC9U,4883
|
|
529
529
|
angr/knowledge_plugins/xrefs/xref_manager.py,sha256=Yb88z3L8Y26TfGeRHdsGWQlT9f6oWntjEg6s-kcVtUQ,4040
|
|
530
530
|
angr/knowledge_plugins/xrefs/xref_types.py,sha256=LcQ9pD4E4XlC51Us49xiqAoGAFGpnCrpYO4mOzILiKI,308
|
|
531
|
-
angr/lib/angr_native.dylib,sha256=
|
|
531
|
+
angr/lib/angr_native.dylib,sha256=fkeIlvjg_0EZYGOMYcq4DhNaZLu0gtzTNZIMbBbxL40,16187984
|
|
532
532
|
angr/misc/__init__.py,sha256=ZPHXbrIdsfe_qdmq8CnXuS_bBWOy4MDT2NjwUnPgHZc,355
|
|
533
533
|
angr/misc/ansi.py,sha256=nPJHC0SKfqasMQZ0LxdmmIYojjmk4nr5jI6FrzoTwS0,811
|
|
534
534
|
angr/misc/autoimport.py,sha256=iZagpuPwZWczUTYIqs-JkDMQjftMqc_cchcm7OBFiEg,3450
|
|
@@ -969,7 +969,7 @@ angr/procedures/java_lang/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
969
969
|
angr/procedures/java_lang/character.py,sha256=eGY0WsxdxuxnwuGn-msDzvIV5asCMjqe4oP1BhgVS4A,999
|
|
970
970
|
angr/procedures/java_lang/double.py,sha256=xGJoDZHtfAyKxw7_QcnBD59TYSZDStymxSX4cCKZPGg,749
|
|
971
971
|
angr/procedures/java_lang/exit.py,sha256=wr0Pw3EnuX9oCRGFc5DyP3fP4wNzdfVTBWhYnL0KMOQ,304
|
|
972
|
-
angr/procedures/java_lang/getsimplename.py,sha256=
|
|
972
|
+
angr/procedures/java_lang/getsimplename.py,sha256=mGTdzVRfBHOkiL0cboWALnLEuwwOZi_9wo6i27YlDfI,537
|
|
973
973
|
angr/procedures/java_lang/integer.py,sha256=6bqN3x8YGZ6_CQyhYHB-uomr6D-3grMNuNkZkewOTcM,1548
|
|
974
974
|
angr/procedures/java_lang/load_library.py,sha256=Tk-bKCOS268Ila5zZOZHABVo4eqq6f6DpoN5QstxW70,290
|
|
975
975
|
angr/procedures/java_lang/math.py,sha256=WwAygSTN7YpGQwa8qqGjvcc4nQOxTa-e51zetx6qQjg,395
|
|
@@ -1078,7 +1078,7 @@ angr/procedures/linux_kernel/getpid.py,sha256=xR2X1oEaeyd7jkK4ARpwbjNjn6nUuK92Jp
|
|
|
1078
1078
|
angr/procedures/linux_kernel/getrlimit.py,sha256=hqJ-31gEprnEwW_oBvkTv-Mh-LH5_M-507sjterG3ZQ,792
|
|
1079
1079
|
angr/procedures/linux_kernel/gettid.py,sha256=2LgnFKGael4PwIMD5OVI5lh318cS2za56ymNkF6C0Y4,176
|
|
1080
1080
|
angr/procedures/linux_kernel/getuid.py,sha256=r1FA4Tgf1wbV0u8SxEYrFCaGHKVQcPqklufffnkUqxw,408
|
|
1081
|
-
angr/procedures/linux_kernel/iovec.py,sha256=
|
|
1081
|
+
angr/procedures/linux_kernel/iovec.py,sha256=nPdZSZUVE72nYAcI-2s0_0imYSyI3Uvpkltnz68XnZg,1512
|
|
1082
1082
|
angr/procedures/linux_kernel/lseek.py,sha256=5BsCQqf5NPzaMHL2E1xBqHQ9IINIObmWDHjZ_vzLH0M,1231
|
|
1083
1083
|
angr/procedures/linux_kernel/mmap.py,sha256=c5dDq8gtUosGzvRWJc1oirprQtBFdoyt-hMeFgAB5A8,533
|
|
1084
1084
|
angr/procedures/linux_kernel/mprotect.py,sha256=VitInJywG3ddPjzLSj5aBdp0rw7AP-Vf125x4Htc-pg,1479
|
|
@@ -1334,9 +1334,9 @@ angr/utils/timing.py,sha256=ELuRPzdRSHzOATgtAzTFByMlVr021ypMrsvtpopreLg,1481
|
|
|
1334
1334
|
angr/utils/ssa/__init__.py,sha256=Z7yXY0xe4X-T4bfdK0YtL9ZFnYF-JhQuJ16ZW-wpSZI,7886
|
|
1335
1335
|
angr/utils/ssa/tmp_uses_collector.py,sha256=rSpvMxBHzg-tmvhsfjn3iLyPEKzaZN-xpQrdslMq3J4,793
|
|
1336
1336
|
angr/utils/ssa/vvar_uses_collector.py,sha256=8gfAWdRMz73Deh-ZshDM3GPAot9Lf-rHzCiaCil0hlE,1342
|
|
1337
|
-
angr-9.2.
|
|
1338
|
-
angr-9.2.
|
|
1339
|
-
angr-9.2.
|
|
1340
|
-
angr-9.2.
|
|
1341
|
-
angr-9.2.
|
|
1342
|
-
angr-9.2.
|
|
1337
|
+
angr-9.2.123.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
|
|
1338
|
+
angr-9.2.123.dist-info/METADATA,sha256=EvvJQkfYmmaLvofLi_37QJ66lAZaAp_vozR1Du4eERk,4762
|
|
1339
|
+
angr-9.2.123.dist-info/WHEEL,sha256=Xz05J0Qn3vsNxfTQmZRmQTZk9Hax-h7W0ZfteNIqTww,105
|
|
1340
|
+
angr-9.2.123.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1341
|
+
angr-9.2.123.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1342
|
+
angr-9.2.123.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|