Maksim Tsvetovat

15 papers C 1Journal 8Unranked 5
YearRankTypeTitle / Venue / Authors
2019 J jnl
CoRR
Sofia Dokuka, Ivan Zaikin, Kate Furman, Maksim Tsvetovat, Alex Furman
2015 J jnl
Decis. Anal.
Anamaria Berea, Maksim Tsvetovat, Nathan Daun-Barnett, Mathew Greenwald, Elena Cox
2009 ch.
Handbook of Research on Multi-Agent Systems
Maksim Tsvetovat
2008 C conf
MABS
Maksim Tsvetovat, Maciej Latek
2007 J jnl
Int. J. Netw. Virtual Organisations
Emilia Istrate, Maksim Tsvetovat, Karabi Acharya
2007 J jnl
Comput. Math. Organ. Theory
Maksim Tsvetovat, Kathleen M. Carley
2007 J jnl
Decis. Support Syst.
Kathleen M. Carley, Jana Diesner, Jeffrey Reminga, Maksim Tsvetovat
2005 J jnl
J. Soc. Struct.
Maksim Tsvetovat, Kathleen M. Carley
2004 J jnl
Künstliche Intell.
Maksim Tsvetovat, Kathleen M. Carley
2002 J jnl
Comput. Math. Organ. Theory
Maksim Tsvetovat, Kathleen M. Carley
2001 conf
Agents
Gregg Economou, Maksim Tsvetovat, Katia P. Sycara, Massimo Paolucci
2000 conf
AMEC
Maksim Tsvetovat, Katia P. Sycara, Yian Chen, James Ying
2000 conf
AAAI/IAAI
Maksim Tsvetovat, Katia P. Sycara, Yian Chen, James Ying
2000 conf
Agents
Maksim Tsvetovat, Katia P. Sycara
1999 conf
Agents
John Collins, Maksim Tsvetovat, Rashmi Sundareswara, Joshua van Tonder, Maria L. Gini, Bamshad Mobasher
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