angr 9.2.110__py3-none-win_amd64.whl → 9.2.111__py3-none-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  # pylint: disable=wildcard-import
2
2
  # pylint: disable=wrong-import-position
3
3
 
4
- __version__ = "9.2.110"
4
+ __version__ = "9.2.111"
5
5
 
6
6
  if bytes is str:
7
7
  raise Exception(
@@ -752,9 +752,7 @@ class ConditionProcessor:
752
752
  f"ailexpr_{repr(condition)}-{condition.variable.ident}", condition.bits, explicit_name=True
753
753
  )
754
754
  else:
755
- var = claripy.BVS(
756
- "ailexpr_%s-%d" % (repr(condition), condition.idx), condition.bits, explicit_name=True
757
- )
755
+ var = claripy.BVS(f"ailexpr_{repr(condition)}-{condition.idx}", condition.bits, explicit_name=True)
758
756
  self._condition_mapping[var.args[0]] = condition
759
757
  return var
760
758
  elif isinstance(condition, ailment.Expr.Convert):
@@ -6,6 +6,7 @@ from archinfo import Endness
6
6
  from ailment.expression import Const, StackBaseOffset
7
7
  from ailment.statement import Call, Store
8
8
 
9
+ from angr.utils.endness import ail_const_to_be
9
10
  from .base import PeepholeOptimizationStmtBase
10
11
 
11
12
 
@@ -102,7 +103,7 @@ class InlinedStrcpy(PeepholeOptimizationStmtBase):
102
103
  continue
103
104
  if isinstance(stmt, Store) and isinstance(stmt.addr, StackBaseOffset) and isinstance(stmt.addr.offset, int):
104
105
  if isinstance(stmt.data, Const):
105
- r[stmt.addr.offset] = idx, stmt.data
106
+ r[stmt.addr.offset] = idx, ail_const_to_be(stmt.data, stmt.endness)
106
107
  else:
107
108
  r[stmt.addr.offset] = idx, None
108
109
 
@@ -6,6 +6,7 @@ from archinfo import Endness
6
6
  from ailment.expression import Const, StackBaseOffset
7
7
  from ailment.statement import Call, Store
8
8
 
9
+ from angr.utils.endness import ail_const_to_be
9
10
  from .base import PeepholeOptimizationStmtBase
10
11
 
11
12
 
@@ -102,7 +103,7 @@ class InlinedWstrcpy(PeepholeOptimizationStmtBase):
102
103
  continue
103
104
  if isinstance(stmt, Store) and isinstance(stmt.addr, StackBaseOffset) and isinstance(stmt.addr.offset, int):
104
105
  if isinstance(stmt.data, Const):
105
- r[stmt.addr.offset] = idx, stmt.data
106
+ r[stmt.addr.offset] = idx, ail_const_to_be(stmt.data, stmt.endness)
106
107
  else:
107
108
  r[stmt.addr.offset] = idx, None
108
109
 
@@ -77,7 +77,7 @@ class SimEngineLightMixin:
77
77
  # Unexpected but fine
78
78
  return 0
79
79
  elif isinstance(spoffset_expr.args[1], claripy.ast.Base) and spoffset_expr.args[1].op == "BVV":
80
- return spoffset_expr.args[1].args[0] & ((1 << spoffset_expr.size()) - 1)
80
+ return -spoffset_expr.args[1].args[0] & ((1 << spoffset_expr.size()) - 1)
81
81
  return None
82
82
 
83
83
 
angr/lib/angr_native.dll CHANGED
Binary file
angr/utils/endness.py ADDED
@@ -0,0 +1,17 @@
1
+ from ailment.expression import Const
2
+
3
+
4
+ def ail_const_to_be(expr: Const, endness: str) -> Const:
5
+ if endness == "Iend_LE" and expr.size > 1:
6
+ # reverse the expression
7
+ v = expr.value
8
+ lst = []
9
+ while len(lst) < expr.size:
10
+ lst.append(v & 0xFF)
11
+ v >>= 8
12
+ v = 0
13
+ for elem in lst:
14
+ v <<= 8
15
+ v += elem
16
+ return Const(expr.idx, None, v, expr.bits, **expr.tags)
17
+ return expr
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.110
3
+ Version: 9.2.111
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.110
19
- Requires-Dist: archinfo ==9.2.110
18
+ Requires-Dist: ailment ==9.2.111
19
+ Requires-Dist: archinfo ==9.2.111
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.110
24
- Requires-Dist: cle ==9.2.110
23
+ Requires-Dist: claripy ==9.2.111
24
+ Requires-Dist: cle ==9.2.111
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.110
34
+ Requires-Dist: pyvex ==9.2.111
35
35
  Requires-Dist: rich >=13.1.0
36
36
  Requires-Dist: rpyc
37
37
  Requires-Dist: sortedcontainers
@@ -1,4 +1,4 @@
1
- angr/__init__.py,sha256=14LIEmrBPgRxAc3zB4BOctrpwlqOlijIq8zd2lEdqeM,3708
1
+ angr/__init__.py,sha256=Kf0h-gf3w0Msnfqn-ZlTg2_pLo9i_vygjYlrf1-vibA,3708
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
@@ -97,7 +97,7 @@ angr/analyses/decompiler/block_simplifier.py,sha256=78vfpaG13JWCxijDrp3Q4wyiEw7h
97
97
  angr/analyses/decompiler/call_counter.py,sha256=V3TIaSvLUy9vLEWErnvlCS--_ubGWQAeU0tqq6XYeOU,1205
98
98
  angr/analyses/decompiler/callsite_maker.py,sha256=GUgUkSsOznUaTIB9PUoBFyWJp9WkH4T8jf5xBIE5p9M,15909
99
99
  angr/analyses/decompiler/clinic.py,sha256=81gi7DBCaZy-xK_TZGrApUEz00y756V4ZKVAHtugmwk,95748
100
- angr/analyses/decompiler/condition_processor.py,sha256=L4piCxmoD3xZHQNSZqgj67WBGhljW3bjUii_Nirugm0,49891
100
+ angr/analyses/decompiler/condition_processor.py,sha256=dEJIc3RYbrn_JIX0wYGH332VxTld0OVMYTTa5wCqFwg,49847
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
@@ -168,9 +168,9 @@ angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=vz
168
168
  angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py,sha256=0IHIk7uxIC70140k3VcXlnx4QcunAeoETXF1ZgJi2Pk,2070
169
169
  angr/analyses/decompiler/peephole_optimizations/eager_eval.py,sha256=3Ak_Xb5r9DhYFKPPE1pIOtpnxNOsDsWgI_ld7g0N8H4,10207
170
170
  angr/analyses/decompiler/peephole_optimizations/extended_byte_and_mask.py,sha256=ymP9tDU4NipGOdFWsmLHrR6dKVcEFiaTgM1-L_dfmOM,2015
171
- angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=LZZg5J_ebLjycJHmYsLzQfDijtm431Usu1cwQOV7_5M,5694
171
+ angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=31xruAOQ0gtySg6xQiuZCPeBoH9JaIxLv3aeyXyB6wY,5772
172
172
  angr/analyses/decompiler/peephole_optimizations/inlined_strcpy_consolidation.py,sha256=xyiXyjOJ0NWgnTcN8ij3i7w997LGmw1ECnKh1z6F73k,4632
173
- angr/analyses/decompiler/peephole_optimizations/inlined_wstrcpy.py,sha256=ZZ3tY1-Uba0IY9A4be97EbMrmqQHimqMbntgmCzNgx0,6226
173
+ angr/analyses/decompiler/peephole_optimizations/inlined_wstrcpy.py,sha256=FyxnWgM3EW2Zy7JXTMUS9fturIxlwk6zV5-OrY6VO2A,6304
174
174
  angr/analyses/decompiler/peephole_optimizations/invert_negated_logical_conjuction_disjunction.py,sha256=a0IDp0kKBrPwhDVejPFhcNseZdprF_5EZRZs7KTR4gA,2084
175
175
  angr/analyses/decompiler/peephole_optimizations/one_sub_bool.py,sha256=kW8AbWfMqFzI1CVFp79TFX60IZxaQhRG8XUckuc-vGI,1136
176
176
  angr/analyses/decompiler/peephole_optimizations/remove_cascading_conversions.py,sha256=3a1ZoTq66HTU68y5DCC2sLvItPmqF_Kv05uvOacxsRM,591
@@ -337,7 +337,7 @@ angr/engines/syscall.py,sha256=LNMC3zyis3OiWC7_8Zn1blMw1EDib5FjUqepXlaWDTI,2177
337
337
  angr/engines/unicorn.py,sha256=gf7LjjWyaaujqSuCq3d-BGm8t5sdZjzsJeBevGfdiLw,24447
338
338
  angr/engines/light/__init__.py,sha256=j9vH2fU9MaNVQ8NT3Ek3Tj2zkGlVxlKyzia8zVTofYs,186
339
339
  angr/engines/light/data.py,sha256=jZBAJxor2zg5m4s63joSrjUs8H-OeHBZiqZmc3dqEQQ,23132
340
- angr/engines/light/engine.py,sha256=m35I-_5Gg9Uwety6ex8BEfNf5Ga9GD2UHRK8K1XBFD0,45468
340
+ angr/engines/light/engine.py,sha256=4JNJO9kOkINMRwEyRpKKotXPEzMBJrExJk3Nr1CeRNE,45469
341
341
  angr/engines/pcode/__init__.py,sha256=UwMEwXQvHXIIgedJn2ZOvBBEgfHg2rfREBSpcTSXCZ4,83
342
342
  angr/engines/pcode/behavior.py,sha256=BuzA_nX_ebuFiGgup7aJ-bgD9KmUR2dPSGUM51MKxOM,29290
343
343
  angr/engines/pcode/cc.py,sha256=CUKkivYUddt8McAYLwAPO5btzDHwO65yBQvWs3CV9dU,3085
@@ -489,7 +489,7 @@ angr/knowledge_plugins/xrefs/__init__.py,sha256=-5A2h048WTRu6Et7q7bqlc-AyBXNuJ9A
489
489
  angr/knowledge_plugins/xrefs/xref.py,sha256=1BMphrr8iViDtVWPXWidmY1_uNmw9LRvEwwZLt3Zqw8,4907
490
490
  angr/knowledge_plugins/xrefs/xref_manager.py,sha256=a4uvTJkdM0PQIuyYcd7t76IddrrVjPGe9SZrRaqp2II,3980
491
491
  angr/knowledge_plugins/xrefs/xref_types.py,sha256=VR3xLQQ-gUg25oX0OL3BJHyQRlZh2A8syBac9ZMS9n4,271
492
- angr/lib/angr_native.dll,sha256=drebDxZ2Q0zNi_MK375wvIGDxGf5MJFNizCyqlJl7Qc,19241984
492
+ angr/lib/angr_native.dll,sha256=00Q3QZlb88519E_wp4Vz6eTpDtnMQl0ucCqZdjdE7jg,19241984
493
493
  angr/misc/__init__.py,sha256=Ct-Q6-c-Frdz5Ihkqmou3j_1jyJi8WJXlQxs-gPQg0Y,237
494
494
  angr/misc/ansi.py,sha256=m5RY65yyvluUJErkvCF4I4z1o5kXi2xb3Yuvt9bITCA,776
495
495
  angr/misc/autoimport.py,sha256=vSXclz6pss3lMecoT5_doX0SvORNmZPIvVyDm4je4HE,3419
@@ -1280,6 +1280,7 @@ angr/utils/algo.py,sha256=abkp6yy6FMqJSt0VfOpy5eSqWnheLLqOQ_kAAyhLXFc,1003
1280
1280
  angr/utils/constants.py,sha256=hxSJHIILsDP8ZOpw76BxMLu2Q_s2-rxTjACh7RL5wJs,209
1281
1281
  angr/utils/cowdict.py,sha256=GlvZxwYPJRPrmgbcB8Tay-q1KBNeJDU3oKwoxZ-aUFs,2160
1282
1282
  angr/utils/dynamic_dictlist.py,sha256=-85XkPEjVWhGDRteUsTXqOQ4StmySUuvpDzHaFN9Nn8,3073
1283
+ angr/utils/endness.py,sha256=gfeFyA-4SrBDlKfz5WjHVKxmpNUHKZ6caILLjrSiPy0,466
1283
1284
  angr/utils/enums_conv.py,sha256=YdnZzvuVc_BW1EuC4OtEo7LqB35XkPrXICyWox8Posg,2091
1284
1285
  angr/utils/env.py,sha256=wWlmjLp7CtafKItn7xq2RW3UzGGgxw58Wc8fSm3EZJQ,363
1285
1286
  angr/utils/formatting.py,sha256=tSnCLNIAWRhYyYF4HpNrlTlX6ny2taEEnxDUKDb1d-o,4207
@@ -1292,9 +1293,9 @@ angr/utils/mp.py,sha256=cv_NeysxLgyCdE-Euefnfv078ia5maHSnUn9f23zz88,1882
1292
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.110.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1296
- angr-9.2.110.dist-info/METADATA,sha256=vHnLUBAJEcOWQPvYhN_M_lVp_IVTtbnQ5ymzZ6PN2Dg,4822
1297
- angr-9.2.110.dist-info/WHEEL,sha256=HCBekDYvSbcke7r9H9NVZ4Qauq9vgcRvTniTe1vqLk0,97
1298
- angr-9.2.110.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1299
- angr-9.2.110.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1300
- angr-9.2.110.dist-info/RECORD,,
1296
+ angr-9.2.111.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1297
+ angr-9.2.111.dist-info/METADATA,sha256=AdfibFk8gO1qUCPt5-JCT9WLvObuKydbKVTE9GIrwLQ,4822
1298
+ angr-9.2.111.dist-info/WHEEL,sha256=HCBekDYvSbcke7r9H9NVZ4Qauq9vgcRvTniTe1vqLk0,97
1299
+ angr-9.2.111.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1300
+ angr-9.2.111.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1301
+ angr-9.2.111.dist-info/RECORD,,
File without changes