Jakub Romanowski

14 papers B 2Journal 1Unranked 11
YearRankTypeTitle / Venue / Authors
2018 B conf
FUZZ-IEEE
Tomasz Rutkowski, Jakub Romanowski, Piotr Woldan, Pawel Staszewski, Radoslaw Nielek, Leszek Rutkowski
2018 conf
ICAISC (2)
Tomasz Rutkowski, Jakub Romanowski, Piotr Woldan, Pawel Staszewski, Radoslaw Nielek
2015 conf
SSCI
Jakub Romanowski, Marcin Korytkowski, Rafal Scherer
2015 conf
ICAISC (1)
Patryk Najgebauer, Janusz Rygal, Tomasz Nowak, Jakub Romanowski, Leszek Rutkowski, Sviatoslav Voloshynovskiy, Rafal Scherer
2015 J jnl
CoRR
Patryk Najgebauer, Janusz Rygal, Tomasz Nowak, Jakub Romanowski, Leszek Rutkowski, Sviatoslav Voloshynovskiy, Rafal Scherer
2014 B conf
IJCNN
Patryk Najgebauer, Tomasz Nowak, Jakub Romanowski, Marcin Gabryel, Marcin Korytkowski, Rafal Scherer
2014 conf
ICAISC (1)
Janusz Rygal, Jakub Romanowski, Rafal Scherer, Sohrab Ferdowsi
2014 conf
ICAISC (2)
Tomasz Nowak, Patryk Najgebauer, Jakub Romanowski, Marcin Gabryel, Marcin Korytkowski, Rafal Scherer, Dimce Kostadinov
2013 conf
ICAISC (1)
Janusz Rygal, Patryk Najgebauer, Jakub Romanowski, Rafal Scherer
2013 conf
PPAM (1)
Rafal Grycuk, Marcin Gabryel, Marcin Korytkowski, Jakub Romanowski, Rafal Scherer
2013 conf
ICAISC (2)
Jakub Romanowski, Tomasz Nowak, Patryk Najgebauer, Slawomir Litwinski
2013 conf
ICAISC (1)
Patryk Najgebauer, Tomasz Nowak, Jakub Romanowski, Janusz Rygal, Marcin Korytkowski
2012 conf
ICAISC (1)
Patryk Najgebauer, Tomasz Nowak, Jakub Romanowski, Janusz Rygal, Marcin Korytkowski, Rafal Scherer
2012 conf
ICAISC (1)
Janusz Rygal, Patryk Najgebauer, Tomasz Nowak, Jakub Romanowski, Marcin Gabryel, Rafal Scherer
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