angr 9.2.159__cp310-abi3-manylinux2014_aarch64.whl → 9.2.161__cp310-abi3-manylinux2014_aarch64.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 +4 -1
- angr/analyses/decompiler/ail_simplifier.py +81 -1
- angr/analyses/decompiler/block_simplifier.py +7 -5
- angr/analyses/decompiler/clinic.py +5 -1
- angr/analyses/decompiler/decompiler.py +12 -9
- angr/analyses/decompiler/peephole_optimizations/__init__.py +4 -4
- angr/analyses/decompiler/peephole_optimizations/eager_eval.py +53 -0
- angr/analyses/decompiler/peephole_optimizations/modulo_simplifier.py +89 -0
- angr/analyses/decompiler/peephole_optimizations/{const_mull_a_shift.py → optimized_div_simplifier.py} +139 -25
- angr/analyses/decompiler/peephole_optimizations/remove_redundant_bitmasks.py +18 -9
- angr/analyses/decompiler/structuring/phoenix.py +19 -32
- angr/analyses/s_reaching_definitions/s_rda_model.py +1 -0
- angr/analyses/s_reaching_definitions/s_reaching_definitions.py +5 -2
- angr/analyses/typehoon/simple_solver.py +231 -29
- angr/analyses/typehoon/typehoon.py +10 -2
- angr/analyses/variable_recovery/engine_ail.py +8 -20
- angr/analyses/variable_recovery/engine_base.py +9 -1
- angr/analyses/variable_recovery/variable_recovery_base.py +30 -2
- angr/analyses/variable_recovery/variable_recovery_fast.py +11 -2
- angr/emulator.py +143 -0
- angr/engines/concrete.py +66 -0
- angr/engines/icicle.py +66 -30
- angr/exploration_techniques/driller_core.py +2 -2
- angr/project.py +7 -0
- angr/rustylib.abi3.so +0 -0
- angr/sim_type.py +16 -8
- angr/state_plugins/unicorn_engine.py +4 -4
- angr/utils/graph.py +20 -1
- angr/utils/ssa/__init__.py +3 -3
- {angr-9.2.159.dist-info → angr-9.2.161.dist-info}/METADATA +5 -6
- {angr-9.2.159.dist-info → angr-9.2.161.dist-info}/RECORD +36 -34
- angr/analyses/decompiler/peephole_optimizations/a_sub_a_div_const_mul_const.py +0 -57
- /angr/{lib/angr_native.so → unicornlib.so} +0 -0
- {angr-9.2.159.dist-info → angr-9.2.161.dist-info}/WHEEL +0 -0
- {angr-9.2.159.dist-info → angr-9.2.161.dist-info}/entry_points.txt +0 -0
- {angr-9.2.159.dist-info → angr-9.2.161.dist-info}/licenses/LICENSE +0 -0
- {angr-9.2.159.dist-info → angr-9.2.161.dist-info}/top_level.txt +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: angr
|
|
3
|
-
Version: 9.2.
|
|
3
|
+
Version: 9.2.161
|
|
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/
|
|
7
7
|
Project-URL: Repository, https://github.com/angr/angr
|
|
8
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
9
8
|
Classifier: Programming Language :: Python :: 3
|
|
10
9
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
@@ -17,12 +16,12 @@ Description-Content-Type: text/markdown
|
|
|
17
16
|
License-File: LICENSE
|
|
18
17
|
Requires-Dist: cxxheaderparser
|
|
19
18
|
Requires-Dist: GitPython
|
|
20
|
-
Requires-Dist: archinfo==9.2.
|
|
19
|
+
Requires-Dist: archinfo==9.2.161
|
|
21
20
|
Requires-Dist: cachetools
|
|
22
21
|
Requires-Dist: capstone==5.0.3
|
|
23
22
|
Requires-Dist: cffi>=1.14.0
|
|
24
|
-
Requires-Dist: claripy==9.2.
|
|
25
|
-
Requires-Dist: cle==9.2.
|
|
23
|
+
Requires-Dist: claripy==9.2.161
|
|
24
|
+
Requires-Dist: cle==9.2.161
|
|
26
25
|
Requires-Dist: mulpyplexer
|
|
27
26
|
Requires-Dist: networkx!=2.8.1,>=2.0
|
|
28
27
|
Requires-Dist: protobuf>=5.28.2
|
|
@@ -31,7 +30,7 @@ Requires-Dist: pycparser>=2.18
|
|
|
31
30
|
Requires-Dist: pydemumble
|
|
32
31
|
Requires-Dist: pyformlang
|
|
33
32
|
Requires-Dist: pypcode<4.0,>=3.2.1
|
|
34
|
-
Requires-Dist: pyvex==9.2.
|
|
33
|
+
Requires-Dist: pyvex==9.2.161
|
|
35
34
|
Requires-Dist: rich>=13.1.0
|
|
36
35
|
Requires-Dist: sortedcontainers
|
|
37
36
|
Requires-Dist: sympy
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
angr/__init__.py,sha256=
|
|
1
|
+
angr/__init__.py,sha256=mTOm8j6yao9yvo4UH5hEsEQqWkyiAcmR1vMM7MYr5lQ,9246
|
|
2
2
|
angr/__main__.py,sha256=AK9V6uPZ58UuTKmmiH_Kgn5pG9AvjnmJCPOku69A-WU,4993
|
|
3
3
|
angr/annocfg.py,sha256=0NIvcuCskwz45hbBzigUTAuCrYutjDMwEXtMJf0y0S0,10742
|
|
4
4
|
angr/blade.py,sha256=NhesOPloKJC1DQJRv_HBT18X7oNxK16JwAfNz2Lc1o0,15384
|
|
@@ -7,25 +7,27 @@ angr/callable.py,sha256=j9Orwd4H4fPqOYylcEt5GuLGPV7ZOqyA_OYO2bp5PAA,6437
|
|
|
7
7
|
angr/calling_conventions.py,sha256=BWed6JA8QRDwqOdDLqeSzegjHtsd4jgiVhaTIVf_NMQ,101396
|
|
8
8
|
angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
|
|
9
9
|
angr/codenode.py,sha256=hCrQRp4Ebb2X6JicNmY1PXo3_Pm8GDxVivVW0Pwe84k,3918
|
|
10
|
+
angr/emulator.py,sha256=572e9l-N4VUzUzLKylqpv3JmBvVC5VExi1tLy6MZSoU,4633
|
|
10
11
|
angr/errors.py,sha256=I0L-TbxmVYIkC-USuHwaQ9BGPi2YVObnhZXQQ3kJFuo,8385
|
|
11
12
|
angr/factory.py,sha256=PPNWvTiWaIgzxzyoTr8ObSF-TXp1hCdbY2e-0xBePNc,17815
|
|
12
13
|
angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
14
|
angr/keyed_region.py,sha256=Cx6dadqFgEvRmEHTbCJpg9mXkBtKGc_BKckHc6bk1IU,17992
|
|
14
15
|
angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
|
|
15
|
-
angr/project.py,sha256=
|
|
16
|
+
angr/project.py,sha256=96j1q8aUamVSnn0gqj3mIGIIvwctfv0ZzVf-HTO_CQU,37962
|
|
16
17
|
angr/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
|
|
17
|
-
angr/rustylib.abi3.so,sha256=
|
|
18
|
+
angr/rustylib.abi3.so,sha256=vGpDwbcSzBzzpvloAOFqvUnDHZPLdwztYxgQw4aJZLU,5622768
|
|
18
19
|
angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
|
|
19
20
|
angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
|
|
20
21
|
angr/sim_options.py,sha256=tfl57MFECmA7uvMMtQrRRbpG8g_A9jKOzwY6nApTW6Y,17782
|
|
21
22
|
angr/sim_procedure.py,sha256=EfXQEX-Na7iNtoqc2-KQhs7AR3tsiMYnxEF1v_lL_ok,26235
|
|
22
23
|
angr/sim_state.py,sha256=qK6XPl2Q23xEXBud_SBy1fzVPPcrlx0PEQwMtRKBaBI,33893
|
|
23
24
|
angr/sim_state_options.py,sha256=dsMY3UefvL7yZKXloubMhzUET3N2Crw-Fpw2Vd1ouZQ,12468
|
|
24
|
-
angr/sim_type.py,sha256=
|
|
25
|
+
angr/sim_type.py,sha256=tmVye1wxVMNDJWt7vH_KobNPY3jrLX0JCHnkeae2-Nc,134909
|
|
25
26
|
angr/sim_variable.py,sha256=3DssmMw5G7m_-MYToJ3LBP-ooy2UQEuI2YgxIuX3d4Y,13177
|
|
26
27
|
angr/slicer.py,sha256=DND0BERanYKafasRH9MDFAng0rSjdjmzXj2-phCD6CQ,10634
|
|
27
28
|
angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
|
|
28
29
|
angr/tablespecs.py,sha256=Kx1e87FxTx3_ZN7cAHWZSRpdInT4Vfj5gExAWtLkLTw,3259
|
|
30
|
+
angr/unicornlib.so,sha256=utvVO8r0boAiqMp3J2xZRZTKCB5AaAeLVVgxBxeK1Qs,348280
|
|
29
31
|
angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
|
|
30
32
|
angr/ailment/__init__.py,sha256=X1LTS6MuTovGtbXBjZendUVOzRk-ib-bP0imuqJDOYI,2039
|
|
31
33
|
angr/ailment/block.py,sha256=rkmimsNPhrUabVVbRd2IgCaW0hA2_isvAsKlYtHZhgY,2428
|
|
@@ -114,17 +116,17 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=_vQPkw1NMrzD7kAFeotOaa
|
|
|
114
116
|
angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
|
|
115
117
|
angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
|
|
116
118
|
angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
|
|
117
|
-
angr/analyses/decompiler/ail_simplifier.py,sha256=
|
|
119
|
+
angr/analyses/decompiler/ail_simplifier.py,sha256=8iev7hxXKO-nkqJ9Dt4uPb7RIxEkOgyGZ5QZd364hFE,91597
|
|
118
120
|
angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
|
|
119
121
|
angr/analyses/decompiler/block_io_finder.py,sha256=9J56W0_SQPczZ2-VoxqSv61T57foHmzy7wPtUtQKffU,10943
|
|
120
122
|
angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
|
|
121
|
-
angr/analyses/decompiler/block_simplifier.py,sha256=
|
|
123
|
+
angr/analyses/decompiler/block_simplifier.py,sha256=hyrRwWyQxHzOH0HYRP2tUnZEQvo9qsqI_R8OOM_kfb4,14470
|
|
122
124
|
angr/analyses/decompiler/callsite_maker.py,sha256=QxdNvnPt0oyRtsbFLCVpWdI7NL1LdT-TlEq27X5RAqA,23150
|
|
123
|
-
angr/analyses/decompiler/clinic.py,sha256=
|
|
125
|
+
angr/analyses/decompiler/clinic.py,sha256=zu0t1FtjfdsVkpMXvFvuOraYbx0IFNtARKh0K_3tfUQ,150858
|
|
124
126
|
angr/analyses/decompiler/condition_processor.py,sha256=r1lVXkFLai8DtU5gqtvxz3kpjW2S4oP4mNSx7iqzQ38,53175
|
|
125
127
|
angr/analyses/decompiler/decompilation_cache.py,sha256=gAZtyXs-eoFj3680bTrJVAZcIoaPsFK0kayu30NYLb4,1509
|
|
126
128
|
angr/analyses/decompiler/decompilation_options.py,sha256=NDB67DI1L-stvJ4b1eQkfV26HgDJ_rG9-6PEv08G9-8,8195
|
|
127
|
-
angr/analyses/decompiler/decompiler.py,sha256=
|
|
129
|
+
angr/analyses/decompiler/decompiler.py,sha256=5_ifidQ9u5lUupyZD9AVHWmJCzviGsqrZhneZNv4dqw,30479
|
|
128
130
|
angr/analyses/decompiler/empty_node_remover.py,sha256=4CdxTM1AVmRoEdRIwJg1YEy10AgkEoRmJ8SU7xGbKnM,7424
|
|
129
131
|
angr/analyses/decompiler/expression_narrower.py,sha256=lBtcsPu4V5JJ_u25GF-BJ3vaybu8TRr9XxmnjOrA4J8,10367
|
|
130
132
|
angr/analyses/decompiler/goto_manager.py,sha256=wVoeXJcadIda84LloGgqW-rL0QHLv3fx4vZHLhmz-_o,4027
|
|
@@ -195,13 +197,12 @@ angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_re
|
|
|
195
197
|
angr/analyses/decompiler/optimization_passes/duplication_reverter/errors.py,sha256=dJq1F3jbGBFWi0zIUmDu8bwUAKPt-JyAh5iegY9rYuU,527
|
|
196
198
|
angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py,sha256=H9FGTyxHm-KbqgxuTe2qjMotboRbUyOTeiPVcD_8DSk,4411
|
|
197
199
|
angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py,sha256=_WiRuxiMaxRAYtU5LiHGQ383PiI0sCt-KgG2QFG0KX4,5176
|
|
198
|
-
angr/analyses/decompiler/peephole_optimizations/__init__.py,sha256=
|
|
200
|
+
angr/analyses/decompiler/peephole_optimizations/__init__.py,sha256=pqd1vDt1GO_6n1wbRtis0iq0nTkMh3bwwA17MaiUuIs,4869
|
|
199
201
|
angr/analyses/decompiler/peephole_optimizations/a_div_const_add_a_mul_n_div_const.py,sha256=HY6EQkThiyMaahz3bodJUqLBKWY2n4aKGbKyspMXN50,1641
|
|
200
202
|
angr/analyses/decompiler/peephole_optimizations/a_mul_const_div_shr_const.py,sha256=-V60wMaBKz1Ld1NcaQ8Dl0T4Xo9Qq6nfAQpXJ-MNsDI,1379
|
|
201
203
|
angr/analyses/decompiler/peephole_optimizations/a_mul_const_sub_a.py,sha256=5Gsq3DSQEWt3tZSkrxnbAEePkKC_dmpoQHZ2PVNlSfs,1158
|
|
202
204
|
angr/analyses/decompiler/peephole_optimizations/a_shl_const_sub_a.py,sha256=UIdsR1_ST2-NGXR5QtKM0GcuSd8teKOhafTzb7UvTO0,1142
|
|
203
205
|
angr/analyses/decompiler/peephole_optimizations/a_sub_a_div.py,sha256=XuR33qLQRVD_fX1kqyAdG2NNi4o6bJGvvxXD8uzfzmw,963
|
|
204
|
-
angr/analyses/decompiler/peephole_optimizations/a_sub_a_div_const_mul_const.py,sha256=o1U22X-cul8Njk0lbXnUE2t1gxoK92zU8lWCYq_rP_A,2090
|
|
205
206
|
angr/analyses/decompiler/peephole_optimizations/a_sub_a_shr_const_shr_const.py,sha256=LsLcmnVNsjUJFzirktx0rFApex0ZXzn8T8_Z3ZGZH5A,1262
|
|
206
207
|
angr/analyses/decompiler/peephole_optimizations/a_sub_a_sub_n.py,sha256=3ByEh3bbqaIeWcniCtKqzWFQqsULfeVEJlcEopN9iq0,667
|
|
207
208
|
angr/analyses/decompiler/peephole_optimizations/arm_cmpf.py,sha256=eLy2wdVZgk9s7yH49T6-8mTkQhXXWtcoUmKSs8KB6t8,9302
|
|
@@ -215,22 +216,23 @@ angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=B1FJjIW
|
|
|
215
216
|
angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py,sha256=sJV-8aP9KUx5Kt7pZmb3M28K3z2bGD3NWJFZOdYaBYc,2662
|
|
216
217
|
angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=fXq-qFe7JUdD5LdtUhoA9AF3LnY-3Jrmo4t3ZRJIIiQ,1414
|
|
217
218
|
angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=--C1JQluHt8ltdfUPBHvRD3SjW_ZcBU3oWdFwpCtpuw,1072
|
|
218
|
-
angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py,sha256=aYyEHYcYCetPu9-cd1j69SgAyN9yCzDAG7UmZKWAmWw,9716
|
|
219
219
|
angr/analyses/decompiler/peephole_optimizations/constant_derefs.py,sha256=-eQ3nI-3-aeD-2dsA-H1NS5N6JtcCWeBTpjFiN94QBw,1774
|
|
220
220
|
angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=4fZUQGdEY2qVANb6xQWZJRf5N7X78R_gyECxzhC_5vU,2384
|
|
221
221
|
angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py,sha256=STmu5FE0EHOkCdxFJt44DhMAjbAagnuics5VV6aNmnM,2110
|
|
222
|
-
angr/analyses/decompiler/peephole_optimizations/eager_eval.py,sha256=
|
|
222
|
+
angr/analyses/decompiler/peephole_optimizations/eager_eval.py,sha256=t1Kn5ffzwio7AUO3EDtAbGvBFiR2gaRLIXBpOZ9LSIU,20612
|
|
223
223
|
angr/analyses/decompiler/peephole_optimizations/extended_byte_and_mask.py,sha256=NU1D1xqyQi4SaCUrJ9bk51-hjcFNseQgqD0wgQkh558,2049
|
|
224
224
|
angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=HPXGn8PWsMGyi4EfgMIwho82H_RthwPKvlq2cdxFF2I,6462
|
|
225
225
|
angr/analyses/decompiler/peephole_optimizations/inlined_strcpy_consolidation.py,sha256=1s7_nlpyJKuJGwCrZESlYw2dPL49VgKPQT8wVbmCeYs,4912
|
|
226
226
|
angr/analyses/decompiler/peephole_optimizations/inlined_wstrcpy.py,sha256=irbBK2HB75f27L2EnHPuwDHumz1GBYqVwB96zoe-SFM,6787
|
|
227
227
|
angr/analyses/decompiler/peephole_optimizations/invert_negated_logical_conjuction_disjunction.py,sha256=hRx0tuK_s47AEgPfaWYbzh5lPfBhx_anGDTVoIxHYkg,1990
|
|
228
|
+
angr/analyses/decompiler/peephole_optimizations/modulo_simplifier.py,sha256=M09Whprj6tOJdFI5n9a7b-82YZOgnm3QvIbISJ9Lvaw,3724
|
|
228
229
|
angr/analyses/decompiler/peephole_optimizations/one_sub_bool.py,sha256=zljXiUnoH6AwgAoXVRwz9dXEedW7RiUTkHvBMZIA-o8,1140
|
|
230
|
+
angr/analyses/decompiler/peephole_optimizations/optimized_div_simplifier.py,sha256=M4GxEWKs6V9aEYejGluZ8w8QpvPKpaESeFFzid88HjE,14208
|
|
229
231
|
angr/analyses/decompiler/peephole_optimizations/remove_cascading_conversions.py,sha256=JK8VIopPY29wgbd4EDGI-uAVfphARL4bqByj5iDRujI,1820
|
|
230
232
|
angr/analyses/decompiler/peephole_optimizations/remove_cxx_destructor_calls.py,sha256=jaZJu0oo8zEuvvQ30IqxeH3CEIugZKBkVktK3SCzWFY,1010
|
|
231
233
|
angr/analyses/decompiler/peephole_optimizations/remove_empty_if_body.py,sha256=lq41TsLU8kSEduzt66i-Jva_HB5Pqlg4Q6acO-nGAYw,1612
|
|
232
234
|
angr/analyses/decompiler/peephole_optimizations/remove_noop_conversions.py,sha256=KRjv1VUMmzkmax_s1ZM3nz24iqz1wqInMgJn3NR9kd4,1788
|
|
233
|
-
angr/analyses/decompiler/peephole_optimizations/remove_redundant_bitmasks.py,sha256=
|
|
235
|
+
angr/analyses/decompiler/peephole_optimizations/remove_redundant_bitmasks.py,sha256=FUf1bg9nADlwT1upwTKcVhhPcvZ98C-8PlmkWoHqwZ4,4787
|
|
234
236
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_conversions.py,sha256=VJCK1yPM2DBQpxuJ3ED-YpOfmDSpOE4pUdD8rPkGAkA,11130
|
|
235
237
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_ite_branch.py,sha256=1pbXLE65KwREUoB9GqCXBgz-BeUrzXxoIRFUYZAnBVA,1133
|
|
236
238
|
angr/analyses/decompiler/peephole_optimizations/remove_redundant_ite_comparisons.py,sha256=E2HMxTqzmuhvv7PhT3HhnRWmBCe2b9cTfr57J4UoGds,1883
|
|
@@ -282,7 +284,7 @@ angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbej
|
|
|
282
284
|
angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
|
|
283
285
|
angr/analyses/decompiler/structuring/__init__.py,sha256=kEFP-zv9CZrhJtLTKwT9-9cGVTls71wLYaLDUuYorBU,711
|
|
284
286
|
angr/analyses/decompiler/structuring/dream.py,sha256=JfH5uIc8nwUhMYgbHH1FI8avRii34AWLSJJiHTUSsJM,48736
|
|
285
|
-
angr/analyses/decompiler/structuring/phoenix.py,sha256=
|
|
287
|
+
angr/analyses/decompiler/structuring/phoenix.py,sha256=0kPItjEm2puUKyxyYGOJBDqxjlkCKOCnsGwfE3F34Mo,139866
|
|
286
288
|
angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=4lHkzsEDSGsiEHrAImaJ4cQOmoZes87_GDSzOby90Rc,7219
|
|
287
289
|
angr/analyses/decompiler/structuring/sailr.py,sha256=6lM9cK3iU1kQ_eki7v1Z2VxTiX5OwQzIRF_BbEsw67Q,5721
|
|
288
290
|
angr/analyses/decompiler/structuring/structurer_base.py,sha256=VsmpptsIwX2e5-U3K2px3snhrOAu7qUU3nqjA7Be0xs,47415
|
|
@@ -370,16 +372,16 @@ angr/analyses/reaching_definitions/function_handler_library/stdlib.py,sha256=qig
|
|
|
370
372
|
angr/analyses/reaching_definitions/function_handler_library/string.py,sha256=BHgsZPyMf5FASi8UBgeNm1mV9PpQyZD93v7OuKL3eGw,8181
|
|
371
373
|
angr/analyses/reaching_definitions/function_handler_library/unistd.py,sha256=cKBMwwzKlwTzmmVR-EU5AhFnMbJuDVf45GgA5b-K7Jg,1916
|
|
372
374
|
angr/analyses/s_reaching_definitions/__init__.py,sha256=TyfVplxkJj8FAAAw9wegzJlcrbGwlFpIB23PdCcwrLA,254
|
|
373
|
-
angr/analyses/s_reaching_definitions/s_rda_model.py,sha256=
|
|
375
|
+
angr/analyses/s_reaching_definitions/s_rda_model.py,sha256=FJSge_31FFzyzBJA1xm7dQz40TfuNna6v_RWAZMZvi0,5801
|
|
374
376
|
angr/analyses/s_reaching_definitions/s_rda_view.py,sha256=PtYGELZYBr87xKe2u5LX7V7wfMx_AwhxiGueOnfTV5A,13702
|
|
375
|
-
angr/analyses/s_reaching_definitions/s_reaching_definitions.py,sha256=
|
|
377
|
+
angr/analyses/s_reaching_definitions/s_reaching_definitions.py,sha256=gNdg8xpu5by_McWU8j0g0502yQsO2evkTlben9yimV0,7826
|
|
376
378
|
angr/analyses/typehoon/__init__.py,sha256=KjKBUZadAd3grXUy48_qO0L4Me-riSqPGteVDcTL59M,92
|
|
377
379
|
angr/analyses/typehoon/dfa.py,sha256=41lzhE-QmkC342SjfaaPI41lr4Au5XROTu_7oenvg7g,3823
|
|
378
380
|
angr/analyses/typehoon/lifter.py,sha256=hxYJmM_A0Kl6YgY7NyWBtA3ieaY49Ey3ESCHC61lMys,4000
|
|
379
|
-
angr/analyses/typehoon/simple_solver.py,sha256=
|
|
381
|
+
angr/analyses/typehoon/simple_solver.py,sha256=CCGsuxzcRwPxh3S3fU_CJNQ7KVJaTP_SzH5ZImuPhDw,67609
|
|
380
382
|
angr/analyses/typehoon/translator.py,sha256=_UE1JC4KNDXXl4plula9OApK1ee07z9BFdX9HKa5uqw,10568
|
|
381
383
|
angr/analyses/typehoon/typeconsts.py,sha256=jQEVziyt3LnctrSrCtbUSPi-0tjl8DKoLMFfaOEG3lI,7939
|
|
382
|
-
angr/analyses/typehoon/typehoon.py,sha256=
|
|
384
|
+
angr/analyses/typehoon/typehoon.py,sha256=qj5MBJdzVB-5f73N_Da0gs5fG-eIFN272VNfsdYn7lo,12777
|
|
383
385
|
angr/analyses/typehoon/typevars.py,sha256=ZDnKaGEwBTzYWUPQzacQkJ4rMpUDlnLzzJuKyQuEEtA,17839
|
|
384
386
|
angr/analyses/typehoon/variance.py,sha256=3wYw3of8uoar-MQ7gD6arALiwlJRW990t0BUqMarXIY,193
|
|
385
387
|
angr/analyses/unpacker/__init__.py,sha256=tBXwDMFKN0Hp8YP0DK-c6deo0Muc_LNopvoKKbzp3Tc,190
|
|
@@ -387,13 +389,13 @@ angr/analyses/unpacker/obfuscation_detector.py,sha256=VWMHOO2UbyiGzRYzAq9yrU3WwZ
|
|
|
387
389
|
angr/analyses/unpacker/packing_detector.py,sha256=SO6aXR1gZkQ7w17AAv3C1-U2KAc0yL9OIQqjNOtVnuo,5331
|
|
388
390
|
angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDYKKMJklcOoCO7Ao,208
|
|
389
391
|
angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
|
|
390
|
-
angr/analyses/variable_recovery/engine_ail.py,sha256=
|
|
391
|
-
angr/analyses/variable_recovery/engine_base.py,sha256=
|
|
392
|
+
angr/analyses/variable_recovery/engine_ail.py,sha256=8yqrl_qfO_DCvaIxwsa_eits5rIbly4rBEFh5W_U2O4,33709
|
|
393
|
+
angr/analyses/variable_recovery/engine_base.py,sha256=d1Hx-pIYlflgAlLDyiNma6_fEGkuhZeTyVP_D5Bfb4Y,53047
|
|
392
394
|
angr/analyses/variable_recovery/engine_vex.py,sha256=5Q2S1jAr7tALa0m0okqBHBe3cUePmJlnV1Grxos1xbo,21344
|
|
393
395
|
angr/analyses/variable_recovery/irsb_scanner.py,sha256=1dL2IC7fZGuRrhmcpa2Q-G666aMPmbM8zSzmIRpLNSY,5141
|
|
394
396
|
angr/analyses/variable_recovery/variable_recovery.py,sha256=I45eVUpOOcSobA_QyXl3aRNa0kppJH_7YOj95fPPTdE,22272
|
|
395
|
-
angr/analyses/variable_recovery/variable_recovery_base.py,sha256=
|
|
396
|
-
angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=
|
|
397
|
+
angr/analyses/variable_recovery/variable_recovery_base.py,sha256=Ewd0TzNdZ_gRYXtXjVrJfODNABMMPjnuvMy9-Nnyui0,16813
|
|
398
|
+
angr/analyses/variable_recovery/variable_recovery_fast.py,sha256=xahVegmxq0jl_mSu0EuoQLO_-GHtARPFPwoLyppBnHY,27910
|
|
397
399
|
angr/angrdb/__init__.py,sha256=Jin6JjtVadtqsgm_a6gQGx3Hn7BblkbJvdcl_GwZshg,307
|
|
398
400
|
angr/angrdb/db.py,sha256=ecwcJ9b_LcM9a74GXJUm7JVWTghk3JhXScLhaQ4ZP7o,6260
|
|
399
401
|
angr/angrdb/models.py,sha256=5Akv-fIjk3E2YHymEWu_nrbE8aQ9l75zOAaSIDEzeTQ,4794
|
|
@@ -428,10 +430,11 @@ angr/distributed/__init__.py,sha256=KbEuL2qYp5UN8c0mv_38rfZefTvvvtMkp6_ejWVFpOQ,
|
|
|
428
430
|
angr/distributed/server.py,sha256=g3STpFQ48AScjXciwCt1sGE-qWAvi3GHwb8tdScL1CE,6645
|
|
429
431
|
angr/distributed/worker.py,sha256=MZVlxC9ksC6xUG2fy5h08Vv9R8RiG7QBQIomPYdFIJs,6065
|
|
430
432
|
angr/engines/__init__.py,sha256=_3oRkiTrPO7QPiCg3qXymt4o9ZAOrAHt5pdfjkp3W9k,1661
|
|
433
|
+
angr/engines/concrete.py,sha256=kEt6Dyp8QAIaOP3oW5lRcDs_2UMP2vbiNzylGiqvf7g,2143
|
|
431
434
|
angr/engines/engine.py,sha256=2kwOT-sbxKXAVX2PmsPTr8Ax36Vxq6hkRdDKaITBQNc,657
|
|
432
435
|
angr/engines/failure.py,sha256=redqmkSuJoIc828hpmX3CTk4EqQ-PeEn7MK2uIqSAc0,1040
|
|
433
436
|
angr/engines/hook.py,sha256=lAEYYAXQY_GDOpsz3JZ7IswxrBccZnZ6EaQwyNBb4W8,2590
|
|
434
|
-
angr/engines/icicle.py,sha256=
|
|
437
|
+
angr/engines/icicle.py,sha256=uV6ADnyJ3tpfH9k7wGGcxn3zpGEFmTmNvqBqMqhL9E4,9855
|
|
435
438
|
angr/engines/procedure.py,sha256=8kgFH56nkqSWm0p1apuGBaFngl-4BnAzE0bXhq9mc6Y,2561
|
|
436
439
|
angr/engines/successors.py,sha256=oQCW7Knxb4zz7EP6Mi6RrRNrwuhbv5fnX8UL76nn0sY,29501
|
|
437
440
|
angr/engines/syscall.py,sha256=7wYTriURsDTTi3PEBj4u3ZWDi7RHBV-gRrxTRxwMAVk,2166
|
|
@@ -514,7 +517,7 @@ angr/exploration_techniques/bucketizer.py,sha256=BvkBr5SBbWHT6Z1G8AJaNA7BmN9NqRm
|
|
|
514
517
|
angr/exploration_techniques/common.py,sha256=_FmR6IxiCm_lal1rP6382r-1hCj-EirDsq_eQdD3x3s,2277
|
|
515
518
|
angr/exploration_techniques/dfs.py,sha256=_pPa8qdusyGN_98FSmqEDNKrDWsBYVJb7Swn55Ngbh8,1208
|
|
516
519
|
angr/exploration_techniques/director.py,sha256=sdqTSCNoieBWln7egJBh7gkJoZAo7zpWC2telwEsn1w,17865
|
|
517
|
-
angr/exploration_techniques/driller_core.py,sha256=
|
|
520
|
+
angr/exploration_techniques/driller_core.py,sha256=ZguyrKpC0kHLotJOkdVX553JBMwvAgUtQW244EUf78k,3450
|
|
518
521
|
angr/exploration_techniques/explorer.py,sha256=_SKBIFX-YDd71aIAJaV9MwCZt64wUvvZmZiBjrjuruk,6243
|
|
519
522
|
angr/exploration_techniques/lengthlimiter.py,sha256=To8SlXhtdDVSqAlCSIvhvqyY8BUs37ZU7ABymhJDz14,590
|
|
520
523
|
angr/exploration_techniques/local_loop_seer.py,sha256=qcXC3XByVc1WkznVoqCNt7MqBX_GL_qSwBHmwbHphmU,2605
|
|
@@ -586,7 +589,6 @@ angr/knowledge_plugins/xrefs/__init__.py,sha256=5PhqVOtTZ27lCjJ9wp7akUeJydqILbyC
|
|
|
586
589
|
angr/knowledge_plugins/xrefs/xref.py,sha256=U2H1rfffp5EXoh0awlGxMBxA4K5MIwl3CXjV3Uih3tA,4856
|
|
587
590
|
angr/knowledge_plugins/xrefs/xref_manager.py,sha256=1n373rtV91xicAfSUresRigsZ6qCBhPOaJKrN_SW3QY,4157
|
|
588
591
|
angr/knowledge_plugins/xrefs/xref_types.py,sha256=LcQ9pD4E4XlC51Us49xiqAoGAFGpnCrpYO4mOzILiKI,308
|
|
589
|
-
angr/lib/angr_native.so,sha256=utvVO8r0boAiqMp3J2xZRZTKCB5AaAeLVVgxBxeK1Qs,348280
|
|
590
592
|
angr/misc/__init__.py,sha256=FoUwjk1DhqlIsr2sBN0MlR8MnSOGQv9QJhxmq32RYuA,355
|
|
591
593
|
angr/misc/ansi.py,sha256=nPJHC0SKfqasMQZ0LxdmmIYojjmk4nr5jI6FrzoTwS0,811
|
|
592
594
|
angr/misc/autoimport.py,sha256=iZagpuPwZWczUTYIqs-JkDMQjftMqc_cchcm7OBFiEg,3450
|
|
@@ -1308,7 +1310,7 @@ angr/state_plugins/solver.py,sha256=GVN-z84AkVtWbTt-6m8j_1pxxDQ-Y2GsnebdLVF4Wmk,
|
|
|
1308
1310
|
angr/state_plugins/symbolizer.py,sha256=XEdY9g1G0xN0SbA1MDmSDsaOithnP3HnrsckeNV37m4,11011
|
|
1309
1311
|
angr/state_plugins/trace_additions.py,sha256=d1P4a-DdC0c2Fu5_KAhNzfLr1mylAR2wWSOMSwad7os,29717
|
|
1310
1312
|
angr/state_plugins/uc_manager.py,sha256=-mervKrD5a5K71CVAUxHrDW5RCduNwNxZXwW63L9bEA,2973
|
|
1311
|
-
angr/state_plugins/unicorn_engine.py,sha256
|
|
1313
|
+
angr/state_plugins/unicorn_engine.py,sha256=-HYSPKLxN1VEA6LeVXtHSyIVKEH-rY0pmNaRrYx9d4A,77934
|
|
1312
1314
|
angr/state_plugins/view.py,sha256=968XQAnGrPB0gHh0f6DDTEn54VlpwFjcDZgtAmIwCf8,12382
|
|
1313
1315
|
angr/state_plugins/heap/__init__.py,sha256=ajfNPVloK8CUpfd1z22v8dof55c8skshy8aFHG-aqy8,340
|
|
1314
1316
|
angr/state_plugins/heap/heap_base.py,sha256=IaKFHqGoWIcFWx6WCEvpnUvn8eqmD1Gay3JWFerLnnk,6281
|
|
@@ -1385,7 +1387,7 @@ angr/utils/enums_conv.py,sha256=fA6qeoRZ6Cj6gCIS_PZbP4PX7E8IybnYQ90OZGnBVrc,2746
|
|
|
1385
1387
|
angr/utils/env.py,sha256=aO4N2h7DUsUQtTgnC5J_oPHvMxJRur20m5UFSkmy4XU,398
|
|
1386
1388
|
angr/utils/formatting.py,sha256=OWzSfAlKcL09cEtcqxszYWHsRO9tih7hvXD2K9kUZc8,4343
|
|
1387
1389
|
angr/utils/funcid.py,sha256=Rd4r8juv2IpeMtCpPp4wxJoEZTnZZ1NsxdT42tvrKVA,6353
|
|
1388
|
-
angr/utils/graph.py,sha256=
|
|
1390
|
+
angr/utils/graph.py,sha256=gLLwLuhNtt2cXmqEZvtK2-3CQDBiaa9XqllO0vfaUBc,32319
|
|
1389
1391
|
angr/utils/lazy_import.py,sha256=7Mx-y-aZFsXX9jNxvEcXT-rO8tL8rknb6D6RbSFOI1M,343
|
|
1390
1392
|
angr/utils/library.py,sha256=z3rFYm7ePZTXNZJuKiQrR0SnlbVb-OzkX0t0U44nXDk,7181
|
|
1391
1393
|
angr/utils/loader.py,sha256=5PtUlonkbqENNg3AMJ4YI3-g5dyyXJ0GP83SwO2dECY,1951
|
|
@@ -1394,12 +1396,12 @@ angr/utils/orderedset.py,sha256=aGfmLdOS77nzz2eoPpCqRICqzaAeBnuis1Et_I_hiZg,2047
|
|
|
1394
1396
|
angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoTRVRA,4417
|
|
1395
1397
|
angr/utils/timing.py,sha256=n-YZ86g0ZWmLhsoNvcimRpKzewR5hmquLZe6fagxlBw,2224
|
|
1396
1398
|
angr/utils/types.py,sha256=688trvR0_j93sfeRgFT1npcmjNGSx99m_IPe9Xyy9WY,4967
|
|
1397
|
-
angr/utils/ssa/__init__.py,sha256=
|
|
1399
|
+
angr/utils/ssa/__init__.py,sha256=F0HR0vok7_K-vPp6hV334XtvCZflyh5HnYMGAmGgeJo,15290
|
|
1398
1400
|
angr/utils/ssa/tmp_uses_collector.py,sha256=digAUQpYoFR1VYfwoXlF3T1pYdDi6Pdq_ck54SjMabQ,813
|
|
1399
1401
|
angr/utils/ssa/vvar_uses_collector.py,sha256=HewqUQluNE9EsaiLeFo7LaBvws_DDBDYNt9RBExy464,1367
|
|
1400
|
-
angr-9.2.
|
|
1401
|
-
angr-9.2.
|
|
1402
|
-
angr-9.2.
|
|
1403
|
-
angr-9.2.
|
|
1404
|
-
angr-9.2.
|
|
1405
|
-
angr-9.2.
|
|
1402
|
+
angr-9.2.161.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
|
|
1403
|
+
angr-9.2.161.dist-info/METADATA,sha256=4w136XFYvE-fQgzJUo-9NmD2l2ym_Cp-cFukBkFBiQc,4343
|
|
1404
|
+
angr-9.2.161.dist-info/WHEEL,sha256=-b00sLH3UnxFBjNQ7S7EFPw4mOqhGcI2pA2tUueoluM,112
|
|
1405
|
+
angr-9.2.161.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
|
|
1406
|
+
angr-9.2.161.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
|
|
1407
|
+
angr-9.2.161.dist-info/RECORD,,
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
from angr.ailment.expression import BinaryOp, Const, Convert
|
|
3
|
-
|
|
4
|
-
from .base import PeepholeOptimizationExprBase
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class ASubADivConstMulConst(PeepholeOptimizationExprBase):
|
|
8
|
-
__slots__ = ()
|
|
9
|
-
|
|
10
|
-
NAME = "a - (a / N) * N => a % N"
|
|
11
|
-
expr_classes = (BinaryOp,)
|
|
12
|
-
|
|
13
|
-
def optimize(self, expr: BinaryOp, **kwargs):
|
|
14
|
-
if (
|
|
15
|
-
expr.op == "Sub"
|
|
16
|
-
and len(expr.operands) == 2
|
|
17
|
-
and isinstance(expr.operands[1], BinaryOp)
|
|
18
|
-
and expr.operands[1].op == "Mul"
|
|
19
|
-
and isinstance(expr.operands[1].operands[1], Const)
|
|
20
|
-
):
|
|
21
|
-
a0, op1 = expr.operands
|
|
22
|
-
op1_left = op1.operands[0]
|
|
23
|
-
mul_const = expr.operands[1].operands[1]
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
isinstance(op1_left, Convert)
|
|
27
|
-
and isinstance(a0, Convert)
|
|
28
|
-
and op1_left.to_bits == a0.to_bits
|
|
29
|
-
and op1_left.from_bits == a0.from_bits
|
|
30
|
-
):
|
|
31
|
-
# Convert(a) - (Convert(a / N)) * N ==> Convert(a) % N
|
|
32
|
-
conv_expr = a0
|
|
33
|
-
a0 = a0.operand
|
|
34
|
-
op1_left = op1_left.operand
|
|
35
|
-
else:
|
|
36
|
-
conv_expr = None
|
|
37
|
-
|
|
38
|
-
if isinstance(op1_left, BinaryOp) and op1_left.op == "Div" and isinstance(op1_left.operands[1], Const):
|
|
39
|
-
# a - (a / N) * N ==> a % N
|
|
40
|
-
a1 = op1_left.operands[0]
|
|
41
|
-
div_const = op1_left.operands[1]
|
|
42
|
-
|
|
43
|
-
if a0.likes(a1) and mul_const.value == div_const.value:
|
|
44
|
-
operands = [a0, div_const]
|
|
45
|
-
mod = BinaryOp(expr.idx, "Mod", operands, False, bits=a0.bits, **expr.tags)
|
|
46
|
-
if conv_expr is not None:
|
|
47
|
-
mod = Convert(
|
|
48
|
-
conv_expr.idx,
|
|
49
|
-
conv_expr.from_bits,
|
|
50
|
-
conv_expr.to_bits,
|
|
51
|
-
conv_expr.is_signed,
|
|
52
|
-
mod,
|
|
53
|
-
**conv_expr.tags,
|
|
54
|
-
)
|
|
55
|
-
return mod
|
|
56
|
-
|
|
57
|
-
return None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|