R. Mohan

14 papers Journal 10Unranked 4
YearRankTypeTitle / Venue / Authors
2026 J jnl
Secur. Priv.
Ambairam Muthu Sivakrishna, R. Mohan, Sai Keerthana Anumandla
2026 J jnl
Int. J. Data Sci. Anal.
Krunal Dhanraj Randive, R. Mohan, Ambairam Muthu Sivakrishna
2025 J jnl
Secur. Priv.
Ambairam Muthu Sivakrishna, R. Mohan, Valaparla Rohini
2024 J jnl
Comput. Oper. Res.
N. S. S. S. N. Usha Devi, R. Mohan
2023 J jnl
J. Inf. Secur. Appl.
Krunal Randive, R. Mohan, Ambairam Muthu Sivakrishna
2021 J jnl
Pattern Recognit. Lett.
Midhula Vijayan, Preeth Raguraman, R. Mohan
2020 J jnl
Multim. Tools Appl.
Midhula Vijayan, R. Mohan
2020 J jnl
Multim. Tools Appl.
Midhula Vijayan, R. Mohan, Preeth Raguraman
2018 conf
RTIP2R (1)
Midhula Vijayan, R. Mohan
2018 conf
ISDA (1)
Krunal Randive, R. Mohan
2018 conf
ISDA (1)
Midhula Vijayan, R. Mohan
2016 conf
ICIA
R. Preeth, R. Mohan, Ashwini Kumar Badal
2006 J jnl
Ann. Oper. Res.
Joseph Deasy, Eva K. Lee, T. Bortfeld, Mark P. Langer, K. Zakarian, J. Alaly, Y. Zhang, H. Liu, R. Mohan, R. Ahuja, A. Pollack, J. Purdy, Ronald L. Rardin
1993 J jnl
Comput. Aided Des.
R. Mohan, C. Bodduluri, Bahran Ravani
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