Van-Thiep Nguyen

16 papers Journal 15Unranked 1
YearRankTypeTitle / Venue / Authors
2025 J jnl
Array
Dinh-Cuong Hoang, Phan Xuan Tan, Anh-Nhat Nguyen, Ta Huu Anh Duong, Tuan-Minh Huynh, Duc-Manh Nguyen, Minh-Duc Cao, Duc-Huy Ngo, Thu-Uyen Nguyen, Khanh-Toan Phan, Minh-Quang Do, Xuan-Tung Dinh, Van-Hiep Duong, Ngoc-Anh Hoang, Van-Thiep Nguyen
2025 J jnl
Eng. Appl. Artif. Intell.
Dinh-Cuong Hoang, Anh-Nhat Nguyen, Thu-Uyen Nguyen, Ngoc-Anh Hoang, Van-Duc Vu, Duy-Quang Vu, Phuc-Quan Ngo, Khanh-Toan Phan, Duc-Thanh Tran, Van-Thiep Nguyen, Quang-Tri Duong, Ngoc-Trung Ho, Cong-Trinh Tran, Van-Hiep Duong, Anh-Truong Mai
2025 J jnl
IEEE Access
Phan Xuan Tan, Dinh-Cuong Hoang, Anh-Nhat Nguyen, Eiji Kamioka, Ta Huu Anh Duong, Tuan-Minh Huynh, Duc-Manh Nguyen, Duc-Huy Ngo, Minh-Duc Cao, Thu-Uyen Nguyen, Van-Thiep Nguyen, Duc-Thanh Tran, Van-Hiep Duong, Anh-Truong Mai, Duc-Long Pham, Khanh-Toan Phan, Minh-Quang Do
2025 J jnl
IEEE Trans. Cogn. Dev. Syst.
Dinh-Cuong Hoang, Phan Xuan Tan, Ta Huu Anh Duong, Tuan-Minh Huynh, Duc-Manh Nguyen, Anh-Nhat Nguyen, Duc-Long Pham, Van-Duc Vu, Thu-Uyen Nguyen, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Van-Thiep Nguyen, Ngoc-Trung Ho, Cong-Trinh Tran, Van-Hiep Duong
2025 J jnl
PeerJ Comput. Sci.
Van-Duc Vu, Van-Thiep Nguyen, Hai-Nam Pham, Dinh-Cuong Hoang, Phan Xuan Tan
2024 J jnl
IEEE Access
Dinh-Cuong Hoang, Phan Xuan Tan, Thu-Uyen Nguyen, Hai-Nam Pham, Chi-Minh Nguyen, Son-Anh Bui, Quang-Tri Duong, Van-Duc Vu, Van-Thiep Nguyen, Van-Hiep Duong, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Ngoc-Trung Ho, Cong-Trinh Tran
2024 J jnl
IEEE Access
Phan Xuan Tan, Dinh-Cuong Hoang, Anh-Nhat Nguyen, Van-Thiep Nguyen, Van-Duc Vu, Thu-Uyen Nguyen, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Duy-Quang Vu, Phuc-Quan Ngo, Quang-Tri Duong, Ngoc-Trung Ho, Cong-Trinh Tran, Van-Hiep Duong, Anh-Truong Mai
2024 J jnl
IEEE Trans. Artif. Intell.
Dinh-Cuong Hoang, Anh-Nhat Nguyen, Chi-Minh Nguyen, An-Binh Phi, Quang-Tri Duong, Khanh-Duong Tran, Viet-Anh Trinh, Van-Duc Tran, Hai-Nam Pham, Phuc-Quan Ngo, Duy-Quang Vu, Thu-Uyen Nguyen, Van-Duc Vu, Duc-Thanh Tran, Van-Thiep Nguyen
2024 J jnl
IEEE Access
Dinh-Cuong Hoang, Phan Xuan Tan, Duc-Long Pham, Hai-Nam Pham, Son-Anh Bui, Chi-Minh Nguyen, An-Binh Phi, Khanh-Duong Tran, Viet-Anh Trinh, Van-Duc Tran, Duc-Thanh Tran, Van-Hiep Duong, Khanh-Toan Phan, Van-Thiep Nguyen, Van-Duc Vu, Thu-Uyen Nguyen
2024 J jnl
IEEE Robotics Autom. Lett.
Dinh-Cuong Hoang, Anh-Nhat Nguyen, Van-Duc Vu, Thu-Uyen Nguyen, Duy-Quang Vu, Phuc-Quan Ngo, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Van-Thiep Nguyen, Quang-Tri Duong, Ngoc-Trung Ho, Cong-Trinh Tran, Van-Hiep Duong, Anh-Truong Mai
2024 J jnl
IEEE Access
Dinh-Cuong Hoang, Phan Xuan Tan, Anh-Nhat Nguyen, Duy-Quang Vu, Van-Duc Vu, Thu-Uyen Nguyen, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Van-Thiep Nguyen, Quang-Tri Duong, Ngoc-Trung Ho, Cong-Trinh Tran, Van-Hiep Duong, Phuc-Quan Ngo
2024 J jnl
IEEE Access
Dinh-Cuong Hoang, Phan Xuan Tan, Anh-Nhat Nguyen, Duy-Quang Vu, Van-Duc Vu, Thu-Uyen Nguyen, Quang-Tri Duong, Van-Thiep Nguyen, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Ngoc-Trung Ho, Cong-Trinh Tran, Van-Hiep Duong, Phuc-Quan Ngo
2024 J jnl
IEEE Access
Van-Duc Vu, Dinh-Dai Hoang, Phan Xuan Tan, Van-Thiep Nguyen, Thu-Uyen Nguyen, Ngoc-Anh Hoang, Khanh-Toan Phan, Duc-Thanh Tran, Duy-Quang Vu, Phuc-Quan Ngo, Quang-Tri Duong, Anh-Nhat Nguyen, Dinh-Cuong Hoang
2023 J jnl
J. Intell. Robotic Syst.
Dinh-Cuong Hoang, Anh-Nhat Nguyen, Van-Duc Vu, Duy-Quang Vu, Van-Thiep Nguyen, Thu-Uyen Nguyen, Cong-Trinh Tran, Khanh-Toan Phan, Ngoc-Trung Ho
2016 conf
CrownCom
Van-Thiep Nguyen, Matthieu Gautier, Olivier Berder
2014 J jnl
CoRR
Van-Thiep Nguyen, Matthieu Gautier, Olivier Berder
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())