Omer Ozkan

14 papers C 2Journal 9Unranked 3
YearRankTypeTitle / Venue / Authors
2023 J jnl
Int. Trans. Oper. Res.
Omer Ozkan
2023 J jnl
Ann. Oper. Res.
Omer Ozkan, Sezgin Kilic
2022 J jnl
IEEE Trans. Engineering Management
Sezgin Kilic, Omer Ozkan
2021 J jnl
Appl. Soft Comput.
Omer Ozkan
2020 J jnl
J. Oper. Res. Soc.
Omer Ozkan, Murat Ermis, Ilker Bekmezci
2019 conf
SummerSim
Sezgin Kilic, Omer Ozkan
2019 J jnl
Comput. Appl. Math.
Omer Ozkan, Murat Ermis, Ilker Bekmezci
2018 J jnl
J. Medical Syst.
Merve Bedeloglu, Çagdas Topçu, Arzu Akgül, Ela Naz Döger, Refik Sever, Ozlenen Ozkan, Omer Ozkan, Hilmi Uysal, Ovunc Polat, Ömer Halil Çolak
2015 conf
GECCO (Companion)
Omer Ozkan, Murat Ermis, Ilker Bekmezci
2015 conf
SIU
Çagdas Topçu, Arzu Akgül, Merve Bedeloglu, Ela Naz Döger, Refik Sever, Ozlenen Ozkan, Omer Ozkan, Hilmi Uysal, Ovunc Polat, Ömer Halil Çolak
2015 J jnl
J. Intell. Fuzzy Syst.
Omer Ozkan, Murat Ermis
2010 C conf
ICMLA
Omer Ozkan, Muharrem Aktas, Huseyin Serdar Kuyuk, Serkan Bayraktaroglu
2010 C conf
ICMLA
Huseyin Serdar Kuyuk, Omer Ozkan, Ramazan Kayikci, Serkan Bayraktaroglu
2009 J jnl
Artif. Intell. Rev.
Recep Kanit, Omer Ozkan, Murat Gunduz
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