Carsten Rachuy

11 papers A 1Journal 2Unranked 8
YearRankTypeTitle / Venue / Authors
2020 J jnl
J. Intell. Robotic Syst.
David Nakath, Joachim Clemens, Carsten Rachuy
2014 conf
ICAT-EGVE (Posters and Demos)
Christof Büskens, Joachim Clemens, Bernd Eissfeller, Roger Förstner, Konrad Gadzicki, Graciela Gonzales Peytavi, Patrick Lange, David Nakath, Alena Probst, Carsten Rachuy, Kerstin Schill, Anne Schattel, Verena Schwarting, Abhishek Srinivas, Mitja Wöbbekind, Gabriel Zachmann
2013 conf
HEALTHINF
Cui Jian, Hui Shi, Nadine Sasse, Carsten Rachuy, Frank Schafmeister, Holger Schmidt, Nicole von Steinbüchel
2013 conf
BIOSTEC (Selected Papers)
Cui Jian, Hui Shi, Nadine Sasse, Carsten Rachuy, Frank Schafmeister, Holger Schmidt, Nicole von Steinbüchel
2012 conf
HEALTHINF
Cui Jian, Frank Schafmeister, Carsten Rachuy, Nadine Sasse, Hui Shi, Holger Schmidt, Nicole von Steinbüchel
2012 conf
HEALTHINF
Carolin Zschippig, Carsten Rachuy, Kerstin Schill
2012 conf
BIOSTEC (Selected Papers)
Cui Jian, Hui Shi, Frank Schafmeister, Carsten Rachuy, Nadine Sasse, Holger Schmidt, Volker Hoemberg, Nicole von Steinbüchel
2011 J jnl
Int. J. Comput. Linguistics Appl.
Hui Shi, Cui Jian, Carsten Rachuy
2011 conf
PETRA
Cui Jian, Nadine Sasse, Nicole von Steinbüchel-Rheinwall, Frank Schafmeister, Hui Shi, Carsten Rachuy, Holger Schmidt
2011 conf
HEALTHINF
Carsten Rachuy, Sandra H. Budde, Kerstin Schill
2010 A conf
ECAI
Carsten Rachuy, Ubbo Visser
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