Majid Naderi

45 papers B 3C 2Misc 2Journal 30Unranked 8
YearRankTypeTitle / Venue / Authors
2016 J jnl
Wirel. Commun. Mob. Comput.
Hamidreza Tavakoli, Jelena V. Misic, Majid Naderi, Vojislav B. Misic
2015 J jnl
IEEE Trans. Parallel Distributed Syst.
Hamidreza Tavakoli, Jelena V. Misic, Vojislav B. Misic, Majid Naderi
2015 J jnl
Ad Hoc Sens. Wirel. Networks
Hamidreza Tavakoli, Jelena V. Misic, Majid Naderi, Vojislav B. Misic
2014 J jnl
Int. J. Medical Informatics
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2014 J jnl
Neural Comput. Appl.
Nasour Bagheri, Masoumeh Safkhani, Majid Naderi
2013 conf
ICDCS Workshops
Hamidreza Tavakoli, Jelena V. Misic, Majid Naderi, Vojislav B. Misic
2013 J jnl
IEICE Trans. Inf. Syst.
Hamidreza Tavakoli, Majid Naderi
2013 B conf
IWCMC
Hamidreza Tavakoli, Jelena V. Misic, Majid Naderi, Vojislav B. Misic
2013 conf
VTC Fall
Hamidreza Tavakoli, Jelena V. Misic, Majid Naderi, Vojislav B. Misic
2013 J jnl
Wirel. Pers. Commun.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2012 C conf
WISTP
Julio César Hernández Castro, Pedro Peris-Lopez, Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2012 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2012 J jnl
Adv. Multim.
Saeed Bahrami, Majid Naderi
2012 J jnl
J. Medical Syst.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2012 conf
RFIDSec
Masoumeh Safkhani, Pedro Peris-Lopez, Nasour Bagheri, Majid Naderi, Julio César Hernández Castro
2012 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Pedro Peris-Lopez, Julio César Hernández Castro, Nasour Bagheri, Majid Naderi
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Majid Naderi, Nasour Bagheri, Somitra Kumar Sanadhya
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Somitra Kumar Sanadhya, Majid Naderi
2011 J jnl
IET Commun.
Ali Mahani, Yousef Seifi Kavian, Majid Naderi, Habib F. Rashvand
2011 conf
DPM/SETOP
Masoumeh Safkhani, Nasour Bagheri, Somitra Kumar Sanadhya, Majid Naderi, Hamid Behnam
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2011 J jnl
IACR Cryptol. ePrint Arch.
Nasour Bagheri, Masoumeh Safkhani, Majid Naderi, Somitra Kumar Sanadhya
2011 J jnl
IACR Cryptol. ePrint Arch.
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2011 conf
ICITST
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi, Somitra Kumar Sanadhya
2011 B conf
ARES
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi, Yiyuan Luo, Qi Chai
2011 conf
ICITST
Masoumeh Safkhani, Nasour Bagheri, Majid Naderi
2010 J jnl
IEICE Electron. Express
Masoumeh Safkhani, Majid Naderi, Nasour Bagheri
2010 Misc conf
INDOCRYPT
Ashish Kumar, Somitra Kumar Sanadhya, Praveen Gauravaram, Masoumeh Safkhani, Majid Naderi
2010 J jnl
IEICE Trans. Fundam. Electron. Commun. Comput. Sci.
Nasour Bagheri, Praveen Gauravaram, Majid Naderi, Babak Sadeghiyan
2010 B conf
CANS
Nasour Bagheri, Praveen Gauravaram, Majid Naderi, Søren S. Thomsen
2009 J jnl
IET Inf. Secur.
Nasour Bagheri, Matt Henricksen, Lars R. Knudsen, Majid Naderi, B. Sadeghyian
2009 J jnl
IEICE Trans. Fundam. Electron. Commun. Comput. Sci.
Nasour Bagheri, Lars R. Knudsen, Majid Naderi, Søren S. Thomsen
2009 J jnl
IET Commun.
Ali K. Mahani, Majid Naderi, Claudio Casetti, Carla-Fabiana Chiasserini
2009 J jnl
IET Commun.
Ali Mahani, Habib F. Rashvand, Ebrahim Teimoury, Majid Naderi, Bahman Abolhassani
2008 J jnl
IACR Cryptol. ePrint Arch.
Nasour Bagheri, Majid Naderi, Babak Sadeghiyan
2008 J jnl
IET Commun.
Yousef Seifi Kavian, Habib F. Rashvand, Wei Ren, Majid Naderi, Mark S. Leeson, Evor L. Hines
2008 J jnl
IEEE Trans. Biomed. Eng.
Ørjan Grøttem Martinsen, Sverre Grimnes, Jon Kerr Nilsen, Christian Tronstad, Wooyoung Jang, Hongsig Kim, Kunsoo Shin, Majid Naderi, FrankThielmann
2008 C conf
SECRYPT
Nasour Bagheri, Babak Sadeghiyan, Majid Naderi
2008 J jnl
Eur. Trans. Telecommun.
Yousef Seifi Kavian, Wei Ren, Majid Naderi, Mark S. Leeson, Evor L. Hines
2008 conf
ICT
Ali Khayatzadeh Mahani, Majid Naderi, Claudio Casetti, Carla-Fabiana Chiasserini
2008 Misc conf
CSICC
Kourosh Hassanli, Ali Khayatzadeh Mahani, Majid Naderi
2007 conf
ICSNC
Maryam Mohseni, Shabnam Vahedi, Majid Naderi
redb/extractors/decompiler/bninja/analysis/medium_level_normalization.py
← Index redb/extractors/decompiler/bninja/analysis/medium_level_normalization.py python
from binaryninja import (
    MediumLevelILInstruction,
    Variable, SSAVariable,
    ILIntrinsic,
)


class MediumLevelNormalization:
    def __init__(self):
        return

    def _collect_ops(self, il, ops):
        if il is None:
            return
        ops.append(int(il.operation))
        operands = getattr(il, "operands", None)
        if not operands:
            return
        for op in operands:
            if isinstance(op, MediumLevelILInstruction):
                self._collect_ops(op, ops)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if isinstance(sub, MediumLevelILInstruction):
                        self._collect_ops(sub, ops)

    def normalize_instruction_all_levels(self, instr_il):
        ops = []
        self._collect_ops(instr_il, ops)
        return ops

    def _leaf_type(self, val):
        if isinstance(val, SSAVariable):
            return "SSA_VAR"
        if isinstance(val, Variable):
            return "VAR"
        if isinstance(val, ILIntrinsic):
            return "INTRINSIC"
        if isinstance(val, bool):
            return "BOOL"
        if isinstance(val, float):
            return "FLOAT_CONST"
        if isinstance(val, int):
            return "CONST"
        if isinstance(val, str):
            return "STR"
        return type(val).__name__.upper()

    def _collect(self, il, out_op):
        if il is None:
            return
        out_op.append(int(il.operation))
        operands = getattr(il, "operands", None)
        if not operands:
            return
        for op in operands:
            if isinstance(op, MediumLevelILInstruction):
                self._collect(op, out_op)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if isinstance(sub, MediumLevelILInstruction):
                        self._collect(sub, out_op)
                    else:
                        out_op.append(self._leaf_type(sub))
            else:
                out_op.append(self._leaf_type(op))

    def normalize_instr_with_operands(self, instr_il):
        ops = []
        self._collect(instr_il, ops)
        return ops