Rajdeep Dutta

12 papers A 1C 2Misc 1Journal 8
YearRankTypeTitle / Venue / Authors
2024 Misc conf
ICASSP
Rajdeep Dutta, Qincheng Wang, Ankur Singh, Dhruv Kumarjiguda, Xiaoli Li, Senthilnath Jayavelu
2024 J jnl
CoRR
J. Senthilnath, Bangjian Zhou, Zhen Wei Ng, Deeksha Aggarwal, Rajdeep Dutta, Ji Wei Yoon, Aye Phyu Phyu Aung, Keyu Wu, Min Wu, Xiaoli Li
2023 J jnl
Neurocomputing
Rajdeep Dutta, Harikumar Kandath, Senthilnath Jayavelu, Xiao-Li Li, Suresh Sundaram, Daniel J. Pack
2023 J jnl
CoRR
Rajdeep Dutta, Qincheng Wang, Ankur Singh, Dhruv Kumarjiguda, Xiaoli Li, Senthilnath Jayavelu
2022 C conf
ACC
Harikumar Kandath, Rajdeep Dutta, J. Senthilnath
2022 J jnl
CoRR
Jinraj V. Pushpangathan, Harikumar Kandath, Rajdeep Dutta, Rajarshi Bardhan, J. Senthilnath
2018 J jnl
IEEE Trans. Control. Syst. Technol.
Rajdeep Dutta, Liang Sun, Daniel J. Pack
2017 J jnl
CoRR
Rajdeep Dutta, Chunjiang Qian, Liang Sun, Daniel J. Pack
2016 C conf
ACC
Rajdeep Dutta, Liang Sun, Daniel J. Pack
2016 J jnl
CoRR
Rajdeep Dutta, Daniel J. Pack
2014 A conf
IROS
Rajdeep Dutta, Liang Sun, Mangal Kothari, Rajnikant Sharma, Daniel J. Pack
2013 J jnl
Swarm Evol. Comput.
Rajdeep Dutta, Ranjan Ganguli, V. Mani
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