Wei-Wei Che

103 papers C 9Journal 88Unranked 6
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Internet Things J.
Tao Wang, Qing Li, Xiang-Gui Guo, Li-Ying Hao, Wei-Wei Che
2026 J jnl
Appl. Math. Comput.
Xin-Yu Liu, Wei-Wei Che
2026 J jnl
Autom.
Hao-Yang Zhu, Xiang-Gui Guo, Li-Ying Hao, Wei-Wei Che, Zheng-Guang Wu
2026 J jnl
IEEE Trans. Cybern.
Dong Liu, Yu-Kun Wang, Xin Wang, Wei-Wei Che, Zheng-Guang Wu
2026 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Shuo-Qiu Zhang, Wei-Wei Che, Zheng-Guang Wu
2025 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Yong-Sheng Ma, Wei-Wei Che
2025 J jnl
IEEE Trans Autom. Sci. Eng.
Jia-Lei Fu, Wei-Wei Che
2025 J jnl
IEEE Trans. Intell. Transp. Syst.
Huiying Liu, Li-Ying Hao, Wei-Wei Che
2025 J jnl
IEEE Trans Autom. Sci. Eng.
Pei-Ming Liu, Xiang-Gui Guo, Jian-Liang Wang, Wei-Wei Che, Zheng-Guang Wu
2025 J jnl
IEEE Trans. Netw. Sci. Eng.
Chen Yang, Wei-Wei Che
2025 J jnl
IEEE Trans. Intell. Transp. Syst.
Lili Zhang, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2025 J jnl
IEEE Trans. Inf. Forensics Secur.
Yong-Sheng Ma, Wei-Wei Che
2025 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Yong-Sheng Ma, Wei-Wei Che, Shixu Xu, Chao Deng, Zheng-Guang Wu
2025 J jnl
IEEE Trans. Cybern.
Yong-Sheng Ma, Wei-Wei Che
2025 J jnl
Sci. China Inf. Sci.
Tao Shi, Wei-Wei Che
2025 J jnl
IEEE Trans. Autom. Control.
Yong-Sheng Ma, Wei-Wei Che, Zheng-Guang Wu
2025 J jnl
IEEE Trans. Fuzzy Syst.
Tao Shi, Wei-Wei Che, Xiaoqiang Ren
2025 J jnl
IEEE Trans Autom. Sci. Eng.
Yong-Sheng Ma, Wei-Wei Che
2025 J jnl
Appl. Math. Comput.
Xin-Yu Liu, Wei-Wei Che
2025 J jnl
Autom.
Wei-Wei Che, Lili Zhang, Chao Deng, Zheng-Guang Wu
2025 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Lin Zhu, Dongsheng Yang, Wei-Wei Che
2025 J jnl
IEEE Trans. Cybern.
Liangze Jiang, Zheng-Guang Wu, Lei Wang, Yong Xu, Wei-Wei Che
2025 J jnl
IEEE Trans. Cybern.
Shihan Zhou, Chao Deng, Sha Fan, Bohui Wang, Wei-Wei Che
2025 J jnl
Appl. Math. Comput.
Zhen Zhang, Wei-Wei Che
2024 C conf
ICARCV
Lili Zhang, Wei-Wei Che, Zhongsheng Hou
2024 J jnl
J. Frankl. Inst.
Hao Liu, Wei-Wei Che
2024 J jnl
IEEE Trans. Cybern.
Yue-Yue Tao, Wei-Wei Che, Zheng-Guang Wu, Yong Xu, Shanling Dong
2024 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Chao Deng, Dong Yue, Wei-Wei Che, Xiangpeng Xie
2024 J jnl
IEEE Trans. Fuzzy Syst.
Yan Liu, Chao Deng, Xiangpeng Xie, Wei-Wei Che, Lili Zhang, Sha Fan
2024 J jnl
IEEE Trans. Cybern.
Wei-Wei Che, Lili Zhang, Chao Deng, Zheng-Guang Wu
2024 J jnl
IEEE Trans. Intell. Transp. Syst.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2024 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Chao Deng, Xiao-Zheng Jin, Zheng-Guang Wu, Wei-Wei Che
2024 J jnl
IEEE Trans. Fuzzy Syst.
Chao Deng, Fanzhi Meng, Xiangpeng Xie, Dong Yue, Wei-Wei Che, Sha Fan
2024 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Yang Xiao, Wei-Wei Che
2024 J jnl
J. Frankl. Inst.
Jing-Jing Yan, Chao Deng, Wei-Wei Che, Xiao-Xu Liu
2024 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Liqing Wang, Zheng-Guang Wu, Tingwen Huang, Prasun Chakrabarti, Wei-Wei Che
2024 J jnl
IEEE Trans. Cybern.
Wei-Dong Xu, Xiang-Gui Guo, Jian-Liang Wang, Wei-Wei Che, Zheng-Guang Wu
2024 J jnl
IEEE Trans. Cybern.
Shuo-Qiu Zhang, Wei-Wei Che
2024 J jnl
IEEE Trans. Cybern.
Liqing Wang, Zheng-Guang Wu, Ying Shen, Wei-Wei Che
2023 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Liang Zhao, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2023 J jnl
IEEE Trans. Cybern.
Lili Zhang, Wei-Wei Che, Bing Chen, Chong Lin
2023 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Yukan Zheng, Yuan-Xin Li, Wei-Wei Che, Zhongsheng Hou
2023 J jnl
Autom.
Lili Zhang, Chao Deng, Wei-Wei Che, Liwei An
2023 J jnl
Appl. Math. Comput.
Xiao-Zheng Jin, Yong-Sheng Ma, Wei-Wei Che
2023 J jnl
IEEE Trans. Ind. Informatics
Bai-Fan Yue, Wei-Wei Che
2023 J jnl
IEEE Trans. Intell. Transp. Syst.
Bai-Fan Yue, Wei-Wei Che
2023 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2023 J jnl
Inf. Sci.
Liang Zhao, Fuyu Zhao, Wei-Wei Che
2023 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Mouquan Shen, Xianming Wang, Ju H. Park, Yang Yi, Wei-Wei Che
2023 J jnl
IEEE Trans. Cybern.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2023 J jnl
Appl. Math. Comput.
Lei Zhang, Wei-Wei Che, Junhang Ding
2023 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2023 J jnl
IEEE Trans. Cybern.
Lili Zhang, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2023 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Lili Zhang, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2023 J jnl
IEEE Trans. Veh. Technol.
Lili Zhang, Wei-Wei Che, Shixu Xu, Chao Deng
2023 J jnl
Sci. China Inf. Sci.
Yong Xu, Zheng-Guang Wu, Wei-Wei Che, Deyuan Meng
2022 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Xiao-Zheng Jin, Wei-Wei Che, Zheng-Guang Wu, Zhen Zhao
2022 J jnl
IEEE Trans. Cybern.
Xiao-Zheng Jin, Wei-Wei Che, Zheng-Guang Wu, Hai Wang
2022 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Mouquan Shen, Yang Gu, Ju H. Park, Yang Yi, Wei-Wei Che
2022 J jnl
Inf. Sci.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng
2022 J jnl
Appl. Math. Comput.
Lin Zhu, Wei-Wei Che, Xiao-Zheng Jin
2022 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Yuanxin Li, Zhongsheng Hou, Wei-Wei Che, Zheng-Guang Wu
2022 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Bai-Fan Yue, Meng-Ying Su, Xiao-Zheng Jin, Wei-Wei Che
2022 J jnl
Inf. Sci.
Xin-Yu Liu, Wei-Wei Che
2022 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Chao Deng, Xiao-Zheng Jin, Wei-Wei Che, Hai Wang
2022 J jnl
Neurocomputing
Yang Xiao, Wei-Wei Che
2022 J jnl
IEEE Trans. Cybern.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2022 J jnl
Appl. Math. Comput.
Yong-Sheng Ma, Wei-Wei Che, Chao Deng
2022 J jnl
J. Control. Decis.
Shuo-Qiu Zhang, Wei-Wei Che, Chao Deng
2022 J jnl
IEEE Trans. Fuzzy Syst.
Lili Zhang, Wei-Wei Che, Chao Deng, Zheng-Guang Wu
2022 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Xiao-Zheng Jin, Wei-Wei Che, Zheng-Guang Wu, Chao Deng
2021 J jnl
IEEE Trans. Cybern.
Chao Deng, Wei-Wei Che, Zheng-Guang Wu
2021 J jnl
IEEE Trans. Cybern.
Yanjun Liang, Yuan-Xin Li, Wei-Wei Che, Zhongsheng Hou
2021 J jnl
Inf. Sci.
Ying-Ying Liu, Wei-Wei Che, Chao Deng
2021 J jnl
IEEE Trans. Fuzzy Syst.
Yuan-Xin Li, Xiaoyan Hu, Wei-Wei Che, Zhongsheng Hou
2021 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Chao Deng, Wei-Wei Che
2021 J jnl
J. Frankl. Inst.
Meng-Ying Su, Wei-Wei Che
2020 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Chao Deng, Wei-Wei Che, Peng Shi
2020 J jnl
IEEE CAA J. Autom. Sinica
Chao Deng, Weinan Gao, Wei-Wei Che
2020 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Wei-Wei Che, Hongye Su, Peng Shi, Zheng-Guang Wu
2020 C conf
IECON
Yong-Sheng Ma, Wei-Wei Che
2019 J jnl
J. Frankl. Inst.
Xiang-Gui Guo, Hongjian Li, Jun-Jie Zhao, Wei-Wei Che
2016 J jnl
Neurocomputing
Feng Wang, Wei-Wei Che, Huiling Xu
2016 J jnl
Neurocomputing
Pei-Pei Wang, Wei-Wei Che
2014 C conf
ACC
Yu-Long Wang, Jie Xiong, Tian-Bao Wang, Wei-Wei Che
2014 J jnl
J. Frankl. Inst.
Wei-Wei Che, Guang-Hong Yang, Xiao-Zheng Jin
2013 J jnl
J. Frankl. Inst.
Xiang-Gui Guo, Guang-Hong Yang, Wei-Wei Che
2012 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Xiao-Zheng Jin, Guang-Hong Yang, Wei-Wei Che
2012 J jnl
Eur. J. Control
Wei-Wei Che, Jian Liang Wang, Guang-Hong Yang
2010 C conf
ICARCV
Wei-Wei Che, Yan-Ping Li
2010 conf
ICCA
Wei-Wei Che, Jian Liang Wang
2009 C conf
ACC
Guang-Hong Yang, Wei-Wei Che
2009 C conf
ACC
Wei-Wei Che, Guang-Hong Yang
2009 conf
CDC
Wei-Wei Che, Jian Liang Wang, Guang-Hong Yang
2009 J jnl
Int. J. Control
Wei-Wei Che, Guang-Hong Yang
2009 conf
CDC
Wei-Wei Che, Jian Liang Wang, Guang-Hong Yang
2008 J jnl
Autom.
Guang-Hong Yang, Wei-Wei Che
2008 C conf
ACC
Wei-Wei Che, Guang-Hong Yang
2008 conf
CDC
Wei-Wei Che, Guang-Hong Yang
2007 C conf
CCA
Wei-Wei Che, Guang-Hong Yang
2007 conf
CDC
Wei-Wei Che, Guang-Hong Yang
2007 C conf
CCA
Wei-Wei Che, Guang-Hong Yang
2006 conf
CDC
Guang-Hong Yang, Wei-Wei Che
redb/extractors/elf_extractors/elf_imports.py
← Index redb/extractors/elf_extractors/elf_imports.py python
import inspect
from datetime import datetime, timezone
from typing import Any, List, Set

from elftools.elf.elffile import ELFFile
from elftools.common.exceptions import ELFError

from redb.extractors.enum import Tag
from redb.extractors.elf_extractor import ELFExtractor
from redb.models.dataclasses import ELFImport


class ELFImportExtractor(ELFExtractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        elf=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious,
            elf,
        )
        self.elf_imports = None
        self.elastic_index = self.index_prefix + "-elf_imports"
        self.log.debug(inspect.currentframe().f_code.co_name)

    def _get_import_libraries(self, elf) -> List[str]:
        """Extract imported libraries from dynamic section."""
        libraries = []

        try:
            # Get the dynamic section
            dynamic_section = elf.get_section_by_name('.dynamic')
            if not dynamic_section:
                return libraries

            # Extract DT_NEEDED entries (required libraries)
            for tag in dynamic_section.iter_tags():
                if tag.entry.d_tag == 'DT_NEEDED':
                    libraries.append(tag.needed)

        except Exception as e:
            self.log.error(f"Error extracting import libraries: {e}")

        return libraries

    def _get_imported_functions_from_symbols(self, elf) -> Set[str]:
        """Extract imported functions from dynamic symbol table."""
        imported_functions = set()

        try:
            # Get the dynamic symbol table
            dynsym_section = elf.get_section_by_name('.dynsym')
            if not dynsym_section or not hasattr(dynsym_section, 'iter_symbols'):
                return imported_functions

            # Look for undefined symbols (imports)
            for symbol in dynsym_section.iter_symbols():
                # Check if symbol is undefined (imported)
                if (symbol.entry.get('st_shndx', 0) == 'SHN_UNDEF' and
                    symbol.name and
                    symbol.entry.get('st_info', {}).get('bind') in ['STB_GLOBAL', 'STB_WEAK']):
                    imported_functions.add(symbol.name)

        except Exception as e:
            self.log.error(f"Error extracting imported functions from symbols: {e}")

        return imported_functions

    def _get_imported_functions_from_relocations(self, elf) -> Set[str]:
        """Extract imported functions from relocation sections."""
        imported_functions = set()

        try:
            # Look through relocation sections
            for section in elf.iter_sections():
                if hasattr(section, 'iter_relocations'):
                    try:
                        for relocation in section.iter_relocations():
                            # Get symbol associated with relocation
                            if hasattr(relocation, 'symbol') and relocation.symbol:
                                symbol_name = relocation.symbol.name
                                if symbol_name:
                                    imported_functions.add(symbol_name)
                    except Exception as e:
                        self.log.debug(f"Could not process relocations in section {section.name}: {e}")

        except Exception as e:
            self.log.error(f"Error extracting imported functions from relocations: {e}")

        return imported_functions

    def _get_plt_functions(self, elf) -> Set[str]:
        """Extract functions from PLT (Procedure Linkage Table) sections."""
        plt_functions = set()

        try:
            # Look for PLT-related sections
            plt_sections = ['.plt', '.plt.got', '.plt.sec']

            for section_name in plt_sections:
                section = elf.get_section_by_name(section_name)
                if section:
                    # PLT functions are typically associated with relocations
                    # We'll get them from the relocation analysis
                    pass

        except Exception as e:
            self.log.error(f"Error extracting PLT functions: {e}")

        return plt_functions

    def tag(self):
        return Tag.ELF_IMPORTS.value if hasattr(Tag, 'ELF_IMPORTS') else "elf_imports"

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)

            def extract_data(elf):
                # Extract import libraries
                import_libraries = self._get_import_libraries(elf)

                # Extract imported functions from multiple sources
                imported_functions = set()

                # From dynamic symbols
                symbol_imports = self._get_imported_functions_from_symbols(elf)
                imported_functions.update(symbol_imports)

                # From relocations
                relocation_imports = self._get_imported_functions_from_relocations(elf)
                imported_functions.update(relocation_imports)

                # From PLT
                plt_imports = self._get_plt_functions(elf)
                imported_functions.update(plt_imports)

                # Convert to sorted lists for consistent output
                import_libraries_list = sorted(list(set(import_libraries)))
                import_functions_list = sorted(list(imported_functions))

                # Return ELFImport dataclass
                return ELFImport(
                    elf_imports_total=len(import_functions_list),
                    elf_import_libraries=import_libraries_list,
                    elf_import_functions=import_functions_list,
                )

            if not self._is_elf_file():
                return None

            result = self._with_elf_file(extract_data)
            if result is None:
                return None

            self.elf_imports = result
            return self.elf_imports

        except Exception as e:
            self.log.error(f"Error extracting ELF imports {self.hash.sha256}: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        self.log.debug(inspect.currentframe().f_code.co_name)

        if exporter_type == "ElasticsearchExporter":
            return self.elf_imports
        elif exporter_type == "ClickHouseExporter":
            try:
                if not self.elf_imports:
                    return None

                # Prepare data array
                data = [[
                    self.sha256,
                    self.md5,
                    self.sha1,
                    self.elf_imports.elf_imports_total,
                    self.elf_imports.elf_import_libraries,
                    self.elf_imports.elf_import_functions,
                    datetime.now(timezone.utc)
                ]]

                column_names = [
                    'sha256', 'md5', 'sha1',
                    'elf_imports_total',
                    'elf_import_libraries',
                    'elf_import_functions',
                    'analysis_date'
                ]

                column_type_names = [
                    'FixedString(64)', 'FixedString(32)', 'FixedString(40)',
                    'UInt32',
                    'Array(LowCardinality(String))',
                    'Array(LowCardinality(String))',
                    'DateTime64(3, \'UTC\')'
                ]

                if not data:
                    return None

                return (data, column_names, column_type_names)

            except Exception as e:
                self.log.error(f"Error preparing export data: {e}")
                raise

    def get_clickhouse_table(self) -> str:
        return "redb_elf_imports"