R. S. Raja Durai

11 papers B 1C 2Journal 5Unranked 3
YearRankTypeTitle / Venue / Authors
2025 conf
FICC (2)
R. S. Raja Durai, Suk-Geun Hwang, Ashwini Kumar, Ki-Bong Nam
2022 J jnl
Discret. Math. Algorithms Appl.
Ashwini Kumar, R. S. Raja Durai
2022 J jnl
Appl. Algebra Eng. Commun. Comput.
R. S. Raja Durai, Meenakshi Devi, Ashwini Kumar
2021 conf
ICMC
Ashwini Kumar, R. S. Raja Durai
2021 J jnl
Discret. Math. Algorithms Appl.
Meenakshi Devi, R. S. Raja Durai, Ashwini Kumar, Hongjun Xu
2019 J jnl
Finite Fields Their Appl.
Meenakshi Devi, R. S. Raja Durai, Hongjun Xu
2016 C conf
ISITA
R. S. Raja Durai
2013 C conf
ISI
R. S. Raja Durai, Meenakshi Devi
2011 conf
IWSDA
R. S. Raja Durai
2007 J jnl
IEICE Trans. Fundam. Electron. Commun. Comput. Sci.
R. S. Raja Durai, Naoki Suehiro, Chenggao Han
2002 B conf
ITW
W. B. Vasantha, R. S. Raja Durai
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