Ioannis Delis

14 papers Journal 11Unranked 3
YearRankTypeTitle / Venue / Authors
2022 J jnl
NeuroImage
Joshua Bolam, Stephanie C. Boyle, Robin A. A. Ince, Ioannis Delis
2022 J jnl
NeuroImage
Aldo Pastore, Alice Tomassini, Ioannis Delis, Elisa Dolfini, Luciano Fadiga, Alessandro D'Ausilio
2020 J jnl
Cogn. Comput. Syst.
Rajat Emanuel Singh, Gannon A. White, Ioannis Delis, Kamran Iqbal
2018 conf
SETN
Ioannis Delis, Pauline M. Hilt, Thierry Pozzo, Stefano Panzeri, Bastien Berret
2018 J jnl
NeuroImage
Ioannis Delis, Jacek P. Dmochowski, Paul Sajda, Qi Wang
2018 conf
SETN
Ioannis Delis, Jacek P. Dmochowski, Paul Sajda, Qi Wang
2018 J jnl
Frontiers Comput. Neurosci.
Pauline M. Hilt, Ioannis Delis, Thierry Pozzo, Bastien Berret
2016 conf
Biomechanics of Anthropomorphic Systems
Bastien Berret, Ioannis Delis, Jérémie Gaveau, Frédéric Jean
2016 J jnl
NeuroImage
Ioannis Delis, Arno Onken, Philippe G. Schyns, Stefano Panzeri, Marios G. Philiastides
2016 J jnl
PLoS Comput. Biol.
Arno Onken, Jian K. Liu, P. P. Chamanthi R. Karunasekara, Ioannis Delis, Tim Gollisch, Stefano Panzeri
2013 J jnl
Frontiers Comput. Neurosci.
Ioannis Delis, Bastien Berret, Thierry Pozzo, Stefano Panzeri
2013 J jnl
Frontiers Comput. Neurosci.
Enrico Chiovetto, Bastien Berret, Ioannis Delis, Stefano Panzeri, Thierry Pozzo
2013 J jnl
Frontiers Comput. Neurosci.
Cristiano Alessandro, Ioannis Delis, Francesco Nori, Stefano Panzeri, Bastien Berret
2013 J jnl
Frontiers Comput. Neurosci.
Ioannis Delis, Bastien Berret, Thierry Pozzo, Stefano Panzeri
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