Xiangqian Wu

20 papers A* 1A 2B 1C 1Journal 15
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Hongwei Ren, Youxin Jiang, Qifei Gu, Xiangqian Wu
2026 J jnl
Comput. Vis. Image Underst.
Tonghua Su, Fuxiang Yang, Lei Fan, Donglin Di, Zhongjie Wang, Songze Li, Xiangqian Wu, Xiang Zhou
2026 J jnl
Pattern Recognit.
Xuan Li, Ding Ma, Xiangqian Wu
2025 J jnl
CoRR
He Feng, Yongjia Ma, Donglin Di, Lei Fan, Tonghua Su, Xiangqian Wu
2025 A conf
ICME
Fuxiang Yang, Tonghua Su, Donglin Di, Yin Chen, Xiangqian Wu, Zhongjie Wang, Lei Fan
2025 J jnl
CoRR
Fuxiang Yang, Tonghua Su, Donglin Di, Yin Chen, Xiangqian Wu, Zhongjie Wang, Lei Fan
2025 A* conf
IJCAI
Binghong Chen, Tingting Chai, Wei Jiang, Yuanrong Xu, Guanglu Zhou, Xiangqian Wu
2025 J jnl
CoRR
Binghong Chen, Tingting Chai, Wei Jiang, Yuanrong Xu, Guanglu Zhou, Xiangqian Wu
2025 J jnl
Neurocomputing
Haobo Yang, Zhichong Li, Xiangqian Wu
2025 A conf
ICME
Xingqian Guo, Tingting Chai, Lunke Fei, JiaLing Xu, Guanglu Zhou, Xiangqian Wu, Haoxing Cao
2024 J jnl
Proc. VLDB Endow.
Zian Bao, Bie Binbin, Wenfei Fan, Daji Li, MengYun Li, Kaiwen Lin, Wei Lin, Peijie Liu, Peng Liu, Zhicong Lv, Mingliang Ouyang, Chenyang Sun, Shuai Tang, Yaoshu Wang, Qiyuan Wei, Xiangqian Wu, Min Xie, Jing Zhang, Runxiao Zhao, Jie Zhu, Yilin Zhu
2022 J jnl
Remote. Sens.
Xiangqian Wu, Xin Shen, Zhengnan Zhang, Fuliang Cao, Guanghui She, Lin Cao
2020 J jnl
ISPRS Int. J. Geo Inf.
Jingxue Wang, Ning Zhang, Xiangqian Wu, Weixi Wang
2020 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Zhong Xu, Xin Shen, Lin Cao, Nicholas C. Coops, Tristan R. H. Goodbody, Tai Zhong, Weidong Zhao, Qinglei Sun, Sang Ba, Zhengnan Zhang, Xiangqian Wu
2019 J jnl
Remote. Sens.
Xiangqian Wu, Xin Shen, Lin Cao, Guibin Wang, Fuliang Cao
2019 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Lin Cao, Kun Liu, Xin Shen, Xiangqian Wu, Hao Liu
2011 J jnl
J. Multim.
Taha Mohammed Hasan, Xiangqian Wu
2005 C conf
IGARSS
Xiangqian Wu, Mike Weinreb, I-Lok Chang, David Crosby, Charles Dean, F. Sun, Dejiang Han
2001 B conf
SMC
Jiangqin Wu, Wen Gao, Jingkai Liang, Xiangqian Wu
1997 J jnl
IEEE Trans. Geosci. Remote. Sens.
Barbara A. Burns, Xiangqian Wu, George R. Diak
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())