Nagendar Yamsani

11 papers Journal 6Unranked 5
YearRankTypeTitle / Venue / Authors
2026 J jnl
Array
Nagendar Yamsani, P. Chenna Reddy
2024 conf
CCCI
Lakshin Pathak, Mili Virani, Mohammad S. Obaidat, Prachita Patel, Jigna J. Hathaliya, Nilesh Kumar Jadav, Sudeep Tanwar, Nagendar Yamsani
2024 J jnl
Int. J. Crit. Infrastructure Prot.
Khushi Jatinkumar Raval, Nilesh Kumar Jadav, Tejal Rathod, Sudeep Tanwar, Vrince Vimal, Nagendar Yamsani
2024 conf
CCCI
Sapan Anupkumar Shah, Shanika Soni, Mohammad S. Obaidat, Nilesh Kumar Jadav, Jigna J. Hathaliya, Sudeep Tanwar, Nagendar Yamsani
2024 J jnl
Concurr. Comput. Pract. Exp.
M. Anand Kumar, Edeh Michael Onyema, B. Sundaravadivazhagan, Manish Gupta, Achyut Shankar, Venkataramaiah Gude, Nagendar Yamsani
2024 J jnl
Artif. Intell. Medicine
Vrutti Tandel, Aparna Kumari, Sudeep Tanwar, Anupam Singh, Ravi Sharma, Nagendar Yamsani
2024 J jnl
Secur. Priv.
Alay Patel, Devam Patel, Riya Kakkar, Parita Rajiv Oza, Smita Agrawal, Sudeep Tanwar, Ravi Sharma, Nagendar Yamsani
2023 J jnl
Sensors
Tejal Rathod, Nilesh Kumar Jadav, Sudeep Tanwar, Zdzislaw Polkowski, Nagendar Yamsani, Ravi Sharma, Fayez Alqahtani, Amr Gafar
2023 conf
IC3I
Digvijay Singh, Shaik Vaseem Akram, Nagendar Yamsani
2023 conf
IC3I
Rakesh Kumar, Rakesh Ranjan, Digvijay Singh, Nagendar Yamsani
2023 conf
IC3I
Amita Bisht, Diksha Dhiman, Nagendar Yamsani
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