Raimundo S. Moura

15 papers B 2C 3Misc 1Journal 2Unranked 7
YearRankTypeTitle / Venue / Authors
2024 conf
STIL
Rafael T. Anchiêta, Rogério F. de Sousa, Raimundo S. Moura
2024 conf
BRACIS (3)
Joyce M. Silva, Rafael T. Anchiêta, Rogério F. de Sousa, Raimundo S. Moura
2024 conf
PROPOR (2)
Rogério F. de Sousa, Jeziel C. Marinho, Francisco A. Ricarte Neto, Rafael T. Anchiêta, Raimundo S. Moura
2022 J jnl
J. Inf. Data Manag.
Jeziel C. Marinho, Rafael T. Anchiêta, Raimundo S. Moura
2021 Misc conf
RANLP
Ghivvago Damas Saraiva, Rafael T. Anchiêta, Francisco Assis Ricarte Neto, Raimundo S. Moura
2021 J jnl
CoRR
Jeziel C. Marinho, Rafael T. Anchiêta, Raimundo S. Moura
2021 conf
IberLEF@SEPLN
Rafael T. Anchiêta, Francisco A. Ricarte Neto, Jeziel C. Marinho, Kauan V. do Nascimento, Raimundo S. Moura
2017 C conf
NLDB
Carlos A. de Sá, Roney L. de S. Santos, Raimundo S. Moura
2017 conf
WebMedia
Rafael T. Anchiêta, Raimundo S. Moura
2017 conf
STIL
Rafael T. Anchiêta, Rogério F. de Sousa, Raimundo S. Moura, Thiago A. S. Pardo
2016 B conf
IJCNN
Roney L. de S. Santos, Rogério F. de Sousa, Ricardo A. L. Rabêlo, Raimundo S. Moura
2016 conf
SCCC
Roney L. de S. Santos, Joao Paulo Vieira, Jardeson L. N. Barbosa, Carlos A. de Sá, Ellen Gera de Brito Moura, Raimundo S. Moura, Rogério F. de Sousa
2015 B conf
FUZZ-IEEE
Rogério F. de Sousa, Ricardo A. L. Rabêlo, Raimundo S. Moura
2015 C conf
CLEI
Hecio A. Soares, Raimundo S. Moura
2012 C conf
CLEI
Rafael T. Anchiêta, Rogério F. de Sousa, Raimundo S. Moura
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