mirror of
https://github.com/mandiant/speakeasy.git
synced 2026-10-12 02:18:47 +00:00
ruff: fix I001
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) 2021 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
import binascii
|
||||
import cmd
|
||||
import shlex
|
||||
import fnmatch
|
||||
import logging
|
||||
import binascii
|
||||
import argparse
|
||||
import os
|
||||
import shlex
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
import hexdump
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
import argparse
|
||||
import logging
|
||||
|
||||
import speakeasy
|
||||
import logging
|
||||
|
||||
|
||||
def get_logger():
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
import argparse
|
||||
import logging
|
||||
|
||||
import speakeasy
|
||||
import logging
|
||||
|
||||
|
||||
def get_logger():
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import argparse
|
||||
|
||||
import speakeasy
|
||||
|
||||
|
||||
|
||||
+2
-4
@@ -1,13 +1,11 @@
|
||||
import argparse
|
||||
|
||||
import speakeasy
|
||||
import speakeasy.winenv.defs.wdf as wdf
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.usb as usbdefs
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
|
||||
import speakeasy.winenv.defs.registry.reg as reg
|
||||
|
||||
import speakeasy.winenv.defs.usb as usbdefs
|
||||
import speakeasy.winenv.defs.wdf as wdf
|
||||
|
||||
IOCTL_IS_SUPER_SPEED_SUPPORTED = 0x49104b
|
||||
|
||||
|
||||
+5
-7
@@ -1,19 +1,17 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import re
|
||||
import json
|
||||
import fnmatch
|
||||
import json
|
||||
import re
|
||||
import traceback
|
||||
|
||||
|
||||
import speakeasy.common as common
|
||||
import speakeasy.version as version
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
from speakeasy.engines import unicorn_eng
|
||||
from speakeasy.profiler import Profiler
|
||||
import speakeasy.version as version
|
||||
from speakeasy.memmgr import MemoryManager
|
||||
|
||||
from speakeasy.errors import EmuException
|
||||
from speakeasy.memmgr import MemoryManager
|
||||
from speakeasy.profiler import Profiler
|
||||
|
||||
EMU_ENGINES = (
|
||||
('unicorn', unicorn_eng.EmuEngine),
|
||||
|
||||
+5
-6
@@ -1,16 +1,15 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import json
|
||||
import time
|
||||
import logging
|
||||
import argparse
|
||||
import json
|
||||
import logging
|
||||
import multiprocessing as mp
|
||||
import os
|
||||
import time
|
||||
|
||||
import speakeasy
|
||||
from speakeasy import Speakeasy
|
||||
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
from speakeasy import Speakeasy
|
||||
|
||||
|
||||
def get_logger():
|
||||
|
||||
@@ -2,24 +2,28 @@
|
||||
|
||||
# Unicorn specific wrappers and abstraction implemented here
|
||||
|
||||
import platform
|
||||
import ctypes as ct
|
||||
import platform
|
||||
|
||||
import unicorn as uc
|
||||
import unicorn.x86_const as u
|
||||
|
||||
import speakeasy.winenv.arch as arch
|
||||
import speakeasy.common as common
|
||||
import speakeasy.winenv.arch as arch
|
||||
from speakeasy.errors import EmuEngineError
|
||||
|
||||
if uc.UC_VERSION_MAJOR >= 2:
|
||||
from unicorn.unicorn_py3.unicorn import uclib as _uc
|
||||
from unicorn.unicorn_py3.arch.types import uc_hook_h
|
||||
from unicorn.unicorn_py3.unicorn import (
|
||||
HOOK_CODE_CFUNC as UC_HOOK_CODE_CB,
|
||||
HOOK_MEM_INVALID_CFUNC as UC_HOOK_MEM_INVALID_CB,
|
||||
)
|
||||
from unicorn.unicorn_py3.unicorn import (
|
||||
HOOK_MEM_ACCESS_CFUNC as UC_HOOK_MEM_ACCESS_CB,
|
||||
)
|
||||
from unicorn.unicorn_py3.arch.types import uc_hook_h
|
||||
from unicorn.unicorn_py3.unicorn import (
|
||||
HOOK_MEM_INVALID_CFUNC as UC_HOOK_MEM_INVALID_CB,
|
||||
)
|
||||
from unicorn.unicorn_py3.unicorn import uclib as _uc
|
||||
uc_engine = ct.c_void_p
|
||||
UC_HOOK_INSN_IN_CB = ct.CFUNCTYPE(ct.c_uint32, uc_engine, ct.c_uint32, ct.c_int, ct.c_void_p)
|
||||
UC_HOOK_INSN_SYSCALL_CB = ct.CFUNCTYPE(None, uc_engine, ct.c_void_p)
|
||||
|
||||
@@ -3,14 +3,13 @@
|
||||
# Data format versioning
|
||||
__report_version__ = '1.1.0'
|
||||
|
||||
import time
|
||||
import json
|
||||
import hashlib
|
||||
|
||||
from collections import deque
|
||||
import json
|
||||
import time
|
||||
from base64 import b64encode
|
||||
from collections import deque
|
||||
|
||||
from speakeasy.const import PROC_CREATE, MEM_ALLOC, MEM_WRITE, MEM_READ, MEM_PROTECT, THREAD_INJECT, THREAD_CREATE
|
||||
from speakeasy.const import MEM_ALLOC, MEM_PROTECT, MEM_READ, MEM_WRITE, PROC_CREATE, THREAD_CREATE, THREAD_INJECT
|
||||
|
||||
|
||||
class ProfileError(Exception):
|
||||
|
||||
+6
-10
@@ -1,25 +1,21 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import hashlib
|
||||
import json
|
||||
import ntpath
|
||||
import hashlib
|
||||
import os
|
||||
import zipfile
|
||||
from io import BytesIO
|
||||
from collections.abc import Callable
|
||||
from io import BytesIO
|
||||
|
||||
|
||||
from pefile import MACHINE_TYPE
|
||||
import jsonschema
|
||||
import jsonschema.exceptions
|
||||
from pefile import MACHINE_TYPE
|
||||
|
||||
import speakeasy
|
||||
import speakeasy.winenv.arch as _arch
|
||||
from speakeasy import PeFile
|
||||
from speakeasy import Win32Emulator
|
||||
from speakeasy import WinKernelEmulator
|
||||
|
||||
from speakeasy.errors import SpeakeasyError, ConfigError, NotSupportedError
|
||||
from speakeasy import PeFile, Win32Emulator, WinKernelEmulator
|
||||
from speakeasy.errors import ConfigError, NotSupportedError, SpeakeasyError
|
||||
|
||||
|
||||
class Speakeasy:
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import ctypes as ct
|
||||
from ctypes import * # noqa
|
||||
from collections import OrderedDict
|
||||
from ctypes import * # noqa
|
||||
|
||||
|
||||
class EmuStructException(Exception):
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
import ctypes
|
||||
|
||||
import speakeasy.winenv.defs.windows.com as comdefs
|
||||
import speakeasy.winenv.api.usermode.com_api as com_api
|
||||
import speakeasy.winenv.defs.windows.com as comdefs
|
||||
from speakeasy.errors import Win32EmuError
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import ntpath
|
||||
import hashlib
|
||||
from enum import IntFlag
|
||||
import ntpath
|
||||
import os
|
||||
from collections import namedtuple
|
||||
from enum import IntFlag
|
||||
|
||||
import pefile
|
||||
|
||||
@@ -12,7 +12,6 @@ import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
from speakeasy.struct import Enum
|
||||
|
||||
|
||||
# GDT Constants needed to set our emulator into protected mode
|
||||
# Access bits
|
||||
GDT_ACCESS_BITS = Enum()
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import fnmatch
|
||||
import hashlib
|
||||
import io
|
||||
import ntpath
|
||||
import hashlib
|
||||
import fnmatch
|
||||
import os
|
||||
import shlex
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
from speakeasy.errors import FileSystemEmuError
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.windows.kernel_mods as km
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
|
||||
|
||||
class IoManager:
|
||||
|
||||
+14
-19
@@ -1,28 +1,23 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import ntpath
|
||||
import hashlib
|
||||
|
||||
from speakeasy.profiler import Run
|
||||
from speakeasy.windows.winemu import WindowsEmulator
|
||||
from speakeasy.windows.ioman import IoManager
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.windows.common as w32common
|
||||
import speakeasy.windows.objman as objman
|
||||
|
||||
from speakeasy.winenv.api.winapi import WindowsApi
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.registry.reg as regdefs
|
||||
|
||||
from speakeasy.errors import KernelEmuError
|
||||
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
import ntpath
|
||||
import os
|
||||
|
||||
import capstone as cs
|
||||
|
||||
import speakeasy.windows.common as w32common
|
||||
import speakeasy.windows.objman as objman
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
import speakeasy.winenv.defs.registry.reg as regdefs
|
||||
from speakeasy.errors import KernelEmuError
|
||||
from speakeasy.profiler import Run
|
||||
from speakeasy.windows.ioman import IoManager
|
||||
from speakeasy.windows.winemu import WindowsEmulator
|
||||
from speakeasy.winenv.api.winapi import WindowsApi
|
||||
|
||||
EP_DRIVER_ENTRY = ddk.IRP_MJ_MAXIMUM_FUNCTION
|
||||
EP_DRIVER_UNLOAD = ddk.IRP_MJ_MAXIMUM_FUNCTION + 1
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from . import kernel_mod as km
|
||||
|
||||
from speakeasy.struct import EmuStruct
|
||||
import ctypes as ct
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
from speakeasy.struct import EmuStruct
|
||||
|
||||
from . import kernel_mod as km
|
||||
|
||||
|
||||
class DISK_EXTENT(EmuStruct):
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
|
||||
import io
|
||||
import os
|
||||
from urllib.parse import urlparse
|
||||
from io import BytesIO
|
||||
from urllib.parse import urlparse
|
||||
|
||||
from speakeasy.errors import NetworkEmuError
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import ntpath
|
||||
import os
|
||||
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntoskrnl
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntoskrnl
|
||||
import speakeasy.winenv.defs.windows.windows as windef
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import base64
|
||||
import fnmatch
|
||||
|
||||
import speakeasy.winenv.defs.registry.reg as regdefs
|
||||
from speakeasy.errors import RegistryEmuError
|
||||
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import hashlib
|
||||
import ntpath
|
||||
import os
|
||||
import shlex
|
||||
|
||||
import ntpath
|
||||
import hashlib
|
||||
import capstone as cs
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.windows.common as w32common
|
||||
from speakeasy.profiler import Run
|
||||
from speakeasy.windows.winemu import WindowsEmulator
|
||||
import speakeasy.windows.objman as objman
|
||||
from speakeasy.winenv.api.winapi import WindowsApi
|
||||
import speakeasy.common as common
|
||||
import speakeasy.windows.common as w32common
|
||||
import speakeasy.windows.objman as objman
|
||||
import speakeasy.winenv.arch as _arch
|
||||
from speakeasy.errors import Win32EmuError
|
||||
|
||||
from speakeasy.windows.sessman import SessionManager
|
||||
from speakeasy.profiler import Run
|
||||
from speakeasy.windows.com import COM
|
||||
|
||||
from speakeasy.windows.sessman import SessionManager
|
||||
from speakeasy.windows.winemu import WindowsEmulator
|
||||
from speakeasy.winenv.api.winapi import WindowsApi
|
||||
|
||||
DLL_PROCESS_DETACH = 0
|
||||
DLL_PROCESS_ATTACH = 1
|
||||
|
||||
+12
-16
@@ -1,30 +1,26 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import ntpath
|
||||
import traceback
|
||||
import os
|
||||
import shlex
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
from speakeasy.binemu import BinaryEmulator
|
||||
from speakeasy.profiler import MemAccess
|
||||
import traceback
|
||||
|
||||
import speakeasy.common as common
|
||||
from speakeasy.profiler import Run
|
||||
import speakeasy.windows.common as winemu
|
||||
import speakeasy.windows.objman as objman
|
||||
from speakeasy.windows.regman import RegistryManager
|
||||
from speakeasy.windows.fileman import FileManager
|
||||
from speakeasy.windows.cryptman import CryptoManager
|
||||
from speakeasy.windows.netman import NetworkManager
|
||||
from speakeasy.windows.hammer import ApiHammer
|
||||
from speakeasy.windows.driveman import DriveManager
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.windows.windows as windef
|
||||
|
||||
from speakeasy.struct import EmuStruct
|
||||
from speakeasy.binemu import BinaryEmulator
|
||||
from speakeasy.errors import WindowsEmuError
|
||||
from speakeasy.profiler import MemAccess, Run
|
||||
from speakeasy.struct import EmuStruct
|
||||
from speakeasy.windows.cryptman import CryptoManager
|
||||
from speakeasy.windows.driveman import DriveManager
|
||||
from speakeasy.windows.fileman import FileManager
|
||||
from speakeasy.windows.hammer import ApiHammer
|
||||
from speakeasy.windows.netman import NetworkManager
|
||||
from speakeasy.windows.regman import RegistryManager
|
||||
|
||||
# When disassembling, a minimum instruction size needs to be supplied
|
||||
# This number is arbitrary and just needs to be large enough to cover
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import speakeasy.windows.common as winemu
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
from speakeasy.errors import ApiEmuError
|
||||
from speakeasy.profiler import Run
|
||||
from speakeasy.struct import EmuStruct
|
||||
from speakeasy.errors import ApiEmuError
|
||||
import speakeasy.windows.common as winemu
|
||||
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
|
||||
|
||||
class ApiHandler:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import uuid
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.wfp.fwpmtypes as fwp
|
||||
|
||||
from .. import api
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as nt
|
||||
import speakeasy.winenv.defs.ndis.ndis as ndis
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as nt
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
NDIS_STATUS_FAILURE = 0xC0000001
|
||||
NDIS_STATUS_SUCCESS = 0x00000000
|
||||
NDIS_STATUS_RESOURCES = 0xC000009A
|
||||
|
||||
@@ -2,14 +2,12 @@
|
||||
|
||||
from socket import inet_ntoa, ntohs
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.winsock.ws2_32 as winsock
|
||||
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as nt
|
||||
import speakeasy.winenv.defs.wsk as wsk
|
||||
|
||||
import speakeasy.windows.netman as netman
|
||||
import speakeasy.windows.objman as objman
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as nt
|
||||
import speakeasy.winenv.defs.winsock.ws2_32 as winsock
|
||||
import speakeasy.winenv.defs.wsk as wsk
|
||||
from speakeasy.errors import ApiEmuError
|
||||
|
||||
from .. import api
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import uuid
|
||||
import ntpath
|
||||
import uuid
|
||||
|
||||
import lznt1
|
||||
|
||||
import speakeasy.common as common
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
import speakeasy.winenv.defs.registry.reg as regdefs
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
from speakeasy.const import FILE_OPEN, FILE_WRITE, FILE_READ, MEM_WRITE
|
||||
from speakeasy.const import FILE_OPEN, FILE_READ, FILE_WRITE, MEM_WRITE
|
||||
from speakeasy.errors import ApiEmuError
|
||||
from speakeasy.winenv.api import api
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import uuid
|
||||
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.wdf as wdf
|
||||
import speakeasy.winenv.defs.usb as usbdefs
|
||||
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
import speakeasy.winenv.defs.usb as usbdefs
|
||||
import speakeasy.winenv.defs.wdf as wdf
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import hashlib
|
||||
|
||||
from Crypto.Cipher import ARC4
|
||||
|
||||
import speakeasy.windows.objman as objman
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.registry.reg as regdefs
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
|
||||
import speakeasy.winenv.defs.windows.kernel32 as k32
|
||||
import speakeasy.winenv.defs.windows.advapi32 as adv32
|
||||
import speakeasy.windows.objman as objman
|
||||
from speakeasy.const import PROC_CREATE, REG_OPEN, REG_READ, REG_LIST, REG_CREATE
|
||||
import speakeasy.winenv.defs.windows.kernel32 as k32
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
from speakeasy.const import PROC_CREATE, REG_CREATE, REG_LIST, REG_OPEN, REG_READ
|
||||
|
||||
from .. import api
|
||||
from Crypto.Cipher import ARC4
|
||||
import hashlib
|
||||
|
||||
SERVICE_STATUS_HANDLE_BASE = 0x1000
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
import base64
|
||||
|
||||
from .. import api
|
||||
|
||||
import speakeasy.winenv.defs.nt.ddk as ntdefs
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
class Bcrypt(api.ApiHandler):
|
||||
"""
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from .. import api
|
||||
import speakeasy.winenv.defs.windows.com as comdefs
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
class ComApi(api.ApiHandler):
|
||||
"""
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import base64
|
||||
|
||||
from .. import api
|
||||
|
||||
ERROR_MORE_DATA = 234
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
import binascii
|
||||
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
import speakeasy.winenv.defs.windows.iphlpapi as iphlpapi_types
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
@@ -1,23 +1,33 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import ntpath
|
||||
import string
|
||||
import fnmatch
|
||||
import datetime
|
||||
import time
|
||||
import ctypes as ct
|
||||
import datetime
|
||||
import fnmatch
|
||||
import ntpath
|
||||
import os
|
||||
import string
|
||||
import struct
|
||||
import time
|
||||
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.common as common
|
||||
import speakeasy.windows.common as winemu
|
||||
from speakeasy.const import FILE_WRITE, FILE_CREATE, FILE_READ, PROC_CREATE, MEM_ALLOC, MEM_WRITE, MEM_READ, \
|
||||
MEM_PROTECT, THREAD_INJECT, THREAD_CREATE
|
||||
from speakeasy.errors import ApiEmuError
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.windows.kernel32 as k32types
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
from speakeasy.const import (
|
||||
FILE_CREATE,
|
||||
FILE_READ,
|
||||
FILE_WRITE,
|
||||
MEM_ALLOC,
|
||||
MEM_PROTECT,
|
||||
MEM_READ,
|
||||
MEM_WRITE,
|
||||
PROC_CREATE,
|
||||
THREAD_CREATE,
|
||||
THREAD_INJECT,
|
||||
)
|
||||
from speakeasy.errors import ApiEmuError
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright (C) 2021 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
import speakeasy.winenv.defs.windows.netapi32 as netapi32defs
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import binascii
|
||||
import os
|
||||
|
||||
from .. import api
|
||||
|
||||
import speakeasy.windows.common as winemu
|
||||
import speakeasy.winenv.defs.nt.ddk as ddk
|
||||
import speakeasy.winenv.defs.nt.ntoskrnl as ntos
|
||||
import speakeasy.windows.common as winemu
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
class Ntdll(api.ApiHandler):
|
||||
|
||||
@@ -7,6 +7,7 @@ import speakeasy.winenv.defs.windows.windows as windefs
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
class RPCRT4(api.ApiHandler):
|
||||
"""
|
||||
Implements exported functions from rpcrt4.dll
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
from speakeasy.const import PROC_CREATE
|
||||
from .. import api
|
||||
import shlex
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
|
||||
import speakeasy.winenv.defs.windows.shell32 as shell32_defs
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
from speakeasy.const import PROC_CREATE
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
class Shell32(api.ApiHandler):
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import ntpath
|
||||
import os
|
||||
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
|
||||
from .. import api
|
||||
import speakeasy.winenv.arch as e_arch
|
||||
|
||||
MAX_PATH = 260
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
from urllib.parse import urlparse
|
||||
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
from speakeasy.const import FILE_WRITE, FILE_CREATE
|
||||
from speakeasy.const import FILE_CREATE, FILE_WRITE
|
||||
|
||||
from .. import api
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.windows.sessman as sessman
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.windows.user32 as windefs
|
||||
import speakeasy.winenv.defs.windows.windef as windef
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
from socket import inet_aton
|
||||
from urllib.parse import urlparse
|
||||
import speakeasy.winenv.arch as _arch
|
||||
|
||||
import speakeasy.windows.netman as netman
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.wininet as windefs
|
||||
|
||||
from .. import api
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
from socket import inet_aton
|
||||
from urllib.parse import urlparse
|
||||
import speakeasy.winenv.arch as _arch
|
||||
|
||||
import speakeasy.windows.netman as netman
|
||||
import speakeasy.winenv.arch as _arch
|
||||
import speakeasy.winenv.defs.wininet as windefs
|
||||
|
||||
from .. import api
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import time
|
||||
|
||||
from .. import api
|
||||
|
||||
import time
|
||||
|
||||
class Winmm(api.ApiHandler):
|
||||
"""
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
import re
|
||||
import struct
|
||||
|
||||
from socket import inet_ntoa, inet_aton, inet_pton, inet_ntop, ntohs, htons, ntohl, htonl
|
||||
from socket import htonl, htons, inet_aton, inet_ntoa, inet_ntop, inet_pton, ntohl, ntohs
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
|
||||
import speakeasy.winenv.defs.windows.windows as windefs
|
||||
import speakeasy.winenv.defs.winsock.winsock as winsock
|
||||
import speakeasy.winenv.defs.winsock.ws2_32 as wstypes
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import ctypes as ct
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import sys
|
||||
import inspect
|
||||
import sys
|
||||
|
||||
import speakeasy.winenv.arch as _arch
|
||||
from speakeasy.errors import ApiEmuError
|
||||
from speakeasy.winenv.api import api
|
||||
from speakeasy.winenv.api.kernelmode import * # noqa
|
||||
from speakeasy.winenv.api.usermode import * # noqa
|
||||
from speakeasy.winenv.api.kernelmode import * # noqa
|
||||
from speakeasy.winenv.api.usermode import * # noqa
|
||||
|
||||
|
||||
def autoload_api_handlers():
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
|
||||
class NDIS_OBJECT_HEADER(EmuStruct):
|
||||
def __init__(self, ptr_size):
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, EmuUnion, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.winenv.defs import * # noqa
|
||||
from speakeasy.struct import EmuStruct, EmuUnion, Ptr
|
||||
from speakeasy.winenv.defs import * # noqa
|
||||
|
||||
|
||||
class KSYSTEM_TIME(EmuStruct):
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Enum
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Enum
|
||||
|
||||
REG_NONE = 0
|
||||
REG_SZ = 1
|
||||
REG_EXPAND_SZ = 2
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct
|
||||
|
||||
USB_DEVICE_DESCRIPTOR_TYPE = 0x01
|
||||
USB_CONFIGURATION_DESCRIPTOR_TYPE = 0x02
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
import ctypes as ct
|
||||
|
||||
import speakeasy.winenv.defs.usb as usbdefs
|
||||
from speakeasy.struct import EmuStruct, Ptr, EmuUnion, Enum
|
||||
|
||||
from speakeasy.struct import EmuStruct, EmuUnion, Enum, Ptr
|
||||
|
||||
WdfUsbTargetDeviceSelectConfigType = Enum()
|
||||
WdfUsbTargetDeviceSelectConfigType.WdfUsbTargetDeviceSelectConfigTypeInvalid = 0
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
|
||||
class GUID(EmuStruct):
|
||||
def __init__(self, ptr_size):
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
NTE_BAD_ALGID = 0x80090008
|
||||
|
||||
SERVICE_WIN32 = 0x30
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2022 Mandiant, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
MAX_ADAPTER_NAME_LENGTH = 256
|
||||
MAX_ADAPTER_DESCRIPTION_LENGTH = 128
|
||||
MAX_ADAPTER_ADDRESS_LENGTH = 8
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
WSADESCRIPTION_LEN = 256
|
||||
WSASYS_STATUS_LEN = 128
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2021 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
NERR_Success = 0
|
||||
|
||||
NetSetupUnknownStatus = 0
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
WH_CALLWNDPROC = 4
|
||||
WH_CALLWNDPROCRET = 12
|
||||
WH_CBT = 5
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct
|
||||
|
||||
|
||||
class POINT(EmuStruct):
|
||||
def __init__(self, ptr_size):
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
NULL = 0
|
||||
|
||||
ERROR_SUCCESS = 0
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import ctypes as ct
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
INTERNET_FLAG_ASYNC = 0x10000000
|
||||
INTERNET_FLAG_CACHE_ASYNC = 0x00000080
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
WSADESCRIPTION_LEN = 256
|
||||
WSASYS_STATUS_LEN = 128
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
|
||||
class WSK_PROVIDER_BASIC_DISPATCH(EmuStruct):
|
||||
def __init__(self, ptr_size):
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import json
|
||||
import lzma
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Copyright (C) 2020 FireEye, Inc. All Rights Reserved.
|
||||
|
||||
import os
|
||||
import json
|
||||
import os
|
||||
|
||||
import pytest
|
||||
import jsonschema
|
||||
import pytest
|
||||
|
||||
import speakeasy
|
||||
import speakeasy.speakeasy
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import copy
|
||||
|
||||
|
||||
DISPATCH_SCRIPT = [
|
||||
'Hello emulator\n',
|
||||
'First access violation\r\n',
|
||||
|
||||
@@ -4,7 +4,6 @@ import ctypes as ct
|
||||
|
||||
from speakeasy.struct import EmuStruct, Ptr
|
||||
|
||||
|
||||
EXPECTED_32BIT_BYTES = (
|
||||
b'\x01\x01\x02\x02\x03\x03\x03\x03\x04\x04\x04\x04\x05\x05'
|
||||
b'\x06\x06\x06\x06\x07\x07\x07\x07AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
DEV_NAME = '\\Device\\wdm_test'
|
||||
SYM_LINK = '\\DosDevices\\wdm_test'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user