Isabella Gransbury

13 papers A* 1A 1Unranked 11
YearRankTypeTitle / Venue / Authors
2023 conf
ICER (2)
Isabella Gransbury
2023 conf
ITiCSE (1)
Matthew Zahn, Isabella Gransbury, Sarah Heckman, Lina Battestilli
2023 conf
SIGCSE (1)
Monica M. McGill, Angelica Thompson, Isabella Gransbury, Sarah Heckman, Jennifer Rosato, Leigh Ann DeLyser
2023 conf
RESPECT
Isabella Gransbury, Janet Brock, Veronica Cateté, Tiffany Barnes, Shuchi Grover, Ákos Lédeczi
2023 conf
WiPSCE
Isabella Gransbury, Janet Brock, Emily Root, Veronica Cateté, Tiffany Barnes, Shuchi Grover, Ákos Lédeczi
2023 conf
ICER (2)
Janet Brock, Isabella Gransbury, Veronica Cateté, Tiffany Barnes, Shuchi Grover, Ákos Lédeczi
2022 conf
ICER (2)
Isabella Gransbury, Monica M. McGill, Angelica Thompson, Sarah Heckman, Jennifer Rosato, Leigh Ann DeLyser
2022 A* conf
AAAI
Lauren Alvarez, Isabella Gransbury, Veronica Cateté, Tiffany Barnes, Ákos Lédeczi, Shuchi Grover
2022 conf
ITiCSE (1)
Ally Limke, Alexandra Milliken, Veronica Cateté, Isabella Gransbury, Amy Isvik, Thomas W. Price, Chris Martens, Tiffany Barnes
2022 conf
SIGCSE (2)
Veronica Cateté, Lauren Alvarez, Shuchi Grover, Isabella Gransbury, Brian Broll, Madeline Drayton, Audrey Coats, April Collins, Ákos Lédeczi, Tiffany Barnes
2022 conf
ITiCSE (2)
Isabella Gransbury
2021 A conf
ICER
Alexandra Milliken, Veronica Cateté, Ally Limke, Isabella Gransbury, Hannah E. Chipman, Yihuan Dong, Tiffany Barnes
2021 conf
RESPECT
Amy Isvik, Veronica Cateté, Dave Bell, Isabella Gransbury, Tiffany Barnes
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