Xiangyu Shi

66 papers A* 4A 2B 1Journal 49Unranked 10
YearRankTypeTitle / Venue / Authors
2026 J jnl
J. Comput. Appl. Math.
Xiaochen Chu, Xiangyu Shi, Dongyang Shi
2026 J jnl
Comput. Stat.
Xiangyu Shi, Xiangyang Xu, Ruiyuan Cao, Tianfa Xie
2026 A* conf
AAAI
Yanting Li, Zikang Wang, Jiyue Jiang, Ziqian Lin, Dongchen He, Yuheng Shan, Yanruisheng Shao, Jiayi Li, Xiangyu Shi, Jiuming Wang, Yanyu Chen, Yimin Fan, Han Li, Yu Li
2026 J jnl
Comput. Electron. Agric.
Xiangyu Shi, Hongzhou Chen, Peipei Gao, Xu Shen, Xiaobo Zou, Jiyong Shi
2026 A* conf
AAAI
Jiyue Jiang, Yanyu Chen, Qingchuan Zhang, Jiayi Li, Xiangyu Shi, Chang Zhou, Ziqian Lin, Jiuming Wang, Dongchen He, Liang Hong, Qintong Li, Pengan Chen, Jiayang Chen, Xinrui Zhang, Jiao Yuan, Tianqing Zhang, Yu Li
2026 J jnl
CoRR
Xiangyu Shi, Junyang Ding, Xu Zhao, Sinong Zhan, Payal Mohapatra, Daniel Quispe, Kojo Welbeck, Jian Cao, Wei Chen, Ping Guo, Qi Zhu
2026 J jnl
CoRR
Jiwen Zhang, Xiangyu Shi, Siyuan Wang, Zerui Li, Zhongyu Wei, Qi Wu
2026 J jnl
CoRR
Jiwen Zhang, Zejun Li, Siyuan Wang, Xiangyu Shi, Zhongyu Wei, Qi Wu
2026 J jnl
J. Appl. Math. Comput.
Xiaochen Chu, Xiangyu Shi, Dongyang Shi
2026 J jnl
Comput. Appl. Math.
Xiaochen Chu, Xiangyu Shi, Dongyang Shi
2026 J jnl
Commun. Nonlinear Sci. Numer. Simul.
Xiaochen Chu, Xiangyu Shi, Dongyang Shi
2026 J jnl
CoRR
Xinyue Lou, Jinan Xu, Jingyi Yin, Xiaolong Wang, Zhaolu Kang, Youwei Liao, Yixuan Wang, Xiangyu Shi, Fengran Mo, Su Yao, Kaiyu Huang
2025 J jnl
Commun. Stat. Simul. Comput.
Xiangyu Shi, Ruiyuan Cao, Jiang Du, Zhuqing Miao
2025 J jnl
CoRR
Simon Sinong Zhan, Qingyuan Wu, Frank Yang, Xiangyu Shi, Chao Huang, Qi Zhu
2025 J jnl
CoRR
Jiyue Jiang, Pengan Chen, Jiuming Wang, Dongchen He, Ziqin Wei, Liang Hong, Licheng Zong, Sheng Wang, Qinze Yu, Zixian Ma, Yanyu Chen, Yimin Fan, Xiangyu Shi, Jiawei Sun, Chuan Wu, Yu Li
2025 J jnl
CoRR
Yanting Li, Jiyue Jiang, Zikang Wang, Ziqian Lin, Dongchen He, Yuheng Shan, Yanruisheng Shao, Jiayi Li, Xiangyu Shi, Jiuming Wang, Yanyu Chen, Yimin Fan, Han Li, Yu Li
2025 A conf
IROS
Xiangyu Shi, Yanyuan Qiao, Lingqiao Liu, Feras Dayoub
2025 J jnl
CoRR
Xiangyu Shi, Yanyuan Qiao, Lingqiao Liu, Feras Dayoub
2025 J jnl
CoRR
Xiangyu Shi, Zerui Li, Yanyuan Qiao, Qi Wu
2025 J jnl
Bioinform.
Qinze Yu, Chang Zhou, Jiyue Jiang, Xiangyu Shi, Yu Li
2025 J jnl
CoRR
Xiangyu Shi, Marco Chiesa, Gerald Q. Maguire Jr., Dejan Kostic
2025 conf
EMNLP (Findings)
Chang Zhou, Yuheng Shan, Pengan Chen, Xiangyu Shi, Zikang Wang, Yanting Li, Jiyue Jiang
2025 conf
ACL (Findings)
Zhenyu Wang, Zikang Wang, Jiyue Jiang, Pengan Chen, Xiangyu Shi, Yu Li
2025 J jnl
CoRR
Zhenyu Wang, Zikang Wang, Jiyue Jiang, Pengan Chen, Xiangyu Shi, Yu Li
2025 J jnl
Stat. Comput.
Xiangyu Shi, Jiang Du, Tianfa Xie
2025 J jnl
CoRR
Simon Sinong Zhan, Yao Liu, Philip Wang, ZiNan Wang, Qineng Wang, Zhian Ruan, Xiangyu Shi, Xinyu Cao, Frank Yang, Kangrui Wang, Huajie Shao, Manling Li, Qi Zhu
2025 A conf
IROS
Xiangyu Shi, Zerui Li, Wenqi Lyu, Jiatong Xia, Feras Dayoub, Yanyuan Qiao, Qi Wu
2025 J jnl
CoRR
Xiangyu Shi, Zerui Li, Wenqi Lyu, Jiatong Xia, Feras Dayoub, Yanyuan Qiao, Qi Wu
2025 conf
SportsHCI
Liyuan Sun, Yue Zheng, Qinchuan Jiang, Xiangyu Shi, Mario Romero, Renan Guarese
2025 J jnl
Commun. Nonlinear Sci. Numer. Simul.
Xiangyu Shi, Peng Jian, Dongyang Shi
2025 J jnl
Comput. Math. Appl.
Xiaochen Chu, Xiangyu Shi, Dongyang Shi
2025 J jnl
Commun. Nonlinear Sci. Numer. Simul.
Conggang Liang, Xiangyu Shi, Dongyang Shi
2025 A* conf
EMNLP
Xinyue Lou, You Li, Jinan Xu, Xiangyu Shi, Chi Chen, Kaiyu Huang
2025 J jnl
CoRR
Xinyue Lou, You Li, Jinan Xu, Xiangyu Shi, Chi Chen, Kaiyu Huang
2025 J jnl
Commun. Nonlinear Sci. Numer. Simul.
Xiaochen Chu, Xiangyu Shi, Dongyang Shi
2025 J jnl
Appl. Math. Lett.
Sihui Zhang, Xiangyu Shi, Dongyang Shi
2024 J jnl
Swarm Evol. Comput.
Zhixia Zhang, Xiangyu Shi, Zhigang Zhang, Zhihua Cui, Wensheng Zhang, Jinjun Chen
2024 A* conf
ICDE
Chunnan Wang, Hongzhi Wang, Xiangyu Shi
2024 conf
ADMA (1)
Xiangyu Shi, Dianjing Cheng, Xingyu Wu, Ping Ye, Jingqi Jia, Jiqiang Liu, Wenjia Niu
2024 J jnl
CoRR
Xiangyu Shi, Hongcheng Ding, Salaar Faroog, Deshinta Arrova Dewi, Shamsul Nahar Abdullah, Bahiah A Malek
2024 J jnl
ACM Trans. Knowl. Discov. Data
Chunnan Wang, Xiangyu Shi, Hongzhi Wang
2024 conf
ECCV Workshops (7)
Xiangyu Shi, Yanyuan Qiao, Qi Wu, Lingqiao Liu, Feras Dayoub
2024 J jnl
KSII Trans. Internet Inf. Syst.
Xiangyu Shi, Zhixia Zhang, Zhihua Cui, Xingjuan Cai
2024 J jnl
Simul. Model. Pract. Theory
Zhihua Cui, Xiangyu Shi, Zhixia Zhang, Wensheng Zhang, Jinjun Chen
2024 J jnl
Commun. Nonlinear Sci. Numer. Simul.
Xiangyu Shi, Haijie Wang, Dongyang Shi
2024 conf
CSAIDE
Chengguo Han, Bin Wang, Yufei Wu, Xiangyu Shi
2024 J jnl
Adv. Artif. Intell. Mach. Learn.
Xiangyu Shi, Yunlong Liang, Jinan Xu, Yufeng Chen
2024 B conf
GLOBECOM
Xiangyu Shi, Guanjie Li, Tom H. Luan, Zhou Su, Shui Yu, Wen Wu
2024 J jnl
CoRR
Xue Zhang, Xiangyu Shi, Xinyue Lou, Rui Qi, Yufeng Chen, Jinan Xu, Wenjuan Han
2023 J jnl
CoRR
Xiangyu Shi, Yuhao Luo, Li Wang, Haorui He, Hao Li, Lei Wang, Zhizheng Wu
2023 J jnl
CoRR
Xiangyu Shi, Yanyuan Qiao, Qi Wu, Lingqiao Liu, Feras Dayoub
2023 J jnl
Comput. Stat. Data Anal.
Xiangyu Shi, Min Xu, Jiang Du
2023 J jnl
Commun. Nonlinear Sci. Numer. Simul.
Sihui Zhang, Xiangyu Shi, Dongyang Shi
2023 J jnl
CoRR
Xiangyu Shi, Yunlong Liang, Jinan Xu, Yufeng Chen
2022 conf
ICIBE
Ruohan Wang, Xiangyu Shi
2022 J jnl
CoRR
Chunnan Wang, Hongzhi Wang, Xiangyu Shi
2022 conf
DASFAA (3)
Chunnan Wang, Hongzhi Wang, Bo Xu, Xintong Song, Xiangyu Shi, Yuhao Bao, Bo Zheng
2022 J jnl
Comput. Methods Programs Biomed.
Fan Guo, Weiqing Li, Ziqi Shen, Xiangyu Shi
2022 J jnl
Comput. Math. Appl.
Xiangyu Shi, Linzhang Lu, Haijie Wang
2022 conf
QRS Companion
Xiangyu Shi, Xiaolin Ju, Xiang Chen, Guilong Lu, Mengqi Xu
2021 J jnl
Comput. Math. Appl.
Xiangyu Shi, Linzhang Lu
2020 J jnl
Appl. Math. Comput.
Xiangyu Shi, Linzhang Lu
2020 J jnl
Appl. Math. Lett.
Xiangyu Shi, Linzhang Lu
2019 J jnl
Appl. Math. Lett.
Xiangyu Shi, Linzhang Lu
2018 J jnl
IEEE Access
Xing Gao, Xiangyu Shi, Guangyu Zhang, Juncong Lin, Minghong Liao, Kuan-Ching Li, Chaoyong Li
2017 conf
COMPSAC (2)
Kai Chen, Hongyan Mao, Xiangyu Shi, Yuanmin Xu, Ailun Liu
redb/extractors/macho_extractors/macho_exports.py
← Index redb/extractors/macho_extractors/macho_exports.py python
import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.macho_extractor import MachOExtractor
from redb.models.dataclasses import MachOExport


class MachOExportExtractor(MachOExtractor):

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

    def tag(self):
        return Tag.MACHO_EXPORT.value

    def _extract_exports(self, arch_name=None):
        """Extract export information from the MachO binary for a specific architecture."""
        self.log.debug(inspect.currentframe().f_code.co_name)

        if not self.macho:
            return None

        try:
            # Get exported symbols using new API for specific architecture
            exported_symbols = self.macho.get_exported_symbols(arch=arch_name)

            # Extract all exported symbols (may be empty for some binaries)
            # Handle None or empty dict
            if not exported_symbols:
                exported_symbols = {}
            all_symbols = []
            for dylib_name, symbols in exported_symbols.items():
                # Process symbol names
                for symbol in symbols:
                    if isinstance(symbol, bytes):
                        symbol = symbol.decode('utf-8', errors='replace')
                    all_symbols.append(symbol)

            # Create export dataclass
            macho_export = MachOExport(
                macho_exports_total=len(all_symbols),
                macho_export_symbols=all_symbols  # Empty list is fine, but None is not allowed for Array type
            )

            return macho_export

        except Exception as e:
            self.log.error(f"Error extracting MachO exports for arch {arch_name}: {e}")
            return None

    def extract(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        try:
            # Get architectures (macho is already parsed in base class)
            architectures = self.macho.get_architectures()
            if len(architectures) > 1:
                # FAT binary - return list of exports for each architecture
                results = []
                for arch_name in architectures:
                    exports = self._extract_exports(arch_name)
                    if exports:
                        exports.arch_identifier = arch_name
                        results.append(exports)
                return results
            else:
                # Single architecture - return single result
                return self._extract_exports(architectures[0] if architectures else None)
        except Exception as e:
            self.log.error(f"Error extracting MachO exports: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.extract()
        elif exporter_type == "ClickHouseExporter":
            if not self.macho:
                return None

            # Get architectures (macho is already parsed in base class)
            try:
                architectures = self.macho.get_architectures()
                is_fat = len(architectures) > 1
            except Exception as e:
                self.log.error(f"Could not get architectures: {e}")
                return None

            data = []
            current_time = datetime.now(timezone.utc)

            # Loop through each architecture (1 for single, multiple for FAT)
            for arch_name in architectures:
                # Get architecture-specific sha256
                try:
                    arch_general_info = self.macho.get_general_info(arch=arch_name)
                    arch_header_raw = self.macho.get_macho_header(arch=arch_name)
                    arch_sha256 = arch_general_info.get('SHA256', self.sha256)
                    arch_cputype_raw = arch_header_raw.get('cputype', 0) if arch_header_raw else 0
                except Exception as e:
                    self.log.warning(f"Could not get arch-specific data for {arch_name}: {e}")
                    arch_sha256 = self.sha256
                    arch_cputype_raw = 0

                # Get exports for this architecture
                macho_export = self._extract_exports(arch_name)
                if not macho_export:
                    continue

                data.append([
                    arch_sha256,                          # sha256 (arch-specific)
                    macho_export.macho_exports_total,     # macho_exports_total
                    macho_export.macho_export_symbols,    # macho_export_symbols (keep as array!)
                    current_time,                         # analysis_date
                ])

            column_names = [
                'sha256',
                'macho_exports_total', 'macho_export_symbols',
                'analysis_date'
            ]

            if not data:
                return None

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

            return (data, column_names, column_type_names)

        return None

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