Xiaoke Hao

38 papers A* 1Misc 1Journal 30Unranked 6
YearRankTypeTitle / Venue / Authors
2026 J jnl
Neurocomputing
Chuanbo Feng, Xinchu Lu, Jing Qin, Daoqiang Zhang, Xiaoke Hao
2025 J jnl
IEEE J. Biomed. Health Informatics
Xiaoke Hao, Mingming Ma, Jiaqing Tao, Jiahui Cao, Jing Qin, Feng Liu, Daoqiang Zhang, Dong Ming
2025 J jnl
Neural Comput. Appl.
Yuxiao Geng, Shuo Shi, Xiaoke Hao
2025 A* conf
AAAI
Shiyu Liu, Daoqiang Zhang, Xiaoke Hao
2025 J jnl
Knowl. Based Syst.
Jiaqing Tao, Zewen Liu, Mingming Ma, Jing Qin, Feng Liu, Xiaoke Hao
2025 J jnl
Neural Networks
Xiaoke Hao, Shiyu Liu, Chuanbo Feng, Ye Zhu
2025 conf
MICCAI (12)
Shuo Shi, Xulei Zheng, Taiyi Wu, Xiaoke Hao
2024 conf
ISBI
Xiaoke Hao, Mingming Ma, Yingchun Guo, Jiawang Li, Jing Qin, Daoqiang Zhang
2024 J jnl
Multim. Tools Appl.
Ming Yu, Jiecong Shi, Cuihong Xue, Xiaoke Hao, Gang Yan
2024 J jnl
Comput. Biol. Medicine
Xiaoke Hao, Jiawang Li, Mingming Ma, Jing Qin, Daoqiang Zhang, Feng Liu
2024 J jnl
Neural Comput. Appl.
Yingchun Guo, Meng Zhang, Xiaoke Hao, Gang Yan
2024 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Xiaoke Hao, Jingyi Wang, Zilong He, Yingchun Guo, Ming Yu, Feng Liu, Jing Qin, Daoqiang Zhang
2024 J jnl
IEEE Signal Process. Lett.
Ye Zhu, Jian Liu, Yang Yu, Yingchun Guo, Xiaoke Hao
2024 J jnl
CoRR
Xiaoke Hao, Shiyu Liu, Chuanbo Feng, Ye Zhu
2023 J jnl
IEEE Trans. Biomed. Eng.
Xiaoke Hao, Qihao Tan, Yingchun Guo, Yunjia Xiao, Ming Yu, Meiling Wang, Jing Qin, Daoqiang Zhang, Alzheimer's Disease Neuroimaging Initiative
2023 J jnl
Int. J. Autom. Comput.
Mei-Ling Wang, Wei Shao, Xiaoke Hao, Daoqiang Zhang
2023 J jnl
IEEE Trans. Cogn. Dev. Syst.
Xiaoke Hao, Ruxue Wang, Yingchun Guo, Yunjia Xiao, Ming Yu, Meiling Wang, Weibin Chen, Daoqiang Zhang
2022 conf
ICCSE (3)
Hua Lv, Ye Zhu, Yingchun Guo, Gang Yan, Yang Yu, Xiaoke Hao
2022 J jnl
Bioinform.
Meiling Wang, Wei Shao, Xiaoke Hao, Shuo Huang, Daoqiang Zhang
2022 J jnl
Neurocomputing
Yingchun Guo, Fang Feng, Xiaoke Hao, Xi Chen
2022 J jnl
J. Vis. Commun. Image Represent.
Ye Zhu, Chao Wang, Shuze Geng, Yang Yu, Xiaoke Hao
2021 J jnl
IEEE Trans. Image Process.
Xiaoke Hao, Jie Li, Yingchun Guo, Tao Jiang, Ming Yu
2021 J jnl
IEEE Trans. Medical Imaging
Meiling Wang, Wei Shao, Xiaoke Hao, Daoqiang Zhang
2021 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Meiling Wang, Wei Shao, Xiaoke Hao, Li Shen, Daoqiang Zhang
2020 J jnl
Medical Image Anal.
Baiying Lei, Yujia Zhao, Zhongwei Huang, Xiaoke Hao, Feng Zhou, Ahmed Elazab, Jing Qin, Haijun Lei
2020 J jnl
Neuroinformatics
Mingliang Wang, Xiaoke Hao, Jiashuang Huang, Kangcheng Wang, Li Shen, Xijia Xu, Daoqiang Zhang, Mingxia Liu
2020 J jnl
Medical Image Anal.
Xiaoke Hao, Yongjin Bao, Yingchun Guo, Ming Yu, Daoqiang Zhang, Shannon L. Risacher, Andrew J. Saykin, Xiaohui Yao, Li Shen
2019 J jnl
IEEE Access
Yingchun Guo, Kunpeng Zhao, Xiaoke Hao, Ming Yu
2019 J jnl
Bioinform.
Meiling Wang, Xiaoke Hao, Jiashuang Huang, Wei Shao, Daoqiang Zhang
2019 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaoke Hao, Xiaohui Yao, Shannon L. Risacher, Andrew J. Saykin, Jintai Yu, Huifu Wang, Lan Tan, Li Shen, Daoqiang Zhang
2019 J jnl
IEEE J. Biomed. Health Informatics
Jiashuang Huang, Qi Zhu, Xiaoke Hao, Xiaomeng Shi, Shuzhan Gao, Xijia Xu, Daoqiang Zhang
2019 J jnl
Neurocomputing
Qi Zhu, Ning Yuan, Jiashuang Huang, Xiaoke Hao, Daoqiang Zhang
2017 J jnl
Bioinform.
Xiaoke Hao, Chanxiu Li, Jingwen Yan, Xiaohui Yao, Shannon L. Risacher, Andrew J. Saykin, Li Shen, Daoqiang Zhang
2017 conf
MICCAI (3)
Mingliang Wang, Xiaoke Hao, Jiashuang Huang, Kangcheng Wang, Xijia Xu, Daoqiang Zhang
2016 Misc conf
PSB
Xiaoke Hao, Jingwen Yan, Xiaohui Yao, Shannon L. Risacher, Andrew J. Saykin, Daoqiang Zhang, Li Shen
2016 J jnl
Neuroinformatics
Xiaoke Hao, Xiaohui Yao, Jingwen Yan, Shannon L. Risacher, Andrew J. Saykin, Daoqiang Zhang, Li Shen
2014 conf
MICCAI (2)
Xiaoke Hao, Jintai Yu, Daoqiang Zhang
2013 conf
MLMI
Xiaoke Hao, Daoqiang Zhang
redb/extractors/pe_extractor.py
← Index redb/extractors/pe_extractor.py python
import logging
from abc import ABCMeta, abstractmethod
import inspect

import magic
import pefile
from dotnetfile import DotNetPE

from redb.extractors.extractor import Extractor

logger = logging.getLogger(__name__)


@abstractmethod
class PEExtractor(Extractor, metaclass=ABCMeta):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        pe=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious
        )
        self.pe = pe if pe else self._generate_pefile_object()
        self.dotnet = None

    def _generate_pefile_object(self):
        pe = None
        try:
            pe = pefile.PE(self.filepath)
            if not pe:
                raise pefile.PEFormatError("Empty file?")
        except pefile.PEFormatError as e:
            self.log.error(f"Format error {self.hash.sha256} Full error : {e}")
        return pe

    def _generate_dotnetfile_object(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        dotnet = None
        error = None
        try:
            dotnet = DotNetPE(self.filepath)
            if not dotnet:
                raise Exception("Empty file?")
        except Exception as e:
            self.log.error(
                f"Format error dotnet file {self.hash.sha256} Full error : {e}"
            )
            error = e
        return dotnet, error

    def _check_dotnet(self):
        try:
            file_type = magic.from_buffer(self.binary)
            if ".Net" in file_type:
                return True
            for entry in self.pe.OPTIONAL_HEADER.DATA_DIRECTORY:
                # IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR is typically 14
                if (
                    entry.name == "IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR"
                    and entry.Size > 0
                ):
                    return True
            return False
        except AttributeError as e:
            self.log.error(
                f"AttributeError error dotnet file {self.hash.sha256} Full error : {e}"
            )
            return False

    def _is_signed(self):
        address = self.pe.OPTIONAL_HEADER.DATA_DIRECTORY[
            pefile.DIRECTORY_ENTRY["IMAGE_DIRECTORY_ENTRY_SECURITY"]
        ].VirtualAddress
        if address == 0:
            return False
        return True

    def _has_overlay(self):
        return bool(self.pe.get_overlay())