Cezary Sobaniec

18 papers B 1C 2Misc 6Unranked 8
YearRankTypeTitle / Venue / Authors
2014 conf
PaPEC@EuroSys
Szymon Francuzik, Cezary Sobaniec, Dariusz Wawrzyniak
2014 ch.
Advanced SOA Tools and Applications
Jerzy Brzezinski, Dariusz Dwornikowski, Anna Kobusinska, Jacek Kobusinski, Michal Sajkowski, Cezary Sobaniec, Michal Szychowiak, Dariusz Wawrzyniak, Pawel T. Wojciechowski
2012 conf
ADBIS (2)
Marcin Bazydlo, Szymon Francuzik, Cezary Sobaniec, Dariusz Wawrzyniak
2012 conf
ADHOC-NOW
Jerzy Brzezinski, Michal Kalewski, Cezary Sobaniec
2011 conf
PPAM (1)
Marcin Bazydlo, Szymon Francuzik, Cezary Sobaniec, Dariusz Wawrzyniak
2011 conf
ADCONS
Marcin Bazydlo, Szymon Francuzik, Cezary Sobaniec, Dariusz Wawrzyniak
2009 conf
PPAM (1)
Jerzy Brzezinski, Cezary Sobaniec, Dariusz Wawrzyniak
2007 Misc conf
PPAM
Jerzy Brzezinski, Michal Kalewski, Cezary Sobaniec
2006 conf
ICCSA (5)
Jerzy Brzezinski, Cezary Sobaniec, Dariusz Wawrzyniak
2005 Misc conf
International Conference on Computational Science (3)
Jerzy Brzezinski, Cezary Sobaniec, Dariusz Wawrzyniak
2005 Misc conf
PPAM
Jerzy Brzezinski, Cezary Sobaniec
2005 B conf
CCGRID
Anna Kobusinska, Cezary Sobaniec, Marek Libuda, Dariusz Wawrzyniak
2004 Misc conf
International Conference on Computational Science
Jerzy Brzezinski, Cezary Sobaniec
2004 C conf
PDP
Jerzy Brzezinski, Cezary Sobaniec, Dariusz Wawrzyniak
2004 conf
Parallel and Distributed Computing and Networks
Cezary Sobaniec, Dariusz Wawrzyniak
2003 Misc conf
PPAM
Jerzy Brzezinski, Cezary Sobaniec, Dariusz Wawrzyniak
2003 Misc conf
PDPTA
Pawel Gruszczynski, Cezary Sobaniec, Andrzej Swedrzynski, Dariusz Wawrzyniak
2000 C conf
IEA/AIE
Bogdan D. Czejdo, Cezary Sobaniec
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