mirror of
https://github.com/mandiant/capa.git
synced 2025-12-12 07:40:38 -08:00
committed by
Willi Ballenthin
parent
6c61a91778
commit
aa8e4603d1
@@ -81,8 +81,21 @@ def _render_expression_tree(
|
|||||||
|
|
||||||
if expression.type == BinExport2.Expression.REGISTER:
|
if expression.type == BinExport2.Expression.REGISTER:
|
||||||
o.write(expression.symbol)
|
o.write(expression.symbol)
|
||||||
assert len(children_tree_indexes) == 0
|
assert len(children_tree_indexes) <= 1
|
||||||
return
|
|
||||||
|
if len(children_tree_indexes) == 0:
|
||||||
|
return
|
||||||
|
elif len(children_tree_indexes) == 1:
|
||||||
|
# like for aarch64 with vector instructions, indicating vector data size:
|
||||||
|
#
|
||||||
|
# FADD V0.4S, V1.4S, V2.4S
|
||||||
|
#
|
||||||
|
# see: https://github.com/mandiant/capa/issues/2528
|
||||||
|
child_index = children_tree_indexes[0]
|
||||||
|
_render_expression_tree(be2, operand, expression_tree, child_index, o)
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
raise NotImplementedError(len(children_tree_indexes))
|
||||||
|
|
||||||
elif expression.type == BinExport2.Expression.SYMBOL:
|
elif expression.type == BinExport2.Expression.SYMBOL:
|
||||||
o.write(expression.symbol)
|
o.write(expression.symbol)
|
||||||
|
|||||||
Reference in New Issue
Block a user