Mahsa Shoaran

72 papers A* 3A 1C 2Misc 5Journal 35Unranked 26
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Solid State Circuits Lett.
Yasemin Engür, Mingxiang Gao, Niels Kuster, Mahsa Shoaran
2026 J jnl
CoRR
Yuhan Xie, Jinhan Liu, Xiaoyong Ni, Fei Tan, Icare Sakr, Thibault Collin, Shiqi Sun, Alejandro Rodriguez Guajardo, Demon Fanny, Charles-François Vincent Latchoumane, Henri Lorach, Jocelyne Bloch, Grégoire Courtine, Mahsa Shoaran
2025 J jnl
IEEE J. Solid State Circuits
Cong Ding, Mingxiang Gao, Anja K. Skrivervik, Mahsa Shoaran
2025 J jnl
CoRR
Timothee Robert, Mohammad Ali Shaeri, Mahsa Shoaran
2025 conf
NewCAS
Mohammad Ali Shaeri, Jinhan Liu, Mahsa Shoaran
2025 J jnl
CoRR
Arshia Afzal, Elías Abad-Rocamora, Leyla Naz Candogan, Pol Puigdemont, Francesco Tonin, Yongtao Wu, Mahsa Shoaran, Volkan Cevher
2025 J jnl
CoRR
Arshia Afzal, Volkan Cevher, Mahsa Shoaran
2025 J jnl
CoRR
Mohammad Ali Shaeri, Jinhan Liu, Mahsa Shoaran
2025 J jnl
CoRR
Yuhan Xie, William Cappelletti, Mahsa Shoaran, Pascal Frossard
2024 conf
ISSCC
Mohammad Ali Shaeri, Uisub Shin, Amitabh Yadav, Riccardo Caramellino, Gregor Rainer, Mahsa Shoaran
2024 J jnl
IEEE J. Solid State Circuits
Mohammad Ali Shaeri, Uisub Shin, Amitabh Yadav, Riccardo Caramellino, Gregor Rainer, Mahsa Shoaran
2024 conf
CICC
Cong Ding, Mingxiang Gao, Anja K. Skrivervik, Mahsa Shoaran
2024 J jnl
CoRR
Cong Ding, Mingxiang Gao, Anja K. Skrivervik, Mahsa Shoaran
2024 conf
AICAS
Mohammad Kalbasi, Mohammad Ali Shaeri, Vincent Alexandre Mendez, Solaiman Shokur, Silvestro Micera, Mahsa Shoaran
2024 J jnl
CoRR
Mohammad Kalbasi, Mohammad Ali Shaeri, Vincent Alexandre Mendez, Solaiman Shokur, Silvestro Micera, Mahsa Shoaran
2024 conf
CICC
Mahsa Shoaran, Uisub Shin, Mohammad Ali Shaeri
2024 J jnl
CoRR
Mahsa Shoaran, Uisub Shin, Mohammad Ali Shaeri
2024 conf
EMBC
Heather J. Breidenbach, Virginia Woods, Uisub Shin, Evan M. Dastin-van Rijn, Mahsa Shoaran, Alik S. Widge
2024 A* conf
ICML
Arshia Afzal, Grigorios Chrysos, Volkan Cevher, Mahsa Shoaran
2024 J jnl
CoRR
Arshia Afzal, Grigorios Chrysos, Volkan Cevher, Mahsa Shoaran
2023 conf
BioCAS
Yasemin Engür, Mahsa Shoaran
2023 J jnl
CoRR
Yasemin Engür, Mahsa Shoaran
2023 conf
BioCAS
Arman Zarei, Bingzhao Zhu, Mahsa Shoaran
2023 A* conf
ICML
Bingzhao Zhu, Xingjian Shi, Nick Erickson, Mu Li, George Karypis, Mahsa Shoaran
2023 J jnl
CoRR
Bingzhao Zhu, Xingjian Shi, Nick Erickson, Mu Li, George Karypis, Mahsa Shoaran
2022 conf
CICC
Uisub Shin, Cong Ding, Laxmeesha Somappa, Virginia Woods, Alik S. Widge, Mahsa Shoaran
2022 J jnl
CoRR
Uisub Shin, Cong Ding, Virginia Woods, Alik S. Widge, Mahsa Shoaran
2022 conf
ISSCC
Uisub Shin, Laxmeesha Somappa, Cong Ding, Yashwanth Vyza, Bingzhao Zhu, Alix Trouillet, Stéphanie P. Lacour, Mahsa Shoaran
2022 conf
BioCAS
Xiaorang Guo, Mohammad Ali Shaeri, Mahsa Shoaran
2022 J jnl
CoRR
Xiaorang Guo, Mohammad Ali Shaeri, Mahsa Shoaran
2022 conf
AICAS
Mohammad Ali Shaeri, Arshia Afzal, Mahsa Shoaran
2022 J jnl
CoRR
Mohammad Ali Shaeri, Arshia Afzal, Mahsa Shoaran
2022 J jnl
Adv. Eng. Informatics
Bingzhao Zhu, Jesus G. Cruz-Garza, Qi Yang, Mahsa Shoaran, Saleh Kalantari
2022 J jnl
IEEE J. Solid State Circuits
Uisub Shin, Cong Ding, Bingzhao Zhu, Yashwanth Vyza, Alix Trouillet, Emilie C. M. Revol, Stéphanie P. Lacour, Mahsa Shoaran
2022 J jnl
CoRR
Uisub Shin, Cong Ding, Bingzhao Zhu, Yashwanth Vyza, Alix Trouillet, Emilie C. M. Revol, Stéphanie P. Lacour, Mahsa Shoaran
2021 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Zain Taufique, Bingzhao Zhu, Gianluca Coppola, Mahsa Shoaran, Muhammad Awais Bin Altaf
2021 conf
A-SSCC
Zain Taufique, Bingzhao Zhu, Gianluca Coppola, Mahsa Shoaran, Wala Saadeh, Muhammad Awais Bin Altaf
2021 J jnl
IEEE Trans. Biomed. Circuits Syst.
Bingzhao Zhu, Uisub Shin, Mahsa Shoaran
2021 J jnl
CoRR
Bingzhao Zhu, Uisub Shin, Mahsa Shoaran
2021 A* conf
NeurIPS
Bingzhao Zhu, Mahsa Shoaran
2021 J jnl
CoRR
Bingzhao Zhu, Mahsa Shoaran
2021 conf
NER
Bingzhao Zhu, Mahsa Shoaran
2021 J jnl
CoRR
Bingzhao Zhu, Mahsa Shoaran
2020 conf
ICECS
Bingzhao Zhu, Uisub Shin, Mahsa Shoaran
2020 J jnl
CoRR
Bingzhao Zhu, Uisub Shin, Mahsa Shoaran
2020 Misc conf
ICASSP
Lin Yao, Jonathan L. Baker, Jae-Wook Ryou, Nicholas D. Schiff, Keith P. Purpura, Mahsa Shoaran
2020 J jnl
CoRR
Bingzhao Zhu, Masoud Farivar, Mahsa Shoaran
2020 J jnl
IEEE Trans. Biomed. Circuits Syst.
Bingzhao Zhu, Masoud Farivar, Mahsa Shoaran
2019 conf
BioCAS
Bingzhao Zhu, Milad Taghavi, Mahsa Shoaran
2019 Misc conf
ACSSC
Lin Yao, Mahsa Shoaran
2019 conf
NER
Milad Taghavi, Mahsa Shoaran
2019 Misc conf
ACSSC
Bingzhao Zhu, Mahsa Shoaran
2019 J jnl
NeuroImage
Annemarie Wolff, Lin Yao, Javier Gomez-Pilar, Mahsa Shoaran, Ning Jiang, Georg Northoff
2018 conf
EMBC
Milad Taghavi, Benyamin Allahgholizadeh Haghi, Masoud Farivar, Mahsa Shoaran, Azita Emami
2018 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Cosimo Aprile, Kerim Türe, Luca Baldassarre, Mahsa Shoaran, Gürkan Yilmaz, Franco Maloberti, Catherine Dehollain, Yusuf Leblebici, Volkan Cevher
2018 J jnl
IEEE J. Emerg. Sel. Topics Circuits Syst.
Mahsa Shoaran, Benyamin Allahgholizadeh Haghi, Milad Taghavi, Masoud Farivar, Azita Emami-Neyestanak
2018 conf
BioCAS
Lin Yao, Peter Brown, Mahsa Shoaran
2018 Misc conf
ICASSP
Taige Wang, Mahsa Shoaran, Azita Emami
2016 conf
VLSI Circuits
Mahsa Shoaran, Masoud Shahshahani, Masoud Farivar, Joyel Almajano, Amirhossein Shahshahani, Alexandre Schmid, Anatol Bragin, Yusuf Leblebici, Azita Emami
2016 conf
EMBC
Mahsa Shoaran, Masoud Farivar, Azita Emami
2016 conf
ACM Great Lakes Symposium on VLSI
Cosimo Aprile, Luca Baldassarre, Vipul Gupta, Juhwan Yoo, Mahsa Shoaran, Yusuf Leblebici, Volkan Cevher
2015 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Mahsa Shoaran, Claudio Pollo, Kaspar Schindler, Alexandre Schmid
2015 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Mahsa Shoaran, Armin Tajalli, Massimo Alioto, Alexandre Schmid, Yusuf Leblebici
2015 C conf
ISCAS
Mahsa Shoaran, Armin Tajalli, Massimo Alioto, Yusuf Leblebici
2015 conf
CAMSAP
Luca Baldassarre, Cosimo Aprile, Mahsa Shoaran, Yusuf Leblebici, Volkan Cevher
2014 conf
BioCAS
Mahsa Shoaran, Hossein Afshari, Alexandre Schmid
2014 J jnl
IEEE Trans. Biomed. Circuits Syst.
Mahsa Shoaran, Mahdad Hosseini Kamal, Claudio Pollo, Pierre Vandergheynst, Alexandre Schmid
2014 conf
BioCAS
Mahsa Shoaran, Gürkan Yilmaz, Ramesh Periasamy, Stefanie Seiler, Stefano Di Santo, Claudio Pollo, Kaspar Schindler, Hans Rudolf Widmer, Catherine Dehollain, Alexandre Schmid
2014 A conf
ISLPED
Huichu Liu, Mahsa Shoaran, Xueqing Li, Suman Datta, Alexandre Schmid, Vijaykrishnan Narayanan
2013 C conf
ISCAS
Mahsa Shoaran, Mariazel Maqueda Lopez, Vijaya Sankara Rao Pasupureddi, Yusuf Leblebici, Alexandre Schmid
2013 Misc conf
ICASSP
Mahdad Hosseini Kamal, Mahsa Shoaran, Yusuf Leblebici, Alexandre Schmid, Pierre Vandergheynst
2012 conf
EMBC
Mahsa Shoaran, Claudio Pollo, Yusuf Leblebici, Alexandre Schmid
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"