Viacheslav V. Voronin

55 papers B 1C 7Journal 13Unranked 34
YearRankTypeTitle / Venue / Authors
2023 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Yue Zhang, Fanghui Zhang, Yi Jin, Yigang Cen, Viacheslav V. Voronin, Shaohua Wan
2022 J jnl
IEEE Trans. Signal Inf. Process. over Networks
Shuqin Wang, Yongyong Chen, Linna Zhang, Yigang Cen, Viacheslav V. Voronin
2022 J jnl
Appl. Intell.
Shuqin Wang, Yongyong Chen, Yigang Cen, Linna Zhang, Hengyou Wang, Viacheslav V. Voronin
2022 J jnl
J. Electronic Imaging
Roman A. Sizyakin, Viacheslav V. Voronin, Alexander A. Zelensky, Aleksandra Pizurica
2021 J jnl
IEEE Access
Viacheslav V. Voronin, Alexander A. Zelensky, Sos S. Agaian
2021 B conf
ICIP
Shuqin Wang, Yongyong Chen, Yigang Ce, Linna Zhang, Viacheslav V. Voronin
2021 J jnl
Pattern Recognit.
Yi Jin, Yue Zhang, Yigang Cen, Yidong Li, Vladimir Mladenovic, Viacheslav V. Voronin
2021 C conf
ICMV
Roman A. Sizyakin, Viacheslav V. Voronin, Aleksandra Pizurica
2020 conf
Image Processing: Algorithms and Systems
Roman A. Sizyakin, Viacheslav V. Voronin, Nikolay V. Gapon, Alexander A. Zelensky, Aleksandra Pizurica
2020 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Marina Zhdanova, Evgeny A. Semenishchev, Alexander A. Zelensky, Sos S. Agaian
2020 J jnl
IEEE Access
Roman A. Sizyakin, Bruno Cornelis, Laurens Meeus, Hélène Dubois, Maximiliaan Martens, Viacheslav V. Voronin, Aleksandra Pizurica
2020 conf
IRIACV
Evgeny A. Semenishchev, Viacheslav V. Voronin, Alexander A. Zelensky, Irina Vladimirovna Tolstova
2019 C conf
ICMV
Roman A. Sizyakin, Viacheslav V. Voronin, Nikolay V. Gapon, Alexey B. Nadykto, Aleksandra Pizurica, Alexander A. Zelensky
2019 C conf
ICMV
Nikolay V. Gapon, Viacheslav V. Voronin, Roman A. Sizyakin, Marina Zhdanova, Alexander A. Zelensky
2019 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Alexander A. Zelensky, Sos S. Agaian
2019 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Evgeny A. Semenishchev, Alexander A. Zelensky, Sos S. Agaian
2019 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Alexander A. Zelensky, Sos S. Agaian
2018 C conf
ICMV
Roman A. Sizyakin, Viacheslav V. Voronin, Nikolay V. Gapon, Marina Pismenskova, Alexey B. Nadykto
2018 conf
SmartCloud
Vladimir Frants, Viacheslav V. Voronin, Alexander A. Zelensky, Sos S. Agaian
2018 conf
Image Processing: Algorithms and Systems
Mykola Ponomarenko, Nikolay V. Gapon, Viacheslav V. Voronin, Karen O. Egiazarian
2018 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Evgeny A. Semenishchev, Mykola Ponomarenko, Sos S. Agaian
2018 conf
SmartCloud
Viacheslav V. Voronin, Evgeny A. Semenishchev, Vladimir Frants, Sos S. Agaian
2018 conf
SSIAI
Viacheslav V. Voronin, Svetlana V. Tokareva, Evgeny A. Semenishchev, Sos S. Agaian
2018 conf
SmartCloud
Alexander A. Zelensky, Viacheslav V. Voronin, Evgeny A. Semenishchev, Iliya Svirin, Andrey A. Mikhailov
2018 C conf
ICMV
Nikolay V. Gapon, Viacheslav V. Voronin, Roman A. Sizyakin, Marina Pismenskova, Alexey B. Nadykto
2017 C conf
ICMV
Vladimir A. Frantc, Viacheslav V. Voronin, Evgeny A. Semenishchev, Maxim Minkin, Aliy Delov
2017 J jnl
CoRR
Mykola Ponomarenko, Nikolay V. Gapon, Viacheslav V. Voronin, Karen O. Egiazarian
2017 conf
MOBMU
Evgeny A. Semenishchev, Igor Shraifel, Viacheslav V. Voronin, Ekaterina Epishina
2017 J jnl
Neurocomputing
Hengyou Wang, Yigang Cen, Ruizhen Zhao, Viacheslav V. Voronin, Fengzhen Zhang, Yanhong Wang
2017 conf
Image Processing: Algorithms and Systems
Sergei V. Makov, Alexandr Minaev, Anton Nikitin, Viacheslav V. Voronin, Evgeny A. Semenishchev, Vladimir I. Marchuk
2017 J jnl
KSII Trans. Internet Inf. Syst.
Wanli Feng, Yigang Cen, Xianyou Zeng, Zhetao Li, Ming Zeng, Viacheslav V. Voronin
2017 C conf
ICMV
Evgeny A. Semenishchev, Viacheslav V. Voronin, Vladimir Dub, Oksana Balabaeva
2017 J jnl
J. Vis. Commun. Image Represent.
Shi-Chao Kan, Yi-Gang Cen, Yi Cen, Yanhong Wang, Viacheslav V. Voronin, Vladimir Mladenovic, Ming Zeng
2017 J jnl
Neurocomputing
Yanhong Wang, Yigang Cen, Rui-Zhen Zhao, Yi Cen, Shaohai Hu, Viacheslav V. Voronin, Hengyou Wang
2017 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, V. Ryzhov, Vladimir I. Marchuk, Sergei V. Makov
2017 conf
MOBMU
V. P. Fedosov, Viacheslav V. Voronin, A. A. Legin, A. V. Lomakina, D. G. Kovtun
2016 conf
MOBMU
V. P. Fedosov, Viacheslav V. Voronin, R. V. Rubtsov
2016 conf
MOBMU
Viacheslav V. Voronin, Vladimir I. Marchuk, Evgeny A. Semenishchev, Sergey V. Makov, Reiner Creutzburg
2016 conf
MOBMU
Sergey V. Makov, Vladimir A. Frantc, Viacheslav V. Voronin, Igor Shrayfel, Vadim Dubovskov, Ilya Svirin
2016 conf
EWDTS
Sergey V. Makov, Anton Nikitin, Alexandr Minaev, Viacheslav V. Voronin, Ilya Svirin
2016 conf
EWDTS
Vladimir I. Marchuk, Sergey V. Makov, Alexandr Minaev, Viacheslav V. Voronin, Dmitry Y. Chernyshov
2016 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Roman A. Sizyakin, Vladimir I. Marchuk, Yigang Cen, G. G. Galustov, Karen O. Egiazarian
2016 conf
Image Processing: Algorithms and Systems
Vladimir A. Frantc, Sergey V. Makov, Viacheslav V. Voronin, Vladimir I. Marchuk, Sergei G. Stradanchenko, Karen O. Egiazarian
2015 conf
Visual Information Processing and Communication
Sergey V. Makov, Vladimir I. Marchuk, Viacheslav V. Voronin, Vladimir A. Frantc, Victor A. Obukhovets
2015 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Vladimir I. Marchuk, Alexander V. Fisunov, Svetlana V. Tokareva, Karen O. Egiazarian
2015 J jnl
Int. J. Distributed Sens. Networks
Ang Li, Zhenjiang Miao, Yigang Cen, Tian Wang, Viacheslav V. Voronin
2015 conf
Computational Imaging
Andrey V. Zhuravlev, Vladimir V. Razevig, Igor A. Vasiliev, Sergey I. Ivashov, Viacheslav V. Voronin
2015 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Vladimir A. Frantc, Vladimir I. Marchuk, Alexander I. Sherstobitov, Karen O. Egiazarian
2015 conf
Digital Photography
Evgeny A. Semenishchev, Viacheslav V. Voronin, Vladimir I. Marchuk, Maria M. Pismenskova
2014 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Vladimir I. Marchuk, Nikolay V. Gapon, Roman A. Sizyakin, Alexander I. Sherstobitov, Karen O. Egiazarian
2014 conf
Image Processing: Algorithms and Systems
Alexander I. Sherstobitov, Vladimir I. Marchuk, Dmitriy V. Timofeev, Viacheslav V. Voronin, Karen O. Egiazarian
2013 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Vladimir I. Marchuk, Vladimir A. Frantc, Karen O. Egiazarian
2013 conf
Image Processing: Algorithms and Systems
Vladimir A. Frantc, Viacheslav V. Voronin, Vladimir I. Marchuk, Karen O. Egiazarian
2012 conf
Image Processing: Algorithms and Systems / Parallel Processing for Imaging Applications
Viacheslav V. Voronin, Vladimir I. Marchuk, Alexander I. Sherstobitov, Karen O. Egiazarian
2011 conf
Image Processing: Algorithms and Systems
Viacheslav V. Voronin, Vladimir I. Marchuk, Karen O. Egiazarian
redb/extractors/pe_extractors/pe_imports.py
← Index redb/extractors/pe_extractors/pe_imports.py python
import inspect
from typing import Any, List, Tuple
from datetime import datetime, timezone

from redb.extractors.enum import Tag
from redb.extractors.pe_extractor import PEExtractor
from redb.models.dataclasses import PEImport


class PEImportExtractor(PEExtractor):

    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,
            pe,
        )
        self.elastic_index = self.index_prefix + "-pe_imports"
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def _extract_imports(self):
        self.log.debug(inspect.currentframe().f_code.co_name)

        imports_symbols = []
        imports_lib = []
        imports_total = 0
        # pe_import = None
        try:
            directory_entry_import = getattr(self.pe, "DIRECTORY_ENTRY_IMPORT", [])
            imports_total = len(directory_entry_import)
            for entry in directory_entry_import:
                symbols = []
                tmp_import = {}
                libname = entry.dll.decode() if entry.dll else ""
                imports_lib.append(libname)
                # replace . with _ to avoid issues with elastic
                # entryname = entryname.replace(".", "_")
                for symbol in entry.imports:
                    if symbol.name:
                        symbols.append(symbol.name.decode())
                # imports_symbols[entryname] = symbols
                tmp_import[libname] = symbols
                imports_symbols.append(tmp_import)
            return PEImport(
                pe_imports_total=imports_total,
                pe_import_libraryName=imports_lib if imports_lib else None,
                pe_import_functions=imports_symbols if imports_symbols else None,
            )
        except Exception as e:
            self.log.error(f"Extract imports error {self.hash.sha256} Exception: {e}")
        return pe_import

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)
            return self._extract_imports()
        except Exception as e:
            self.log.error(f"Extract imports error {self.hash.sha256} Exception: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.extract()
        elif exporter_type == "ClickHouseExporter":
            imports = self.extract()
            if (
                imports is None
                or imports.pe_imports_total == 0
                or (
                    imports.pe_import_libraryName is None
                    and imports.pe_import_functions is None
                )
            ):
                return None

            # Flatten the data - one row per function import
            data = []
            current_time = datetime.now(timezone.utc)

            for lib_funcs in imports.pe_import_functions:
                for lib, funcs in lib_funcs.items():
                    for func in funcs:
                        data.append(
                            [
                                self.sha256,  # sha256
                                self.md5,  # md5
                                self.sha1,  # sha1
                                lib,  # library_name
                                func,  # function_name
                                current_time,  # analysis_date
                            ]
                        )

            column_names = [
                "sha256",
                "md5",
                "sha1",
                "library_name",
                "function_name",
                "analysis_date",
            ]

            column_type_names = [
                "FixedString(64)",
                "FixedString(32)",
                "FixedString(40)",
                "LowCardinality(Nullable(String))",
                "LowCardinality(Nullable(String))",
                "DateTime64(3, 'UTC')",
            ]

            if not data:
                return None

            return (data, column_names, column_type_names)

    def get_clickhouse_table(self) -> str:
        return "redb_pe_imports"