Xiaochu Wang

19 papers B 3C 1Journal 13Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Feng Zhao, Tongxin Zheng, Dane A. Schiro, Xiaochu Wang
2022 J jnl
Appl. Soft Comput.
Huaxin Qiu, Changhao Sun, Xiaochu Wang, Wei Sun, Qingrui Zhou
2022 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Changhao Sun, Huaxin Qiu, Wei Sun, Qian Chen, Li Su, Xiaochu Wang, Qingrui Zhou
2022 J jnl
Sci. China Inf. Sci.
Huaxin Qiu, Qingrui Zhou, Changhao Sun, Xiaochu Wang
2022 J jnl
Remote. Sens.
Mingzheng Chen, Xing Wang, Meizhen Wang, Xuejun Liu, Yong Wu, Xiaochu Wang
2022 J jnl
IEEE Trans. Smart Grid
Xiaochu Wang, Wenyuan Tang
2022 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Changhao Sun, Xiaochu Wang, Huaxin Qiu, Wei Sun, Qingrui Zhou
2021 conf
ISGT-Europe
Xiaochu Wang, Keith D'Souza, Wenyuan Tang, Mesut E. Baran
2020 J jnl
IEEE Trans. Aerosp. Electron. Syst.
Xiaochu Wang, Changhao Sun, Ting Sun
2020 J jnl
CoRR
Xiaochu Wang, Wenyuan Tang
2020 conf
CDC
Changhao Sun, Xiaochu Wang, Huaxin Qiu, Qian Chen, Qingrui Zhou
2020 J jnl
Int. J. Distributed Sens. Networks
Xiaochu Wang, Ting Sun, Changhao Sun, Junqi Wang
2019 B conf
SMC
Changhao Sun, Xiaochu Wang, Huaxin Qiu, Qian Chen
2019 J jnl
IEEE Access
Xiaochu Wang, Changhao Sun, Ting Sun
2019 J jnl
IEEE Trans. Cybern.
Changhao Sun, Wei Sun, Xiaochu Wang, Qingrui Zhou
2018 B conf
SMC
Xiaochu Wang, Changhao Sun, Ting Sun, Xiaoyun Liu
2018 B conf
SMC
Changhao Sun, Xiaochu Wang, Xiaoyun Liu
2017 C conf
IECON
Xiaochu Wang, Changhao Sun, Ting Sun, Hang Yin, Fei Xing
2016 J jnl
Sensors
Hao Lu, Kaichun Zhao, Xiaochu Wang, Zheng You, Kaoli Huang
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