Hancheng Zhu

81 papers A* 9A 1B 1Journal 66Unranked 4
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Wirel. Commun.
Yichen Jin, Qingfeng Lin, Yang Li, Hancheng Zhu, Bingyang Cheng, Yik-Chung Wu, Rui Zhang
2026 A* conf
AAAI
Jiaqi Zhao, Jianpeng Xie, Yong Zhou, Wen-Liang Du, Hancheng Zhu, Rui Yao
2026 J jnl
IEEE Trans. Signal Process.
Hancheng Zhu, Zongze Li, Yik-Chung Wu, H. Vincent Poor
2026 A* conf
AAAI
Zhicheng Li, Kunyang Sun, Rui Yao, Hancheng Zhu, Fuyuan Hu, Jiaqi Zhao, Zhiwen Shao, Yong Zhou
2026 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Shuo Han, Rui Yao, Huili Hao, Qian Feng, Hancheng Zhu, Jiaqi Zhao, Yong Zhou
2026 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Zhiwen Shao, Hang Yang, Hancheng Zhu, Rui Yao, Lixin Zou, Mengtian Li, Bin Sheng
2026 J jnl
IEEE Trans. Multim.
Zhiwen Shao, Shengtian Jiang, Hancheng Zhu, Xuehuai Shi, Canlin Li, Lizhuang Ma, Dit-Yan Yeung
2026 J jnl
IEEE J. Sel. Areas Commun.
Hancheng Zhu, Zongze Li, Yik-Chung Wu
2025 A* conf
IJCAI
Xixi Li, Zhuo Gu, Rui Yao, Yong Zhou, Hancheng Zhu, Jiaqi Zhao, Wenliang Du
2025 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Yi Zheng, Yong Zhou, Fayao Liu, Jiaqi Zhao, Hancheng Zhu, Wen-Liang Du
2025 J jnl
CoRR
Hancheng Zhu, Xinyu Liu, Rui Yao, Kunyang Sun, Leida Li, Abdulmotaleb El Saddik
2025 J jnl
CoRR
Zhicheng Li, Kunyang Sun, Rui Yao, Hancheng Zhu, Fuyuan Hu, Jiaqi Zhao, Zhiwen Shao, Yong Zhou
2025 J jnl
Int. J. Comput. Vis.
Zhiwen Shao, Hancheng Zhu, Yong Zhou, Xiang Xiang, Bing Liu, Rui Yao, Lizhuang Ma
2025 A* conf
IJCAI
Zeyu Ding, Jiaqi Zhao, Yong Zhou, Wen-Liang Du, Hancheng Zhu, Rui Yao
2025 J jnl
IEEE Trans. Geosci. Remote. Sens.
Rui Yao, Lu Zhang, Yong Zhou, Hancheng Zhu, Jiaqi Zhao, Zhiwen Shao
2025 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Hancheng Zhu, Li Yan, Yong Zhou, Rui Yao, Zhiwen Shao, Jiaqi Zhao, Leida Li
2025 A* conf
IJCAI
Shenglan Li, Rui Yao, Yong Zhou, Hancheng Zhu, Kunyang Sun, Bing Liu, Zhiwen Shao, Jiaqi Zhao
2025 J jnl
CoRR
Shenglan Li, Rui Yao, Yong Zhou, Hancheng Zhu, Kunyang Sun, Bing Liu, Zhiwen Shao, Jiaqi Zhao
2025 J jnl
IEEE Trans. Fuzzy Syst.
Hancheng Zhu, Ju Shi, Zhiwen Shao, Rui Yao, Kunyang Sun, Leida Li
2025 J jnl
Expert Syst. Appl.
Jiaqi Zhao, Zeyu Ding, Yong Zhou, Hancheng Zhu, Wen-Liang Du, Rui Yao, Abdulmotaleb El Saddik
2025 A* conf
CVPR
Jiaqi Zhao, Zeyu Ding, Yong Zhou, Hancheng Zhu, Wen-Liang Du, Rui Yao
2025 J jnl
Pattern Recognit.
Xueke Tong, Hancheng Zhu, Lei Cheng, Yik-Chung Wu
2024 J jnl
IEEE Geosci. Remote. Sens. Lett.
Wen-Liang Du, Yang Gu, Jiaqi Zhao, Hancheng Zhu, Rui Yao, Yong Zhou
2024 J jnl
IEEE Trans. Veh. Technol.
Guojun Chen, Hancheng Zhu, Yinfei Xu, Tiecheng Song, Jing Hu
2024 J jnl
IEEE Trans. Signal Process.
Hancheng Zhu, Yuanwei Liu, Yik-Chung Wu, Vincent K. N. Lau
2024 A* conf
ACM Multimedia
Hancheng Zhu, Ju Shi, Zhiwen Shao, Rui Yao, Yong Zhou, Jiaqi Zhao, Leida Li
2024 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Zhiwen Shao, Yuchen Su, Yong Zhou, Fanrong Meng, Hancheng Zhu, Bing Liu, Rui Yao
2024 J jnl
CoRR
Zhiwen Shao, Hancheng Zhu, Yong Zhou, Xiang Xiang, Bing Liu, Rui Yao, Lizhuang Ma
2024 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Guanyu Zhu, Yong Zhou, Rui Yao, Hancheng Zhu
2024 J jnl
Pattern Recognit. Lett.
Zhiwen Shao, Yong Zhou, Feiran Li, Hancheng Zhu, Bing Liu
2024 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Shenglan Li, Rui Yao, Yong Zhou, Hancheng Zhu, Jiaqi Zhao, Zhiwen Shao, Abdulmotaleb El Saddik
2024 J jnl
Multim. Tools Appl.
Yi Zheng, Jiaqi Zhao, Yong Zhou, Fayao Liu, Rui Yao, Hancheng Zhu, Abdulmotaleb El Saddik
2024 J jnl
CoRR
Jiaqi Zhao, Zeyu Ding, Yong Zhou, Hancheng Zhu, Wen-Liang Du, Rui Yao, Abdulmotaleb El Saddik
2024 J jnl
IEEE Trans. Geosci. Remote. Sens.
Jiaqi Zhao, Zeyu Ding, Yong Zhou, Hancheng Zhu, Wen-Liang Du, Rui Yao, Abdulmotaleb El Saddik
2024 J jnl
CoRR
Xueke Tong, Hancheng Zhu, Lei Cheng, Yik-Chung Wu
2023 J jnl
CoRR
Zhiwen Shao, Yuchen Su, Yong Zhou, Fanrong Meng, Hancheng Zhu, Bing Liu, Rui Yao
2023 J jnl
IEEE Trans. Multim.
Guanyu Zhu, Yong Zhou, Rui Yao, Hancheng Zhu
2023 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Guanyu Zhu, Yong Zhou, Rui Yao, Hancheng Zhu, Jiaqi Zhao
2023 J jnl
IEEE Trans. Image Process.
Zhiwen Shao, Yong Zhou, Jianfei Cai, Hancheng Zhu, Rui Yao
2023 J jnl
Appl. Intell.
Zhiwen Shao, Feiran Li, Yong Zhou, Hao Chen, Hancheng Zhu, Rui Yao
2023 J jnl
IEEE Trans. Multim.
Hancheng Zhu, Yong Zhou, Leida Li, Yaqian Li, Yandong Guo
2023 A* conf
ACM Multimedia
Hancheng Zhu, Zhiwen Shao, Yong Zhou, Guangcheng Wang, Pengfei Chen, Leida Li
2023 J jnl
Pattern Anal. Appl.
Man Zhang, Yong Zhou, Bing Liu, Jiaqi Zhao, Rui Yao, Zhiwen Shao, Hancheng Zhu, Hao Chen
2023 J jnl
IEEE Trans. Multim.
Yuchen Su, Zhiwen Shao, Yong Zhou, Fanrong Meng, Hancheng Zhu, Bing Liu, Rui Yao
2023 J jnl
Multim. Tools Appl.
Shenglan Li, Rui Yao, Yong Zhou, Hancheng Zhu, Bing Liu, Jiaqi Zhao, Zhiwen Shao
2023 J jnl
IEEE Geosci. Remote. Sens. Lett.
Jiazhu Qiu, Rui Yao, Yong Zhou, Peng Wang, Yanning Zhang, Hancheng Zhu
2023 J jnl
IEEE Trans. Multim.
Man Zhang, Yong Zhou, Bing Liu, Jiaqi Zhao, Rui Yao, Zhiwen Shao, Hancheng Zhu
2022 J jnl
IEEE Geosci. Remote. Sens. Lett.
Wen-Liang Du, Yong Zhou, Hancheng Zhu, Jiaqi Zhao, Zhiwen Shao, Xiaolin Tian
2022 J jnl
Vis. Comput.
Zhiwen Shao, Yong Zhou, Bing Liu, Hancheng Zhu, Wen-Liang Du, Jiaqi Zhao
2022 J jnl
IEEE Geosci. Remote. Sens. Lett.
Yong Zhou, Han Hu, Jiaqi Zhao, Hancheng Zhu, Rui Yao, Wen-Liang Du
2022 J jnl
IEEE Geosci. Remote. Sens. Lett.
Yong Zhou, Sifan Wang, Jiaqi Zhao, Hancheng Zhu, Rui Yao
2022 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Hancheng Zhu, Leida Li, Jinjian Wu, Weisheng Dong, Guangming Shi
2022 J jnl
Pattern Recognit. Lett.
Hancheng Zhu, Yong Zhou, Rui Yao, Guangcheng Wang, Yuzhe Yang
2022 J jnl
J. Vis. Commun. Image Represent.
Hancheng Zhu, Yong Zhou, Qiaoyue Li, Zhiwen Shao
2022 J jnl
IEEE Trans. Cybern.
Hancheng Zhu, Leida Li, Jinjian Wu, Sicheng Zhao, Guiguang Ding, Guangming Shi
2022 J jnl
Multim. Tools Appl.
Minjie Liu, Jiaqi Zhao, Yong Zhou, Hancheng Zhu, Rui Yao, Ying Chen
2022 J jnl
CoRR
Yuchen Su, Zhiwen Shao, Yong Zhou, Fanrong Meng, Hancheng Zhu, Bing Liu, Rui Yao
2022 J jnl
Inf. Sci.
Guangcheng Wang, Zhongyuan Wang, Baojin Huang, Kui Jiang, Zheng He, Hancheng Zhu, Jinsheng Xiao, Xin Tian
2021 conf
CICAI
Leida Li, Bo Hu, Yipo Huang, Hancheng Zhu
2020 conf
MIPR
Tong Zhu, Feng Zhu, Hancheng Zhu, Leida Li
2020 J jnl
IEEE Signal Process. Lett.
Yipo Huang, Leida Li, Hancheng Zhu, Bo Hu
2020 J jnl
IEEE Syst. J.
Jun Wu, Yue Yu, Hancheng Zhu, Tiecheng Song, Jing Hu
2020 J jnl
Neural Process. Lett.
Hancheng Zhu, Leida Li, Hongyan Jiang, Allen Tan
2020 A* conf
CVPR
Hancheng Zhu, Leida Li, Jinjian Wu, Weisheng Dong, Guangming Shi
2020 J jnl
CoRR
Hancheng Zhu, Leida Li, Jinjian Wu, Weisheng Dong, Guangming Shi
2020 J jnl
IEEE Trans. Image Process.
Leida Li, Hancheng Zhu, Sicheng Zhao, Guiguang Ding, Weisi Lin
2019 B conf
ICMR
Leida Li, Yuzhe Yang, Hancheng Zhu
2019 J jnl
KSII Trans. Internet Inf. Syst.
Qiaoyue Li, Leida Li, Zhaolin Lu, Yu Zhou, Hancheng Zhu
2019 J jnl
J. Vis. Commun. Image Represent.
Yu Zhou, Leida Li, Hancheng Zhu, Hantao Liu, Shiqi Wang, Yao Zhao
2019 A conf
ICME
Leida Li, Hancheng Zhu, Sicheng Zhao, Guiguang Ding, Hongyan Jiang, Allen Tan
2019 J jnl
计算机科学
Xi Chen, Leida Li, Qiaoyue Li, Xixi Han, Hancheng Zhu
2018 conf
ICC Workshops
Hancheng Zhu, Tiecheng Song, Jun Wu, Xi Li, Jing Hu
2018 J jnl
Pattern Recognit. Lett.
Hancheng Zhu, Leida Li, Sicheng Zhao, Hongyan Jiang
2014 J jnl
Comput. Electr. Eng.
Leida Li, Shushang Li, Hancheng Zhu, Xiaoyue Wu
2014 J jnl
IEICE Trans. Fundam. Electron. Commun. Comput. Sci.
Leida Li, Hancheng Zhu, Gaobo Yang
2014 J jnl
IEEE Signal Process. Lett.
Leida Li, Weisi Lin, Hancheng Zhu
2014 J jnl
IEICE Trans. Inf. Syst.
Leida Li, Hancheng Zhu, Jiansheng Qian, Jeng-Shyang Pan
2014 J jnl
J. Inf. Hiding Multim. Signal Process.
Wei Zhang, Leida Li, Hancheng Zhu, Deqiang Cheng, Shu-Chuan Chu, John F. Roddick
2014 J jnl
IEEE Signal Process. Lett.
Leida Li, Hancheng Zhu, Gaobo Yang, Jiansheng Qian
2013 conf
IIH-MSP
Leida Li, Hancheng Zhu, Deqiang Cheng, Jeng-Shyang Pan
2013 J jnl
J. Inf. Hiding Multim. Signal Process.
Leida Li, Shushang Li, Hancheng Zhu, Shu-Chuan Chu, John F. Roddick, Jeng-Shyang Pan
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"