Majid Khan

86 papers A 1C 1Journal 84
YearRankTypeTitle / Venue / Authors
2026 J jnl
Frontiers Robotics AI
Blanca Iñígo, Benjamin D. Killeen, Rebecca Choi, Michelle Song, Ali Uneri, Majid Khan, Christopher R. Bailey, Axel Krieger, Mathias Unberath
2026 J jnl
Quantum Inf. Process.
Qaisar Khan, Ibrahim Al-Dayel, Meraj Ali Khan, Majid Khan
2026 J jnl
Quantum Inf. Process.
Qaisar Khan, Ibrahim Al-Dayel, Muhammad Adnan Khan, Majid Khan
2026 J jnl
Qual. Reliab. Eng. Int.
Muhammad Arslan, Syed Masroor Anwar, Huiming Zhu, Naif Almakayeel, Chang-Yun Lin, Majid Khan
2025 J jnl
CoRR
Blanca Iñígo, Benjamin D. Killeen, Rebecca Choi, Michelle Song, Ali Uneri, Majid Khan, Christopher R. Bailey, Axel Krieger, Mathias Unberath
2025 J jnl
Comput. Biol. Medicine
Abdullah Abdullah, Hasnain Ahmad Saddiqi, Mahnoor Qasim, Arooba Khitab, Majid Khan, Shakeel Ahmad
2025 J jnl
J. King Saud Univ. Comput. Inf. Sci.
Majid Khan, Noor Munir
2025 J jnl
Qual. Reliab. Eng. Int.
Muhammad Waqas, Songhua Xu, Syed Masroor Anwar, Zahid Rasheed, Majid Khan
2025 J jnl
Netw. Secur.
Saima Kanwal, Tao Feng, Majid Khan
2025 J jnl
Multim. Tools Appl.
Muhammad Javid, Majid Khan, Muhammad Amin
2025 J jnl
Commun. Stat. Simul. Comput.
Zahid Rasheed, Hongying Zhang, Majid Khan, Syed Masroor Anwar
2025 J jnl
Qual. Reliab. Eng. Int.
Attiya Niaz, Majid Khan, Muhammad Ijaz
2024 J jnl
Wirel. Pers. Commun.
Sadiqa Arshad, Majid Khan, Rashid Ali
2024 J jnl
Wirel. Networks
Abdullah Alghafis, Hafiz Muhammad Waseem, Majid Khan, Sajjad Shaukat Jamal, Muhammad Amin, Syeda Iram Batool
2024 J jnl
Multim. Tools Appl.
Nabilah Abughazalah, Mian Muhammad Akhtar Hayat, Majid Khan
2024 J jnl
Wirel. Networks
Noor Munir, Majid Khan, Zhouchao Wei, Akif Akgul, Muhammad Amin, Iqtadar Hussain
2024 J jnl
Comput. Appl. Math.
Sadiqa Arshad, Majid Khan
2024 J jnl
Soft Comput.
Nabilah Abughazalah, Lal Said, Majid Khan
2024 J jnl
Complex Intell. Syst.
Nabilah Abughazalah, Majid Khan, Mohsin Iqbal
2023 J jnl
J. Intell. Fuzzy Syst.
Nabilah Abughazalah, Majid Khan, Naveed Yaqoob, Noor Munir, Iqtadar Hussain
2023 J jnl
Multim. Tools Appl.
Lal Said Khan, Majid Khan, Mohammad Mazyad Hazzazi, Sajjad Shaukat Jamal
2023 J jnl
Multim. Tools Appl.
Ammar S. Alanazi, Noor Munir, Majid Khan, Iqtadar Hussain
2023 J jnl
Multim. Tools Appl.
Lal Said, Ammar S. Alanazi, Majid Khan
2023 J jnl
Multim. Tools Appl.
Nazish Iqbal, Majid Khan, Khurram Khurshid, Iqtadar Hussain
2023 J jnl
Qual. Reliab. Eng. Int.
Muhammad Aslam, Majid Khan, Zahid Rasheed, Syed Masroor Anwar, Saddam Akber Abbasi
2023 J jnl
Intell. Autom. Soft Comput.
Nabilah Abughazalah, Iqra Ishaque, Majid Khan, Ammar S. Alanazi, Iqtadar Hussain
2023 J jnl
Axioms
Majid Khan, Nazar Khan, Ferdous M. O. Tawfiq, Jong-Suk Ro
2023 J jnl
Artif. Intell. Rev.
Nabilah Abughazalah, Asim Latif, Hafiz Muhammad Waseem, Majid Khan, Ammar S. Alanazi, Iqtadar Hussain
2023 J jnl
J. Intell. Fuzzy Syst.
Majid Khan, Syeda Iram Batool, Noor Munir, Fahad Sameer Alshammari
2023 J jnl
Complex Intell. Syst.
Yi-Ming Li, Majid Khan, Adnan Khurshid, Muhammad Gulistan, Ateeq Ur Rehman, Mumtaz Ali, Shahab A. Abdulla, Aitazaz Ahsan Farooque
2023 J jnl
CoRR
Muhammad Ishaq, Laila Iftikhar, Majid Khan, Asfandyar Khan, Arshad Khan
2023 J jnl
Multim. Tools Appl.
Hamza Khan, Mohammad Mazyad Hazzazi, Sajjad Shaukat Jamal, Iqtadar Hussain, Majid Khan
2023 J jnl
Multim. Tools Appl.
Amna Zafar, Ammar S. Alanazi, Majid Khan, Iqtadar Hussain
2023 J jnl
Multim. Tools Appl.
Hamza Khan, Sajjad Shaukat Jamal, Mohammad Mazyad Hazzazi, Majid Khan, Iqtadar Hussain
2023 J jnl
IEEE Access
Majid Khan, Saba Naz, Yashir Khan, Muneeb Zafar, Maqbool Khan, Giovanni Pau
2022 J jnl
Multim. Tools Appl.
Ahmed Elmoasry, Lal Said Khan, Majid Khan, Iqtadar Hussain
2022 J jnl
Qual. Reliab. Eng. Int.
Muhammad Aslam, Majid Khan, Syed Masroor Anwar, Babar Zaman
2022 J jnl
Qual. Reliab. Eng. Int.
Majid Khan, Muhammad Aslam, Syed Masroor Anwar, Babar Zaman
2022 J jnl
Multim. Tools Appl.
Lal Said Khan, Majid Khan, Sajjad Shaukat Jamal, Muhammad Amin
2022 J jnl
Multim. Tools Appl.
Ahmed Elmoasry, Lal Said Khan, Majid Khan, Iqtadar Hussain
2022 J jnl
Multim. Tools Appl.
Noor Munir, Majid Khan, Abd Al Karim Haj Ismail, Iqtadar Hussain
2022 J jnl
Comput. Biol. Medicine
Sobia Ahsan Halim, Muhammad Waqas, Ayesha Asim, Majid Khan, Ajmal Khan, Ahmed Al-Harrasi
2022 J jnl
IEEE Access
Hafiz Muhammad Waseem, Wai-Kong Lee, Seong Oun Hwang, Majid Khan, Asim Latif
2022 J jnl
Multim. Tools Appl.
Majid Khan, Lal Said Khan, Mohammad Mazyad Hazzazi, Sajjad Shaukat Jamal, Iqtadar Hussain
2022 J jnl
J. Intell. Fuzzy Syst.
Nabilah Abughazalah, Majid Khan, Syeda Iram Batool
2021 J jnl
Multim. Tools Appl.
Syed Zeeshan Abbas, Haroon Ibrahim, Majid Khan
2021 J jnl
Multim. Tools Appl.
Syeda Iram Batool, Irfan Younas, Majid Khan, Naveed Yaqoob
2021 J jnl
Integr.
Majid Khan, Sajjad Shaukat Jamal, Mohammad Mazyad Hazzazi, Khawaja Muhammad Ali, Iqtadar Hussain, Muhammad Asif
2021 J jnl
Multim. Tools Appl.
Abdullah Alghafis, Noor Munir, Majid Khan
2021 J jnl
IEEE Access
Noor Munir, Majid Khan, Mohammad Mazyad Hazzazi, Amer Aljaedi, Abd Al Karim Haj Ismail, Adel R. Alharbi, Iqtadar Hussain
2021 J jnl
IEEE Access
Ammar S. Alanazi, Noor Munir, Majid Khan, Muhammad Asif, Iqtadar Hussain
2021 J jnl
Math. Comput. Simul.
Noor Munir, Majid Khan, Sajjad Shaukat Jamal, Mohammad Mazyad Hazzazi, Iqtadar Hussain
2021 J jnl
Integr.
Noor Munir, Majid Khan, Tariq Shah, Ammar S. Alanazi, Iqtadar Hussain
2021 C conf
BIBE
Justin D. Opfermann, Benjamin D. Killeen, Christopher R. Bailey, Majid Khan, Ali Uneri, Kensei Suzuki, Mehran Armand, Ferdinand Hui, Axel Krieger, Mathias Unberath
2021 J jnl
Wirel. Pers. Commun.
Majid Khan, Sajjad Shaukat Jamal
2021 J jnl
J. Intell. Fuzzy Syst.
Majid Khan, Abd Al Karim Haj Ismail, Iqra Ishaque, Iqtadar Hussain
2021 J jnl
Neural Comput. Appl.
Sadiqa Arshad, Majid Khan
2021 J jnl
J. Intell. Fuzzy Syst.
Nabilah Abughazalah, Majid Khan, Noor Munir, Amna Zafar
2020 J jnl
Multim. Tools Appl.
Umer Aziz Waqas, Majid Khan, Syeda Iram Batool
2020 J jnl
Multim. Tools Appl.
Majid Khan, Sajjad Shaukat Jamal, Umer Aziz Waqas
2020 J jnl
Multim. Tools Appl.
Sundas Tariq, Majid Khan, Abdullah Alghafis, Muhammad Amin
2020 J jnl
IEEE Access
Hafiz Muhammad Waseem, Abdullah Alghafis, Majid Khan
2020 J jnl
Math. Comput. Simul.
Abdullah Alghafis, Faiza Firdousi, Majid Khan, Syeda Iram Batool, Muhammad Amin
2020 J jnl
Neural Comput. Appl.
Majid Khan, Fawad Masood, Abdullah Alghafis
2020 J jnl
Symmetry
Majid Khan, Muhammad Gulistan, Mumtaz Ali, Wathek Chammam
2019 J jnl
Multim. Tools Appl.
Khawaja Muhammad Ali, Majid Khan
2019 J jnl
Multim. Tools Appl.
Majid Khan, Fawad Masood
2019 J jnl
IEEE Access
Muhammad Ishaq, Asfandyar Khan, Majid Khan, Muhammad Imran
2019 J jnl
IEEE Access
Fakhri Alam Khan, Majid Khan, Muhammad Asif, Afsheen Khalid, Inam Ul Haq
2019 J jnl
Symmetry
Majid Khan, Muhammad Gulistan, Naveed Yaqoob, Madad Khan, Florentin Smarandache
2018 J jnl
Entropy
Irfan Younas, Majid Khan
2018 J jnl
J. Electronic Imaging
Hafiz Muhammad Waseem, Majid Khan, Tariq Shah
2018 J jnl
J. Intell. Fuzzy Syst.
Majid Khan, Muhammad Gulistan, Naveed Yaqoob, Muhammad Shabir
2017 J jnl
Multim. Tools Appl.
Majid Khan, Tariq Shah, Syeda Iram Batool
2016 J jnl
Signal Image Video Process.
Majid Khan, Tariq Shah, Syeda Iram Batool
2015 J jnl
J. Intell. Fuzzy Syst.
Majid Khan, Tariq Shah
2015 J jnl
Signal Image Video Process.
Majid Khan, Tariq Shah
2013 J jnl
Comput. Math. Organ. Theory
Majid Khan, Muhammad Asif Gondal, Syeda Iram Batool
2013 J jnl
Neural Comput. Appl.
Muhammad Asif Gondal, Ahmed Salah, Majid Khan, Syeda Iram Batool
2013 J jnl
Neural Comput. Appl.
Ahmed Salah, Majid Khan, Muhammad Asif Gondal
2013 A conf
ASSETS
Md. Iftekhar Tanveer, A. S. M. Iftekhar Anam, Mohammed Yeasin, Majid Khan
2012 J jnl
Math. Comput. Model.
Majid Khan, Muhammad Asif Gondal, Sunil Kumar
2012 J jnl
Math. Comput. Model.
Majid Khan, Muhammad Asif Gondal, Iqtadar Hussain, S. Karimi Vanani
2012 J jnl
Appl. Math. Lett.
Majid Khan, Muhammad Asif Gondal
2011 J jnl
Numer. Algorithms
Majid Khan, Mazhar Hussain
2009 J jnl
Electron. Libr.
Sudharma Haridasan, Majid Khan
redb/extractors/decompiler/bninja/analysis/medium_level.py
← Index redb/extractors/decompiler/bninja/analysis/medium_level.py python
import time

from binaryninja import (
    MediumLevelILOperation as MLIL_OP,
)

try:
    from ..function_type import FunctionTypeAnalysis
    from ..similarity.minhasher import MinHasher, TokenKind
    from ..utils.hashes import calculate_sha256, calculate_tlsh
    from .medium_level_normalization import MediumLevelNormalization
except ImportError:
    from redb.extractors.decompiler.bninja.analysis.medium_level_normalization import MediumLevelNormalization
    from redb.extractors.decompiler.bninja.similarity.minhasher import MinHasher
    from redb.extractors.decompiler.bninja.function_type import FunctionTypeAnalysis
    from redb.extractors.decompiler.bninja.utils.hashes import calculate_sha256, calculate_tlsh


_MLIL_CALL_OPS = (
    MLIL_OP.MLIL_CALL,
    MLIL_OP.MLIL_CALL_SSA,
    MLIL_OP.MLIL_CALL_UNTYPED,
    MLIL_OP.MLIL_CALL_UNTYPED_SSA,
    MLIL_OP.MLIL_TAILCALL,
    MLIL_OP.MLIL_TAILCALL_SSA,
    MLIL_OP.MLIL_TAILCALL_UNTYPED,
    MLIL_OP.MLIL_TAILCALL_UNTYPED_SSA,
)

_MLIL_CONTROL_FLOW_OPS = (
    MLIL_OP.MLIL_IF,
    MLIL_OP.MLIL_GOTO,
    MLIL_OP.MLIL_JUMP,
    MLIL_OP.MLIL_JUMP_TO,
    MLIL_OP.MLIL_RET,
    MLIL_OP.MLIL_RET_HINT,
    MLIL_OP.MLIL_NORET,
) + _MLIL_CALL_OPS


class MediumLevelAnalysis:
    def __init__(self, function, bv, logger):
        self.function = function
        self.name = function.name
        self.start = function.start
        self.mlil_func = function.mlil
        self.bv = bv
        self.logger = logger
        self.errors = []

    def log_error(self, message, function_name, address, exception=None, error_location="unknown"):
        error_msg = f"Error in function {function_name} at {address}: {message}"
        if exception:
            error_msg += f" - {str(exception)}"
        self.logger.error(error_msg)

        error = {
            "function_name": function_name,
            "function_address": str(address),
            "error_location": error_location,
            "error_message": message,
            "error_details": str(exception) if exception else "",
            "error_type": type(exception).__name__ if exception else "Unknown",
            "timestamp": int(time.time() * 1000),
        }
        self.errors.append(error)

    def _collect_mlil_skeleton_and_typed(self):
        mlil = self.mlil_func
        if not mlil:
            return [], [], [], []

        start = self.start
        norm = MediumLevelNormalization()

        skeleton = []
        skeleton_with_addr = []
        typed = []
        typed_with_addr = []

        for il in mlil.instructions:
            skel_norm = norm.normalize_instruction_all_levels(il)
            typed_norm = norm.normalize_instr_with_operands(il)

            skeleton.append(skel_norm)
            typed.append(typed_norm)

            offset = il.address - start
            if offset < 0:
                offset = 0

            skeleton_with_addr.append((offset, skel_norm))
            typed_with_addr.append((offset, typed_norm))

        return skeleton, skeleton_with_addr, typed, typed_with_addr

    def analyze(self):
        (
            instr_skeleton,
            body_mlil_skeleton_vector,
            instr_typed,
            body_mlil_typed_vector,
        ) = self._collect_mlil_skeleton_and_typed()

        instr_skeleton_str = str(instr_skeleton)
        sha256_skeleton = calculate_sha256(instr_skeleton_str)
        tlsh_skeleton = calculate_tlsh(instr_skeleton_str)

        instr_typed_str = str(instr_typed)
        sha256_typed = calculate_sha256(instr_typed_str)
        tlsh_typed = calculate_tlsh(instr_typed_str)

        seed = 0xdeadbeef
        minhash_mlil_skeleton = MinHasher(seed, self.mlil_func, TokenKind.MLIL).calculateMinHash()
        minhash_mlil_typed = MinHasher(seed, self.mlil_func, TokenKind.TYPED_MLIL).calculateMinHash()

        medium_level_json = {
            "function_address": self.start,
            "body_mlil_skeleton_vector": body_mlil_skeleton_vector,
            "sha256_mlil_skeleton": sha256_skeleton,
            "tlsh_mlil_skeleton": tlsh_skeleton,
            "minhash_mlil_skeleton": minhash_mlil_skeleton,
            "body_mlil_typed_vector": body_mlil_typed_vector,
            "sha256_mlil_typed": sha256_typed,
            "tlsh_mlil_typed": tlsh_typed,
            "minhash_mlil_typed": minhash_mlil_typed,
        }

        return medium_level_json, self.errors