Hadi M. Dolatabadi

14 papers A 2Journal 9Unranked 3
YearRankTypeTitle / Venue / Authors
2025 A conf
WACV
Nimeshika Udayangani, Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2025 J jnl
CoRR
Nimeshika Udayangani, Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2024 A conf
ECAI
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2024 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2024 conf
SaTML
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2023 J jnl
Int. J. Comput. Vis.
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2023 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2022 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2022 conf
ACCV (6)
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2022 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2022 conf
ECCV (11)
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2021 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2020 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
2020 J jnl
CoRR
Hadi M. Dolatabadi, Sarah M. Erfani, Christopher Leckie
redb/extractors/decompiler/bninja/instruction_type.py
← Index redb/extractors/decompiler/bninja/instruction_type.py python
from enum import Enum


class InstructionType(Enum):
    # Data Movement
    GENERAL_DATA_MOVEMENT = "GENERAL_DATA_MOVEMENT"  # mov, lea, xchg
    STACK_MANAGEMENT = "STACK_MANAGEMENT"  # push, pop, enter, leave
    STRING_MANIPULATION = "STRING_MANIPULATION"  # movs, lods, stos, cmps

    # Arithmetic
    BASIC_ARITHMETIC = "BASIC_ARITHMETIC"  # add, sub, inc, dec
    MULTIPLICATION_DIVISION = "MULTIPLICATION_DIVISION"  # mul, div, imul, idiv
    CARRY_ARITHMETIC = "CARRY_ARITHMETIC"  # adc, sbb

    # Logical
    BITWISE_LOGIC = "BITWISE_LOGIC"  # and, or, xor, not
    CONDITIONAL_LOGIC = "CONDITIONAL_LOGIC"  # test, cmp, setX

    # Control Flow
    UNCONDITIONAL_JUMP = "UNCONDITIONAL_JUMP"  # jmp
    CONDITIONAL_JUMP = "CONDITIONAL_JUMP"  # je, jne, jl, jg, etc
    FUNCTION_CONTROL = "FUNCTION_CONTROL"  # call, ret
    LOOPING = "LOOPING"  # loop, loopz, loopnz

    # System
    SYSTEM_CALLS = "SYSTEM_CALLS"  # syscall, int, sysenter
    PRIVILEGED_INSTRUCTIONS = "PRIVILEGED_INSTRUCTIONS"  # hlt, cli, sti
    CPU_FEATURES = "CPU_FEATURES"  # cpuid, rdtsc

    # SIMD & FPU
    SSE_SIMD = "SSE_SIMD"  # SSE instructions
    AVX_SIMD = "AVX_SIMD"  # AVX instructions
    BASIC_FPU = "BASIC_FPU"  # fld, fst, fstp
    FPU_ARITHMETIC = "FPU_ARITHMETIC"  # fadd, fsub, etc

    # Bit Operations
    SHIFT_ROTATE = "SHIFT_ROTATE"  # shl, shr, rol, ror
    BIT_TEST_MODIFY = "BIT_TEST_MODIFY"  # bt, bts, btr, btc

    # Special
    CRYPTOGRAPHIC_OPS = "CRYPTOGRAPHIC_OPS"  # aesenc, aesdec, sha1rnds4
    MISC_OPS = "MISC_OPS"