Ozgun Pinarer

17 papers B 4Journal 3Unranked 9
YearRankTypeTitle / Venue / Authors
2025 B conf
IEEE Big Data
Oguzhan Gungor, Sultan Turhan, Ozgun Pinarer, Souhila Arib
2025 B conf
IEEE Big Data
Eda Bahar, Ozgun Pinarer
2025 J jnl
IEEE Access
Ozgun Pinarer, Omer Komili
2024 B conf
IEEE Big Data
Ozlem Zungor, Yigit Uludag, Ozan Celikel, Ozgun Pinarer
2023 B conf
IEEE Big Data
Hasan Ali Solgun, Alp Ozcan, Ozgun Pinarer
2021 conf
IEEE BigData
Nurdan Cetinkaya, Sultan Turhan, Ozgun Pinarer
2020 conf
IEEE BigData
Ozgun Pinarer, Sultan Turhan
2019 J jnl
Computer
Ozgun Pinarer, Atay Ozgovde
2019 conf
IEEE BigData
Yunus Emre Karazag, Sultan Turhan, Ozgun Pinarer, Ahmet Teoman Naskali
2018 conf
IEEE BigData
Ozgun Pinarer, Sultan Turhan
2017 J jnl
Pervasive Mob. Comput.
Ozgun Pinarer, Yann Gripay, Sylvie Servigne, Atay Ozgovde, Atilla Baskurt
2017 conf
SIU
Ali Findik, Ozgun Pinarer, Sultan Turhan
2017
Ozgun Pinarer
2016 conf
CAiSE Workshops
Ozgun Pinarer, Yann Gripay, Sylvie Servigne, Atay Ozgovde
2016 conf
SIU
Ozgun Pinarer, Yann Gripay, Sylvie Servigne, Atay Ozgovde
2015 conf
SIU
Ozgun Pinarer, Atay Ozgovde
2014 conf
SIU
Ozgun Pinarer, Atay Ozgovde
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