Option Explicit
Public Declare Function ZwQueryInformationProcess _
Lib "NTDLL.DLL" (ByVal ProcessHandle As Long, _
ByVal ProcessInformationClass As PROCESSINFOCLASS, _
ByVal ProcessInformation As Long, _
ByVal ProcessInformationLength As Long, _
ByRef ReturnLength As Long) As Long
Public Enum PROCESSINFOCLASS
ProcessBasicInformation
ProcessQuotaLimits
ProcessIoCounters
ProcessVmCounters
ProcessTimes
ProcessBasePriority
ProcessRaisePriority
ProcessDebugPort
ProcessExceptionPort
ProcessAccessToken
ProcessLdtInformation
ProcessLdtSize
ProcessDefaultHardErrorMode
ProcessIoPortHandlers '// Note: this is kernel mode only
ProcessPooledUsageAndLimits
ProcessWorkingSetWatch
ProcessUserModeIOPL
ProcessEnableAlignmentFaultFixup
ProcessPriorityClass
ProcessWx86Information
ProcessHandleCount
ProcessAffinityMask
ProcessPriorityBoost
ProcessDeviceMap
ProcessSessionInformation
ProcessForegroundInformation
ProcessWow64Information
ProcessImageFileName
ProcessLUIDDeviceMapsEnabled
ProcessBreakOnTermination
ProcessDebugObjectHandle
ProcessDebugFlags
ProcessHandleTracing
ProcessIoPriority
ProcessExecuteFlags
ProcessResourceManagement
ProcessCookie
ProcessImageInformation
MaxProcessInfoClass '// MaxProcessInfoClass should always be the last enum
End Enum
Public Type PROCESS_BASIC_INFORMATION
ExitStatus As Long 'NTSTATUS
PebBaseAddress As Long 'PPEB
AffinityMask As Long 'ULONG_PTR
BasePriority As Long 'KPRIORITY
UniqueProcessId As Long 'ULONG_PTR
InheritedFromUniqueProcessId As Long 'ULONG_PTR
End Type
Private Function GetProcessId(ByVal hProcess As Long) As Long
Dim st As Long
Dim pbi As PROCESS_BASIC_INFORMATION: pbi = GetProcessBasicInfo(hProcess)
GetProcessId = pbi.UniqueProcessId
End Function
Private Function GetProcessBasicInfo(ByVal hProcess As Long) As PROCESS_BASIC_INFORMATION
Dim st As Long
Dim pbi As PROCESS_BASIC_INFORMATION
st = ZwQueryInformationProcess(hProcess, ProcessBasicInformation, VarPtr(pbi), LenB(pbi), 0)
If (Not NT_SUCCESS(st)) Then Exit Function
GetProcessBasicInfo = pbi
End Function
Public Function NT_SUCCESS(ByVal Status As Long) As Boolean
NT_SUCCESS = (Status >= 0)
End Function
分享到:
相关推荐
在OllyDbg中,有几种策略可以用来检测和规避调试器,例如使用UnhandledExceptionFilter和ZwQueryInformationProcess。这两者结合,可以构建起有效的反调试机制。 首先,UnhandledExceptionFilter是一个Windows API...
易语言取进程环境源码,取进程环境,GetPeb,ZwQueryInformationProcess,OpenProcess,CloseHandle,CopyMemory_PROCESS_BASIC_INFORMATION
- 使用`ZwQueryInformationProcess`等NT内核API进行编程时,需具备相应的权限和对Windows内核API的深入理解,以避免安全问题或系统稳定性风险。 - 代码示例中使用了`Option Explicit`,这是一个良好的编程习惯,强制...
本篇将详细探讨如何使用易语言来检测父进程的名字,以及涉及到的相关技术如ZwQueryInformationProcess、OpenProcess、CloseHandle和GetProcessImageFileNameA。 首先,我们要理解“父进程”和“子进程”的概念。在...
4. **循环遍历**: 因为系统中可能有多个进程,所以通常会使用循环遍历所有进程,调用`ZwQueryInformationProcess`多次,每次获取一个进程的信息。 5. **处理结果**: 将获取到的进程信息存储到适当的数据结构中,...
这可以通过`OpenProcess`函数获取进程句柄,再调用`NtQueryInformationProcess`或` ZwQueryInformationProcess`(这两个是内核模式的API,需要使用NTDLL.DLL库)来获取进程的上下文信息,其中包含了文件句柄信息。...
1. 进程管理:创建、终止或查询进程,例如使用NtCreateProcess或 ZwQueryInformationProcess。 2. 线程操作:创建、同步和调度线程,如NtCreateThreadEx和KeWaitForSingleObject。 3. 内存管理:动态分配和释放内存...
1. 首先,我们需要使用`ZwQueryInformationProcess`命令来获取进程的基本信息,包括进程句柄、进程ID和进程名称。 ```easy DLL命令 ZwQueryInformationProcess, 整数型, "NTDLL.DLL" .参数 ProcessHandle, 整数型 ...
任务管理器能够枚举并管理不同会话中的进程,这涉及到Windows内核级别的API调用,如 ZwQueryInformationProcess 和 NtQuerySystemInformation 等,用于获取进程信息。 任务管理器的进程管理功能,依赖于Windows API...
此外,还可以利用 ZwQueryInformationProcess 获取进程信息,然后通过 ZwTerminateProcess 终止目标进程。 值得注意的是,驱动级杀进程虽然强大,但也存在风险。不正确的驱动编写和使用可能导致系统不稳定,甚至...
例如,当驱动检测到对特定文件夹的操作时,可以调用`ZwQueryInformationProcess`获取发起该操作的进程信息,包括进程ID和全路径,然后使用`ZwWriteFile`将这些信息写入日志文件。 2. **Flt系列函数(Filter Manager...
易语言汇编反调试源码,汇编反调试,是否被调试,是否被调试1,是否被调试2,GetCurrentProcessId,NtSetDebugFilterState,OpenProcess,ZwQueryInformationProcess
这通常涉及到WinAPI函数,比如NtQueryInformationProcess、 ZwQueryInformationProcess 或者 VirtualProtect 等,用于读取和修改进程内存。 为了实现这个功能,开发者可能使用了以下步骤: 1. 获取目标进程的句柄...
易语言控制进程源码,控制进程,强力结束进程,强力打开进程,ZwQuerySystemInformation,取指针_字节集,RtlMoveMemory3,ZwOpenProcess,RtlMoveMemory1,ZwQueryInformationProcess,ZwDuplicateObject,ZwCreateJobObject,...
易语言强力枚举进程源码,强力枚举进程,枚举所有进程,取进程命令行,UnicodeToAnsi,提升进程权限,OpenProcess,ZwQueryInformationProcess,NtReadVirtualMemory,VirtualQueryEx,WideCharToMultiByte,CloseHandle,...
易语言强力打开结束进程模块源码,强力打开结束进程模块,强力结束进程,强力打开进程,ZwQuerySystemInformation,取指针_字节集,RtlMoveMemory3,ZwOpenProcess,RtlMoveMemory1,ZwQueryInformationProcess,...
易语言枚举内核对象句柄源码,枚举内核对象句柄,枚举系统句柄,CloseRemoteHandle,结束内核对象句柄,测试线程,CompareFunc3,RtlMoveMemory1,CopyMemory_SYSTEM_PROCESSES,ZwQueryInformationProcess,...
易语言进程隐藏模块源码,进程隐藏模块,GetModuleListAddress,枚举模块,GetDword,GetWord,GetByte,SetDword,隐藏进程,GetEProcess,十六文本至长整数,ReadMemory,WriteMemory,ZwQueryInformationProcess,OpenProcess,...
源码中涉及的这部分内容可能包括系统调用的使用,如 ZwQueryInformationProcess 和 NtQueryInformationProcess,用于获取进程信息。 2. **模块查看**:冰刃可以查看进程加载的动态链接库(DLL),这对于检测恶意...