Raja Muhammad Saad Bashir

21 papers Misc 1Journal 15Unranked 5
YearRankTypeTitle / Venue / Authors
2024 J jnl
Medical Image Anal.
Raja Muhammad Saad Bashir, Talha Qaiser, Shan E Ahmed Raza, Nasir M. Rajpoot
2024 J jnl
Comput. Medical Imaging Graph.
Manahil Raza, Ruqayya Awan, Raja Muhammad Saad Bashir, Talha Qaiser, Nasir M. Rajpoot
2024 J jnl
IEEE J. Biomed. Health Informatics
Yiping Jiao, Jeroen van der Laak, Shadi Albarqouni, Zhang Li, Tao Tan, Abhir Bhalerao, Shenghua Cheng, Jiabo Ma, John Pocock, Josien P. W. Pluim, Navid Alemi Koohbanani, Raja Muhammad Saad Bashir, Shan-E-Ahmed Raza, Sibo Liu, Simon Graham, Suzanne C. Wetstein, Syed Ali Khurram, Xiuli Liu, Nasir M. Rajpoot, Mitko Veta, Francesco Ciompi
2024 J jnl
CoRR
Manahil Raza, Raja Muhammad Saad Bashir, Talha Qaiser, Nasir M. Rajpoot
2023 J jnl
CoRR
Adam J. Shephard, Raja Muhammad Saad Bashir, Hanya Mahmood, Mostafa Jahanifar, Fayyaz Minhas, Shan E Ahmed Raza, Kris D. McCombe, Stephanie G. Craig, Jacqueline A. James, Jill Brooks, Paul Nankivell, Hisham Mehanna, Syed Ali Khurram, Nasir M. Rajpoot
2023 J jnl
CoRR
Simon Graham, Quoc Dang Vu, Mostafa Jahanifar, Martin Weigert, Uwe Schmidt, Wenhua Zhang, Jun Zhang, Sen Yang, Jinxi Xiang, Xiyue Wang, Josef Lorenz Rumberger, Elias Baumann, Peter Hirsch, Lihao Liu, Chenyang Hong, Angelica I. Avilés-Rivero, Ayushi Jain, Heeyoung Ahn, Yiyu Hong, Hussam Azzuni, Min Xu, Mohammad Yaqub, Marie-Claire Blache, Benoît Piégu, Bertrand Vernay, Tim Scherr, Moritz Böhland, Katharina Löffler, Jiachen Li, Weiqin Ying, Chixin Wang, Dagmar Kainmueller, Carola-Bibiane Schönlieb, Shuolin Liu, Dhairya Talsania, Yughender Meda, Prakash Mishra, Muhammad Ridzuan, Oliver Neumann, Marcel P. Schilling, Markus Reischl, Ralf Mikut, Banban Huang, Hsiang-Chin Chien, Ching-Ping Wang, Chia-Yen Lee, Hong-Kun Lin, Zaiyi Liu, Xipeng Pan, Chu Han, Jijun Cheng, Muhammad Dawood, Srijay Deshpande, Raja Muhammad Saad Bashir, Adam Shephard, Pedro Costa, João D. Nunes, Aurélio Campilho, Jaime S. Cardoso, Hrishikesh P. S, Densen Puthussery, Devika R. G, Jiji C V, Ye Zhang, Zijie Fang, Zhifan Lin, Yongbing Zhang, Chunhui Lin, Liukun Zhang, Lijian Mao, Min Wu, Thi Tuong Vi Vo, Soo-Hyung Kim, Taebum Lee, Satoshi Kondo, Satoshi Kasai, Pranay Dumbhare, Vedant Phuse, Yash Dubey, Ankush Jamthikar, Trinh Thi Le Vuong, Jin Tae Kwak, Dorsa Ziaei, Hyun Jung, Tianyi Miao, David R. J. Snead, Shan-E-Ahmed Raza, Fayyaz Minhas, Nasir M. Rajpoot
2023 J jnl
CoRR
Raja Muhammad Saad Bashir, Talha Qaiser, Shan E Ahmed Raza, Nasir M. Rajpoot
2023 J jnl
CoRR
Yiping Jiao, Jeroen van der Laak, Shadi Albarqouni, Zhang Li, Tao Tan, Abhir Bhalerao, Jiabo Ma, Jiamei Sun, Johnathon Pocock, Josien P. W. Pluim, Navid Alemi Koohbanani, Raja Muhammad Saad Bashir, Shan E Ahmed Raza, Sibo Liu, Simon Graham, Suzanne C. Wetstein, Syed Ali Khurram, Thomas Watson, Nasir M. Rajpoot, Mitko Veta, Francesco Ciompi
2023 J jnl
CoRR
Manahil Raza, Ruqayya Awan, Raja Muhammad Saad Bashir, Talha Qaiser, Nasir M. Rajpoot
2022 conf
MIUA
Raja Muhammad Saad Bashir, Muhammad Shaban, Shan E Ahmed Raza, Syed Ali Khurram, Nasir M. Rajpoot
2022 J jnl
CoRR
Muhammad Dawood, Raja Muhammad Saad Bashir, Srijay Deshpande, Manahil Raza, Adam J. Shephard
2022 J jnl
Medical Image Anal.
Qian Da, Xiaodi Huang, Zhongyu Li, Yanfei Zuo, Chenbin Zhang, Jingxin Liu, Wen Chen, Jiahui Li, Dou Xu, Zhiqiang Hu, Hongmei Yi, Yan Guo, Zhe Wang, Ling Chen, Li Zhang, Xianying He, Xiaofan Zhang, Ke Mei, Chuang Zhu, Weizeng Lu, Linlin Shen, Jun Shi, Jun Li, Sreehari S, Ganapathy Krishnamurthi, Jiangcheng Yang, Tiancheng Lin, Qingyu Song, Xuechen Liu, Simon Graham, Raja Muhammad Saad Bashir, Canqian Yang, Shaofei Qin, Xinmei Tian, Baocai Yin, Jie Zhao, Dimitris N. Metaxas, Hongsheng Li, Chaofu Wang, Shaoting Zhang
2021 conf
ICCVW
Adam J. Shephard, Simon Graham, Raja Muhammad Saad Bashir, Mostafa Jahanifar, Hanya Mahmood, Syed Ali Khurram, Nasir M. Rajpoot
2021 J jnl
CoRR
Adam J. Shephard, Simon Graham, Raja Muhammad Saad Bashir, Mostafa Jahanifar, Hanya Mahmood, Syed Ali Khurram, Nasir M. Rajpoot
2021 conf
MIDOG/MOOD/Learn2Reg@MICCAI
Mostafa Jahanifar, Adam J. Shephard, Neda Zamanitajeddin, Raja Muhammad Saad Bashir, Mohsin Bilal, Syed Ali Khurram, Fayyaz A. Minhas, Nasir M. Rajpoot
2021 J jnl
CoRR
Mostafa Jahanifar, Adam J. Shephard, Neda Zamani Tajeddin, Raja Muhammad Saad Bashir, Mohsin Bilal, Syed Ali Khurram, Fayyaz A. Minhas, Nasir M. Rajpoot
2020 conf
Digital Pathology
Raja Muhammad Saad Bashir, Hanya Mahmood, Muhammad Shaban, Shan-E-Ahmed Raza, Muhammad Moazam Fraz, Syed Ali Khurram, Nasir M. Rajpoot
2020 conf
iMIMIC/MIL3ID/LABELS@MICCAI
Raja Muhammad Saad Bashir, Talha Qaiser, Shan-E-Ahmed Raza, Nasir M. Rajpoot
2020 J jnl
CoRR
Raja Muhammad Saad Bashir, Talha Qaiser, Shan E Ahmed Raza, Nasir M. Rajpoot
2019 J jnl
Pattern Recognit.
Raja Muhammad Saad Bashir, Muhammad Shahzad, M. M. Fraz
2018 Misc conf
ISVC
Raja Muhammad Saad Bashir, Muhammad Shahzad, Muhammad Moazam Fraz
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"