Neiyer S. Correal

13 papers B 2Journal 4Unranked 6
YearRankTypeTitle / Venue / Authors
2012 conf
DySPAN
Spyros Kyperountas, Qicai Shi, Alex Vallejo, Neiyer S. Correal
2008 conf
CrownCom
Frédérick Martin, Neiyer S. Correal, Randy L. Ekl, Paul Gorday, Robert J. O'Dea
2007 B conf
GLOBECOM
David Taubenheim, Wayne Chiou, Neiyer S. Correal, Paul Gorday, Spyros Kyperountas, Stephen Machan, Minh Pham, Qicai Shi, Ed Callaway, Richard Rachwalski
2007 conf
CrownCom
Spyros Kyperountas, Neiyer S. Correal, Qicai Shi, Zhuan Ye
2006 conf
VTC Fall
Qicai Shi, Neiyer S. Correal, Jian Huang, Spyros Kyperountas
2005 J jnl
IEEE Signal Process. Mag.
Neal Patwari, Joshua N. Ash, Spyros Kyperountas, Alfred O. Hero III, Randolph L. Moses, Neiyer S. Correal
2005 J jnl
IEEE J. Sel. Areas Commun.
Qicai Shi, Spyros Kyperountas, Neiyer S. Correal, Feng Niu
2004 conf
ICC
Qicai Shi, Spyros Kyperountas, Feng Niu, Neiyer S. Correal
2003 J jnl
IEEE Trans. Signal Process.
Neal Patwari, Alfred O. Hero III, Matt Perkins, Neiyer S. Correal, Robert J. O'Dea
2000
Neiyer S. Correal
1999 J jnl
IEEE J. Sel. Areas Commun.
Neiyer S. Correal, R. Michael Buehrer, Brian D. Woerner
1998 conf
ICC
Neiyer S. Correal, R. Michael Buehrer, Brian D. Woerner
1997 B conf
PIMRC
Neiyer S. Correal, R. Michael Buehrer, Brian D. Woerner
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