Can Jiang

16 papers C 1Journal 13Unranked 2
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Miaoge Li, Yang Chen, Zhijie Rao, Can Jiang, Jingcai Guo
2024 J jnl
Sensors
Jiawei Wen, Can Jiang, Hao Chen
2024 J jnl
IEEE Trans. Geosci. Remote. Sens.
Jiacheng Li, Xiao He, Hao Chen, Can Jiang, Wenwen Wang
2024 conf
APWeb/WAIM (3)
Jialei Wang, Can Jiang, Meirui Ren, Jin Li, Bohan Zhang, Longjiang Guo
2024 J jnl
J. Membr. Comput.
Can Jiang, Yi Ren, Bo Yang, Hong Peng, Xiaohui Luo
2023 J jnl
CoRR
Can Jiang, Xiong Liang, Yu-Cheng Zhou, Yong Tian, Shengli Xu, Jia-Rui Lin, Zhiliang Ma, Shiji Yang, Hao Zhou
2023 J jnl
CoRR
Can Jiang, Xin Li, Jia-Rui Lin, Ming Liu, Zhiliang Ma
2023 J jnl
IEEE Access
Jiawei Wen, Can Jiang, Yubing Li, Hao Chen, Weiwei Ma, Jian Wang
2023 J jnl
Sensors
Jiawei Wen, Can Jiang, Hao Chen
2023 J jnl
CoRR
Tao Wang, Can Jiang, Qing Fang, Xingxing Guo, Yahui Zhang, Chaoyuan Jin, Shuiying Xiang
2022 conf
ISPA/BDCloud/SocialCom/SustainCom
Can Jiang, Duanyang Liu, Xiaoli Zhang, Kun Zhou, Hongbing Cheng
2020 C conf
ICOST
Can Jiang, Akira Mita
2020 J jnl
Neurocomputing
Can Jiang, Feng Zhang, Jianjun Wang, Chan-Yun Yang, Wendong Wang
2020 J jnl
Int. J. Distributed Sens. Networks
Chunfeng Wan, Liyu Xie, Kangqian Xu, Songtao Xue, Can Jiang, Guochun Wan, Tao Ding
2016 J jnl
计算机科学
Jing Wang, Wei Luo, Mingsheng Ouyang, Can Jiang, Xinmei Wang
2011 J jnl
Int. J. Bifurc. Chaos
Can Jiang, Shangjiang Guo, Yigang He
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