Carl Nettelblad

18 papers B 1Journal 12Unranked 4
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Filip Thor, Carl Nettelblad
2024 conf
IPDPS (Workshops)
Maxime Gonthier, Elisabeth Larsson, Loris Marchal, Carl Nettelblad, Samuel Thibault
2023 J jnl
Bioinform.
Kristiina Ausmees, Carl Nettelblad
2022 J jnl
BMC Bioinform.
Camille Clouard, Kristiina Ausmees, Carl Nettelblad
2021 J jnl
CoRR
Yunqi Shao, Florian M. Dietrich, Carl Nettelblad, Chao Zhang
2020 B conf
ICFHR
Tomas Wilkinson, Carl Nettelblad
2020 J jnl
CoRR
Tomas Wilkinson, Carl Nettelblad
2019 J jnl
CoRR
Jing Liu, Stefan Engblom, Carl Nettelblad
2018 J jnl
BMC Bioinform.
Kristiina Ausmees, Aji John, Salman Zubair Toor, Andreas Hellander, Carl Nettelblad
2018 J jnl
CoRR
Alberto Pietrini, Carl Nettelblad
2017 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Behrang Mahjani, Salman Zubair Toor, Carl Nettelblad, Sverker Holmgren
2017 J jnl
CoRR
Stefan Engblom, Carl Nettelblad, Jing Liu
2016 J jnl
CoRR
Jessica Nettelblad, Carl Nettelblad
2016 conf
ISVC (1)
Kalyan Ram Ayyalasomayajula, Carl Nettelblad, Anders Brun
2013 J jnl
J. Comput. Biol.
Carl Nettelblad, Behrang Mahjani, Sverker Holmgren
2012
Carl Nettelblad
2010 conf
BICoB
Mahen Jayawardena, Carl Nettelblad, Salman Zubair Toor, Per-Olov Östberg, Erik Elmroth, Sverker Holmgren
2009 conf
BICoB
Carl Nettelblad, Sverker Holmgren, Lucy Crooks, Örjan Carlborg
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