Oluwafemi Odu

13 papers B 2Journal 9Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Gerhard Yu, Fuyuki Ishikawa, Oluwafemi Odu, Alvine Boaye Belle
2025 J jnl
J. Syst. Softw.
Oluwafemi Odu, Alvine B. Belle, Song Wang, Segla Kpodjedo, Timothy C. Lethbridge, Hadi Hemmati
2025 B conf
CAIN
Oluwafemi Odu, Alvine Boaye Belle, Song Wang
2025 B conf
SAFECOMP
Oluwafemi Odu, Daniel Méndez Beltrán, Emiliano Berrones Gutiérrez, Alvine B. Belle, Gerhard Yu, Melika Sherafat
2024 J jnl
CoRR
Oluwafemi Odu, Alvine Boaye Belle, Song Wang, Kimya Khakzad Shahandashti
2024 J jnl
Inf. Softw. Technol.
Kimya Khakzad Shahandashti, Alvine Boaye Belle, Timothy C. Lethbridge, Oluwafemi Odu, Mithila Sivakumar
2024 J jnl
CoRR
Oluwafemi Odu, Alvine B. Belle, Song Wang, Segla Kpodjedo, Timothy C. Lethbridge, Hadi Hemmati
2024 conf
RE Workshops
Mithila Sivakumar, Alvine B. Belle, Jinjun Shan, Oluwafemi Odu, Mingfeng Yuan
2024 J jnl
CoRR
Mithila Sivakumar, Alvine Boaye Belle, Kimya Khakzad Shahandashti, Oluwafemi Odu, Hadi Hemmati, Segla Kpodjedo, Song Wang, Opeyemi O. Adesina
2024 J jnl
CoRR
Oluwafemi Odu, Daniel Méndez Beltrán, Emiliano Berrones Gutiérrez, Alvine B. Belle, Melika Sherafat
2024 conf
RE Workshops
Kimya Khakzad Shahandashti, Alvine Boaye Belle, Mohammad Mahdi Mohajer, Oluwafemi Odu, Timothy C. Lethbridge, Hadi Hemmati, Song Wang
2023 J jnl
CoRR
Kimya Khakzad Shahandashti, Alvine Boaye Belle, Timothy C. Lethbridge, Oluwafemi Odu, Mithila Sivakumar
2023 J jnl
CoRR
Mithila Sivakumar, Alvine Boaye Belle, Jinjun Shan, Opeyemi Adesina, Song Wang, Marsha Chechik, Marios Fokaefs, Kimya Khakzad Shahandashti, Oluwafemi Odu
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