M. K. Arti

11 papers Journal 8Unranked 3
YearRankTypeTitle / Venue / Authors
2024 J jnl
IEEE Access
Prateek Anand, M. K. Arti
2023 J jnl
IEEE Trans. Comput. Soc. Syst.
Antoni Wilinski, M. K. Arti, Lukasz Kupracz
2015 J jnl
IEEE Trans. Veh. Technol.
M. K. Arti, Ranjan K. Mallik, Robert Schober
2014 conf
ICC
M. K. Arti, Manav R. Bhatnagar
2014 J jnl
IEEE Commun. Lett.
M. K. Arti, Manav R. Bhatnagar
2013 J jnl
IEEE Commun. Lett.
M. K. Arti, Ranjan K. Mallik, Robert Schober
2013 conf
VTC Fall
M. K. Arti, Ranjan K. Mallik, Robert Schober
2013 J jnl
IEEE Commun. Lett.
Manav R. Bhatnagar, M. K. Arti
2010 J jnl
Wirel. Pers. Commun.
Manav R. Bhatnagar, M. K. Arti, Are Hjørungnes, Ranjan Bose, Lingyang Song
2007 J jnl
Wirel. Pers. Commun.
Manav R. Bhatnagar, R. Vishwanath, M. K. Arti, Vaibhav Bhatnagar
2007 conf
ISWCS
M. K. Arti, Ranjan Bose, Manav R. Bhatnagar, Are Hjørungnes
redb/extractors/decompiler/bninja/analysis/api.py
← Index redb/extractors/decompiler/bninja/analysis/api.py python
from enum import Enum


class ApiCategory(Enum):
    FILE_OP = [
        "CreateFile",
        "ReadFile",
        "WriteFile",
        "DeleteFile",
        "SetFilePointer",
        "CopyFile",
        "MoveFile",
        "FindFirstFile",
        "FindNextFile",
    ]
    MEMORY_OP = [
        "VirtualAlloc",
        "VirtualFree",
        "HeapAlloc",
        "HeapFree",
        "LocalAlloc",
        "GlobalAlloc",
        "MapViewOfFile",
        "VirtualProtect",
    ]
    NETWORK_OP = [
        "socket",
        "connect",
        "bind",
        "send",
        "recv",
        "WSAStartup",
        "InternetOpen",
        "InternetConnect",
        "HttpOpenRequest",
        "HttpSendRequest",
        "InternetReadFile",
        "URLDownloadToFile",
    ]
    REGISTRY_OP = [
        "RegOpenKey",
        "RegCreateKey",
        "RegSetValue",
        "RegQueryValue",
        "RegDeleteKey",
        "RegEnumKey",
        "RegFlushKey",
    ]
    PROCESS_OP = [
        "CreateProcess",
        "OpenProcess",
        "TerminateProcess",
        "GetProcessId",
        "CreateProcessAsUser",
        "NtCreateProcess",
    ]
    THREAD_OP = [
        "CreateThread",
        "SuspendThread",
        "ResumeThread",
        "CreateRemoteThread",
        "SetThreadContext",
        "GetThreadContext",
    ]
    INJECTION_OP = [
        "WriteProcessMemory",
        "VirtualAllocEx",
        "NtWriteVirtualMemory",
        "SetWindowsHookEx",
        "QueueUserAPC",
        "NtMapViewOfSection",
    ]
    EVASION_OP = [
        "IsDebuggerPresent",
        "CheckRemoteDebuggerPresent",
        "NtQueryInformationProcess",
        "GetTickCount",
        "OutputDebugString",
        "Sleep",
        "QueryPerformanceCounter",
    ]
    SPYING_OP = [
        "GetAsyncKeyState",
        "GetKeyboardState",
        "GetKeyState",
        "GetForegroundWindow",
        "SetWindowsHookEx",
        "BitBlt",
        "GetClipboardData",
    ]
    SYSTEM_OP = [
        "CreateToolhelp32Snapshot",
        "EnumDeviceDrivers",
        "EnumProcesses",
        "GetSystemDirectoryA",
        "GetLogicalDrives",
    ]
    SERVICE_OP = [
        "CreateServiceA",
        "OpenServiceA",
        "StartServiceA",
        "DeleteService",
        "OpenSCManagerA",
        "ControlService",
    ]
    CRYPTO_OP = [
        "CryptAcquireContext",
        "CryptGenKey",
        "CryptEncrypt",
        "CryptDecrypt",
        "CryptCreateHash",
        "CryptHashData",
        "CryptGenRandom",
    ]
    DLL_OP = ["LoadLibrary", "GetProcAddress", "FreeLibrary", "LdrLoadDll"]
    UNKNOWN_OP = []

    @classmethod
    def from_api(cls, api_name):
        for category in cls:
            if any(api_name.startswith(api) for api in category.value):
                return category
        return cls.UNKNOWN_OP