Wei Wang

121 papers A* 20A 3B 4Misc 1Journal 82Unranked 10
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Weixin Ye, Wei Wang, Yahui Liu, Yue Song, Bin Ren, Wei Bi, Rita Cucchiara, Nicu Sebe
2026 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Weixin Ye, Wei Wang, Yahui Liu, Yue Song, Bin Ren, Wei Bi, Rita Cucchiara, Nicu Sebe
2026 J jnl
CoRR
Yikang He, Jichao Zhang, Wei Wang, Nicu Sebe, Yao Zhao
2026 J jnl
IEEE Trans. Vis. Comput. Graph.
Kuiyuan Sun, Yuxuan Zhang, Jichao Zhang, Jiaming Liu, Wei Wang, Nicu Sebe, Yao Zhao
2025 J jnl
CoRR
Shida Gao, Feng Xue, Xiangfeng Wang, Anlong Ming, Teng Long, Yihua Shao, Haozhe Wang, Zhaowen Lin, Wei Wang, Nicu Sebe
2025 J jnl
Comput. Vis. Image Underst.
Meiqin Liu, Zilin Wang, Chao Yao, Yao Zhao, Wei Wang, Yunchao Wei
2025 J jnl
CoRR
Zixiang Li, Haoyu Wang, Wei Wang, Chuangchuang Tan, Yunchao Wei, Yao Zhao
2025 J jnl
CoRR
Bin Wu, Wei Wang, Yahui Liu, Zixiang Li, Yao Zhao
2025 J jnl
CoRR
Chengxi Min, Wei Wang, Yahui Liu, Weixin Ye, Enver Sangineto, Qi Wang, Yao Zhao
2025 J jnl
Sci. China Inf. Sci.
Renshuai Tao, Shijie Tang, Haotong Qin, Wei Wang, Yunchao Wei, Yao Zhao
2025 J jnl
Image Vis. Comput.
Yu Chen, Yang Yu, Rongrong Ni, Haoliang Li, Wei Wang, Yao Zhao
2025 J jnl
CoRR
Zixiang Li, Yue Song, Jianing Peng, Ting Liu, Jun Huang, Xiaochao Qu, Luoqi Liu, Wei Wang, Yao Zhao, Yunchao Wei
2025 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Yue Song, Wei Wang, Nicu Sebe
2025 J jnl
IEEE Trans. Inf. Forensics Secur.
Renshuai Tao, Chuangchuang Tan, Huan Liu, Jiakai Wang, Haotong Qin, Yakun Chang, Wei Wang, Rongrong Ni, Yao Zhao
2025 J jnl
IEEE Geosci. Remote. Sens. Lett.
Bin Wu, Siyuan Hao, Wei Wang
2025 J jnl
CoRR
Kuiyuan Sun, Yuxuan Zhang, Jichao Zhang, Jiaming Liu, Wei Wang, Niculae Sebe, Yao Zhao
2025 J jnl
IEEE Trans. Inf. Forensics Secur.
Shuai Tang, Peisong He, Haoliang Li, Wei Wang, Xinghao Jiang, Yao Zhao
2025 A* conf
IJCAI
Renshuai Tao, Ziheng Qin, Yifu Ding, Chuangchuang Tan, Jiakai Wang, Wei Wang
2025 A* conf
AAAI
Zixiang Li, Yue Song, Renshuai Tao, Xiaohong Jia, Yao Zhao, Wei Wang
2024 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Bin Wu, Siyuan Hao, Wei Wang
2024 conf
ECCV (57)
Yihan Hu, Yiheng Lin, Wei Wang, Yao Zhao, Yunchao Wei, Humphrey Shi
2024 J jnl
CoRR
Renshuai Tao, Haoyu Wang, Wei Wang, Yunchao Wei, Yao Zhao
2024 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Kuiyuan Sun, Xiaolong Liu, Xiaolong Li, Yao Zhao, Wei Wang
2024 J jnl
CoRR
Zixiang Li, Yue Song, Renshuai Tao, Xiaohong Jia, Yao Zhao, Wei Wang
2023 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Mengyi Zhao, Hao Tang, Pan Xie, Shuling Dai, Nicu Sebe, Wei Wang
2023 conf
ISBI
Bin Duan, Jianfeng Cao, Wei Wang, Dawen Cai, Yan Yan
2023 J jnl
CoRR
Yihan Hu, Yiheng Lin, Wei Wang, Yao Zhao, Yunchao Wei, Humphrey Shi
2023 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Yue Song, Hao Tang, Nicu Sebe, Wei Wang
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Yue Song, Nicu Sebe, Wei Wang
2023 A* conf
ICCV
Yue Song, Jichao Zhang, Nicu Sebe, Wei Wang
2023 J jnl
CoRR
Yue Song, Jichao Zhang, Nicu Sebe, Wei Wang
2023 A* conf
CVPR
Bin Ren, Yahui Liu, Yue Song, Wei Bi, Rita Cucchiara, Nicu Sebe, Wei Wang
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Yue Song, Nicu Sebe, Wei Wang
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Yue Song, Nicu Sebe, Wei Wang
2023 Misc conf
ICASSP
Bin Ren, Hao Tang, Yiming Wang, Xia Li, Wei Wang, Nicu Sebe
2023 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 conf
ECCV (15)
Jichao Zhang, Enver Sangineto, Hao Tang, Aliaksandr Siarohin, Zhun Zhong, Nicu Sebe, Wei Wang
2022 conf
ECCV (23)
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yahui Liu, Bin Ren, Yue Song, Wei Bi, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Hao Tang, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 A* conf
ICLR
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 conf
ECCV (24)
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 conf
3DV
Sena Kiciroglu, Wei Wang, Mathieu Salzmann, Pascal Fua
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Bin Ren, Hao Tang, Yiming Wang, Xia Li, Wei Wang, Nicu Sebe
2022 J jnl
IEEE Trans. Image Process.
Yue Song, Hao Tang, Mengyi Zhao, Nicu Sebe, Wei Wang
2022 A* conf
NeurIPS
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2022 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Wei Wang, Zheng Dang, Yinlin Hu, Pascal Fua, Mathieu Salzmann
2022 J jnl
IEEE Geosci. Remote. Sens. Lett.
Siyuan Hao, Yufeng Xia, Lijian Zhou, Yuanxin Ye, Wei Wang
2022 J jnl
CoRR
Jichao Zhang, Aliaksandr Siarohin, Yahui Liu, Hao Tang, Nicu Sebe, Wei Wang
2022 J jnl
Remote. Sens.
Siyuan Hao, Bin Wu, Kun Zhao, Yuanxin Ye, Wei Wang
2022 J jnl
CoRR
Jichao Zhang, Jingjing Chen, Hao Tang, Enver Sangineto, Peng Wu, Yan Yan, Nicu Sebe, Wei Wang
2022 J jnl
IEEE Trans. Image Process.
Jichao Zhang, Jingjing Chen, Hao Tang, Enver Sangineto, Peng Wu, Yan Yan, Nicu Sebe, Wei Wang
2021 J jnl
CoRR
Jichao Zhang, Enver Sangineto, Hao Tang, Aliaksandr Siarohin, Zhun Zhong, Nicu Sebe, Wei Wang
2021 A conf
WACV
Bin Duan, Hao Tang, Wei Wang, Ziliang Zong, Guowei Yang, Yan Yan
2021 J jnl
CoRR
Jichao Zhang, Aliaksandr Siarohin, Hao Tang, Jingjing Chen, Enver Sangineto, Wei Wang, Nicu Sebe
2021 J jnl
IEEE Trans. Geosci. Remote. Sens.
Siyuan Hao, Wei Wang, Mathieu Salzmann
2021 J jnl
CoRR
Wei Wang, Zheng Dang, Yinlin Hu, Pascal Fua, Mathieu Salzmann
2021 A* conf
CVPR
Yahui Liu, Enver Sangineto, Yajing Chen, Linchao Bao, Haoxian Zhang, Nicu Sebe, Bruno Lepri, Wei Wang, Marco De Nadai
2021 J jnl
CoRR
Yahui Liu, Enver Sangineto, Yajing Chen, Linchao Bao, Haoxian Zhang, Nicu Sebe, Bruno Lepri, Wei Wang, Marco De Nadai
2021 A* conf
ICCV
Yue Song, Nicu Sebe, Wei Wang
2021 J jnl
CoRR
Yue Song, Nicu Sebe, Wei Wang
2020 J jnl
CoRR
Bin Duan, Hao Tang, Wei Wang, Ziliang Zong, Guowei Yang, Yan Yan
2020 B conf
ICPR
Bin Duan, Wei Wang, Hao Tang, Hugo Latapie, Yan Yan
2020 A* conf
ACM Multimedia
Jichao Zhang, Jingjing Chen, Hao Tang, Wei Wang, Yan Yan, Enver Sangineto, Nicu Sebe
2020 J jnl
CoRR
Jichao Zhang, Jingjing Chen, Hao Tang, Wei Wang, Yan Yan, Enver Sangineto, Nicu Sebe
2020 J jnl
IEEE Trans. Multim.
Wei Wang, Xavier Alameda-Pineda, Dan Xu, Elisa Ricci, Nicu Sebe
2020 J jnl
CoRR
Sena Kiciroglu, Wei Wang, Mathieu Salzmann, Pascal Fua
2020 conf
ACCV (2)
Tim Lebailly, Sena Kiciroglu, Mathieu Salzmann, Pascal Fua, Wei Wang
2020 J jnl
CoRR
Tim Lebailly, Sena Kiciroglu, Mathieu Salzmann, Pascal Fua, Wei Wang
2020 A* conf
CVPR
Yinlin Hu, Pascal Fua, Wei Wang, Mathieu Salzmann
2019 B conf
FG
Hao Tang, Xinya Chen, Wei Wang, Dan Xu, Jason J. Corso, Nicu Sebe, Yan Yan
2019 J jnl
CoRR
Hao Tang, Xinya Chen, Wei Wang, Dan Xu, Jason J. Corso, Nicu Sebe, Yan Yan
2019 A* conf
NeurIPS
Wei Wang, Zheng Dang, Yinlin Hu, Pascal Fua, Mathieu Salzmann
2019 J jnl
CoRR
Wei Wang, Zheng Dang, Yinlin Hu, Pascal Fua, Mathieu Salzmann
2019 J jnl
CoRR
Bin Duan, Wei Wang, Hao Tang, Hugo Latapie, Yan Yan
2019 A* conf
ACM Multimedia
Hao Tang, Dan Xu, Gaowen Liu, Wei Wang, Nicu Sebe, Yan Yan
2019 J jnl
CoRR
Hao Tang, Dan Xu, Gaowen Liu, Wei Wang, Nicu Sebe, Yan Yan
2019 A conf
WACV
Hao Tang, Heng Wei, Wei Xiao, Wei Wang, Dan Xu, Yan Yan, Nicu Sebe
2019 J jnl
CoRR
Hao Tang, Dan Xu, Wei Wang, Yan Yan, Nicu Sebe
2019 J jnl
CoRR
Hao Tang, Wei Wang, Songsong Wu, Xinya Chen, Dan Xu, Nicu Sebe, Yan Yan
2019 B conf
ICIP
Hao Tang, Wei Wang, Songsong Wu, Xinya Chen, Dan Xu, Nicu Sebe, Yan Yan
2019 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Wei Wang, Yan Yan, Zhen Cui, Jiashi Feng, Shuicheng Yan, Nicu Sebe
2019 A* conf
ICCV
Wei Wang, Kaicheng Yu, Joachim Hugonot, Pascal Fua, Mathieu Salzmann
2019 J jnl
CoRR
Wei Wang, Kaicheng Yu, Joachim Hugonot, Pascal Fua, Mathieu Salzmann
2019 J jnl
CoRR
Yinlin Hu, Pascal Fua, Wei Wang, Mathieu Salzmann
2019 J jnl
IEEE Access
Wei Wang, Siyuan Hao, Yunchao Wei, Shengtao Xiao, Jiashi Feng, Nicu Sebe
2018 J jnl
IEEE Trans. Geosci. Remote. Sens.
Siyuan Hao, Wei Wang, Yuanxin Ye, Enyu Li, Lorenzo Bruzzone
2018 J jnl
CoRR
Wei Wang, Kaicheng Yu, Joachim Hugonot, Pascal Fua, Mathieu Salzmann
2018 J jnl
CoRR
Hao Tang, Heng Wei, Wei Xiao, Wei Wang, Dan Xu, Yan Yan, Nicu Sebe
2018 conf
ACCV (1)
Hao Tang, Dan Xu, Wei Wang, Yan Yan, Nicu Sebe
2018 A* conf
CVPR
Wei Wang, Xavier Alameda-Pineda, Dan Xu, Pascal Fua, Elisa Ricci, Nicu Sebe
2018 J jnl
CoRR
Wei Wang, Xavier Alameda-Pineda, Dan Xu, Elisa Ricci, Nicu Sebe
2018 J jnl
CoRR
Si Liu, Yao Sun, Defa Zhu, Renda Bao, Wei Wang, Xiangbo Shu, Shuicheng Yan
2018 J jnl
IEEE Trans. Image Process.
Wei Wang, Yan Yan, Feiping Nie, Shuicheng Yan, Nicu Sebe
2018 A* conf
ACM Multimedia
Hao Tang, Wei Wang, Dan Xu, Yan Yan, Nicu Sebe
2018 J jnl
CoRR
Hao Tang, Wei Wang, Dan Xu, Yan Yan, Nicu Sebe
2018
Wei Wang
2018 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Wei Wang, Sergey Tulyakov, Nicu Sebe
2018 J jnl
Multim. Tools Appl.
Huaxin Xiao, Weiya Ren, Wei Wang, Yu Liu, Maojun Zhang
2018 A* conf
CVPR
Dan Xu, Wei Wang, Hao Tang, Hong Liu, Nicu Sebe, Elisa Ricci
2018 J jnl
CoRR
Dan Xu, Wei Wang, Hao Tang, Hong Liu, Nicu Sebe, Elisa Ricci
2018 J jnl
IEEE Trans. Geosci. Remote. Sens.
Siyuan Hao, Wei Wang, Yuanxin Ye, Tingyuan Nie, Lorenzo Bruzzone
2017 J jnl
Neurocomputing
Siyuan Hao, Wei Wang, Yan Yan, Lorenzo Bruzzone
2017 A* conf
ACM Multimedia
Si Liu, Yao Sun, Defa Zhu, Renda Bao, Wei Wang, Xiangbo Shu, Shuicheng Yan
2017 A* conf
ICCV
Xin Li, Zequn Jie, Wei Wang, Changsong Liu, Jimei Yang, Xiaohui Shen, Zhe Lin, Qiang Chen, Shuicheng Yan, Jiashi Feng
2017 J jnl
CoRR
Xin Li, Zequn Jie, Wei Wang, Changsong Liu, Jimei Yang, Xiaohui Shen, Zhe Lin, Qiang Chen, Shuicheng Yan, Jiashi Feng
2017 A* conf
ICCV
Shengtao Xiao, Jiashi Feng, Luoqi Liu, Xuecheng Nie, Wei Wang, Shuicheng Yan, Ashraf A. Kassim
2016 J jnl
IEEE Trans. Image Process.
Wei Wang, Yan Yan, Stefan Winkler, Nicu Sebe
2016 J jnl
IEEE Multim.
Wei Wang, Yan Yan, Luming Zhang, Richang Hong, Nicu Sebe
2016 A conf
BMVC
Wei Wang, Yan Yan, Feiping Nie, Xavier Alameda-Pineda, Shuicheng Yan, Nicu Sebe
2016 conf
ACCV (2)
Wei Wang, Sergey Tulyakov, Nicu Sebe
2016 A* conf
CVPR
Wei Wang, Zhen Cui, Yan Yan, Jiashi Feng, Shuicheng Yan, Xiangbo Shu, Nicu Sebe
2016 conf
ACCV (2)
Wei Wang, Yan Yan, Liqiang Nie, Luming Zhang, Stefan Winkler, Nicu Sebe
2015 B conf
ICMR
Wei Wang, Yan Yan, Nicu Sebe
redb/extractors/pe_extractors/pe_signature_old.py
← Index redb/extractors/pe_extractors/pe_signature_old.py python
import inspect
import pefile

from hashlib import md5, sha1, sha256

from asn1crypto import cms, pem, x509, core

from redb.extractors.enum import Tag
from redb.extractors.pe_extractor import PEExtractor
from redb.models.dataclasses import PECertificate, PESigner


class PESignatureExtractor(PEExtractor):
    """
    RFC 3161 - Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)
    Section 2.4.2 defines the TSTInfo structure.
    https://tools.ietf.org/html/rfc3161#section-2.4.2

    Microsoft Authenticode Time Stamping Specification
    https://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Authenticode_PE.docx
    """

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

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

    @staticmethod
    def _extract_certificate_info(cert_data):
        # self.log.debug(inspect.currentframe().f_code.co_name)

        certificate = x509.Certificate.load(cert_data)
        certificate_serial_number = format(certificate.serial_number, "x").upper()
        grouped_serial_number = ":".join(
            [
                certificate_serial_number[i : i + 2]
                for i in range(0, len(certificate_serial_number), 2)
            ]
        )
        return PECertificate(
            _id=format(certificate.serial_number, "x").upper(),
            certificate_serial_number=grouped_serial_number,
            certificate_issuer=certificate.issuer.human_friendly,
            certificate_subject=certificate.subject.human_friendly,
            certificate_valid_from=certificate["tbs_certificate"]["validity"][
                "not_before"
            ].native.strftime("%Y-%m-%d %H:%M:%S"),
            certificate_valid_to=certificate["tbs_certificate"]["validity"][
                "not_after"
            ].native.strftime("%Y-%m-%d %H:%M:%S"),
            certificate_thumbprint=sha1(cert_data).hexdigest().upper(),
            certificate_md5=md5(cert_data).hexdigest().upper(),
            certificate_sha256=sha256(cert_data).hexdigest().upper(),
        )

    @staticmethod
    def _parse_microsoft_time_stamp(ts_token):
        class TSTInfo(core.Sequence):
            _fields = [
                ("version", core.Integer),
                ("policy_id", core.ObjectIdentifier),
                ("message_imprint", core.Sequence),
                ("serial_number", core.Integer),
                ("gen_time", core.GeneralizedTime),
                ("accuracy", core.Sequence, {"optional": True}),
                ("ordering", core.Boolean, {"optional": True}),
                ("nonce", core.Integer, {"optional": True}),
                ("tsa", core.Sequence, {"optional": True}),
                ("extensions", core.Sequence, {"optional": True}),
            ]

        # The content should be SignedData
        signed_data = ts_token["content"]

        # The actual timestamp should be in the encapContentInfo
        encap_content_info = signed_data["encap_content_info"]
        tst_info = TSTInfo.load(encap_content_info["content"])

        # Extract the genTime field from TSTInfo, type(genTime): <class 'datetime.datetime'>
        gen_time = tst_info["gen_time"].native

        return gen_time

    def _extract_signer_info(self, signer):
        self.log.debug(inspect.currentframe().f_code.co_name)
        signing_time = None

        for attr_set in [signer["signed_attrs"], signer["unsigned_attrs"]]:
            if attr_set:
                for attribute in attr_set:
                    attr_type = attribute["type"].dotted
                    if attr_type == "1.2.840.113549.1.9.5":  # signingTime
                        signing_time = attribute["values"][0].native
                        break
                    elif (
                        attr_type == "1.3.6.1.4.1.311.3.2.1"
                        or attr_type == "1.3.6.1.4.1.311.3.3.1"
                    ):  # microsoft_time_stamp_token
                        try:
                            ts_token = attribute["values"][0].native
                            signing_time = self._parse_microsoft_time_stamp(ts_token)
                            self.log.debug(
                                f"Signing Time from Microsoft Time Stamp Token: {signing_time}"
                            )
                        except Exception as e:
                            self.log.error(
                                f"Error parsing Microsoft Time Stamp Token: {e}"
                            )
                            self.log.error("Token structure:", attribute["values"][0])
                    elif attr_type == "1.2.840.113549.1.9.6":  # counterSignature
                        counter_sig_values = attribute["values"]
                        for counter_sig_value in counter_sig_values:
                            try:
                                counter_sig_info = cms.SignerInfo.load(
                                    counter_sig_value.native
                                )
                                cs_signed_attrs = counter_sig_info["signed_attrs"]
                                for cs_attr in cs_signed_attrs:
                                    cs_attr_type = cs_attr["type"].dotted
                                    if (
                                        cs_attr_type == "1.2.840.113549.1.9.5"
                                    ):  # signingTime
                                        signing_time = cs_attr["values"][0].native
                                        self.log.debug(
                                            "Signing Time (from countersignature):",
                                            signing_time,
                                        )
                                        break
                                if signing_time:
                                    break
                            except Exception as e:
                                self.log.error(
                                    f"Error processing countersignature: {e}"
                                )
                    if signing_time:
                        break
            if signing_time:
                break
        signer_serial_number = format(
            signer["sid"].native["serial_number"], "x"
        ).upper()
        grouped_serial_number = " ".join(
            [
                signer_serial_number[i : i + 2]
                for i in range(0, len(signer_serial_number), 2)
            ]
        )
        return PESigner(
            # this is to avoid duplicate _id with the Signer certificate used to sign as they are in the same ES index
            _id=format(signer["sid"].native["serial_number"], "x").upper()
            + signer["digest_algorithm"]["algorithm"].native,
            signer_serial_number=grouped_serial_number,
            signer_digest_algorithm=signer["digest_algorithm"]["algorithm"].native,
            signer_signature_algorithm=signer["signature_algorithm"][
                "algorithm"
            ].native,
            signing_time=(
                signing_time.strftime("%Y-%m-%d %H:%M:%S") if signing_time else None
            ),
            # "countersigners": extract_countersigners(signer), # TODO: Implement this
        )

    def _extract_signature_info(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        address = self.pe.OPTIONAL_HEADER.DATA_DIRECTORY[
            pefile.DIRECTORY_ENTRY["IMAGE_DIRECTORY_ENTRY_SECURITY"]
        ].VirtualAddress
        size = self.pe.OPTIONAL_HEADER.DATA_DIRECTORY[
            pefile.DIRECTORY_ENTRY["IMAGE_DIRECTORY_ENTRY_SECURITY"]
        ].Size

        addr_8 = address + 8
        signature_data = bytes(
            self.pe.write()[addr_8 : addr_8 + size]  # noqa E203
        )  # Ensure this is a bytes object
        if pem.detect(signature_data):
            signature_data = pem.unarmor(signature_data)

        content_info = cms.ContentInfo.load(signature_data)
        signed_data = content_info["content"]

        certificates = signed_data["certificates"]
        signers = signed_data["signer_infos"]

        certificates_list = []
        for cert in certificates:
            cert_info = self._extract_certificate_info(cert.chosen.dump())
            certificates_list.append(cert_info)

        signer_info_list = []
        for signer in signers:
            signer_info = self._extract_signer_info(signer)
            signer_info_list.append(signer_info)

        return certificates_list, signer_info_list

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)
            if self._is_signed():
                certificates_list, signers_list = self._extract_signature_info()
                # self.export_to_elastic([PECodeSigning(certificates_list, signers_list)])
                self.export_to_elastic(certificates_list, Tag.PE_CERTIFICATE.value)
                self.export_to_elastic(signers_list, Tag.PE_SIGNER.value)
            return True
        except Exception as e:
            self.log.error(f"Error extracting PE Signature: {e}")
            return None