Vincenzo Levizzani

11 papers C 2Journal 9
YearRankTypeTitle / Venue / Authors
2023 C conf
IGARSS
Giulia Panegrossi, Daniele Casella, Paolo Sanò, Andrea Camplani, Stefano Dietrich, Sante Laviola, Elsa Cattani, Vincenzo Levizzani, Luca Baldini, Mario Montopoli, Domenico Cimini, Alessandro Battaglia
2022 J jnl
Remote. Sens.
Sante Laviola, Giulio Monte, Elsa Cattani, Vincenzo Levizzani
2022 J jnl
Remote. Sens.
Alessandro Bracci, Luca Baldini, Nicoletta Roberto, Elisa Adirosi, Mario Montopoli, Claudio Scarchilli, Paolo Grigioni, Virginia Ciardini, Vincenzo Levizzani, Federico Porcù
2021 J jnl
Remote. Sens.
Elsa Cattani, Olivia Ferguglia, Andrés Merino, Vincenzo Levizzani
2020 J jnl
Remote. Sens.
Sante Laviola, Giulio Monte, Vincenzo Levizzani, Ralph R. Ferraro, James Beauchamp
2020 J jnl
Remote. Sens.
Sante Laviola, Vincenzo Levizzani, Ralph R. Ferraro, James Beauchamp
2019 J jnl
Remote. Sens.
Vincenzo Levizzani, Elsa Cattani
2018 J jnl
Remote. Sens.
Elsa Cattani, Andrés Merino, José A. Guijarro, Vincenzo Levizzani
2015 C conf
IGARSS
Sante Laviola, Jun Dong, Cezar Kongoli, Huan Meng, Ralph Ferraro, Vincenzo Levizzani
2011 J jnl
Remote. Sens.
Vincenzo Levizzani, Sante Laviola, Elsa Cattani
2010 J jnl
Environ. Model. Softw.
Dario Conte, Mario Marcello Miglietta, Agata Moscatello, Steve Albers, Vincenzo Levizzani
redb/extractors/decompiler/bninja/function_type.py
← Index redb/extractors/decompiler/bninja/function_type.py python
from enum import Enum

import binaryninja


class FunctionType(Enum):
    USER = "USER"
    LIBRARY = "LIBRARY"
    EXTERNAL = "EXTERNAL"
    THUNK = "THUNK"
    UNKNOWN = "UNKNOWN"


class FunctionTypeAnalysis:
    """Get the function kind based on the symbol type associated to this function"""

    def __init__(self, function):
        """Sets the function type dependent on the symbol type associated to this function. If
        any errors occur, then returns UNKNOWN
        """
        self.func_type = FunctionType.USER

        try:
            symbol_type = function.symbol.type
            # Check if it's an external function (there should not be, already skipping these)
            if symbol_type == binaryninja.enums.SymbolType.ImportedFunctionSymbol:
                self.func_type = FunctionType.EXTERNAL

            # Library functions detected by Binary Ninja
            if symbol_type == binaryninja.enums.SymbolType.LibraryFunctionSymbol:
                self.func_type = FunctionType.LIBRARY

            # Check if it's a thunk function
            if function.is_thunk:
                self.func_type = FunctionType.THUNK

        except Exception as _:
            self.func_type = FunctionType.UNKNOWN

    def get_function_type(self):
        return self.func_type