使用隐蔽的 Windows API 替代被监控的 API
由于本代码中的 API 都是 Windows 系统调用,因此需要使用 Windows API Hooking 技术来实现隐蔽的 API 替代。具体步骤如下:
-
使用 Windows API Hooking 工具来劫持被监控的 API,将其重定向到自己编写的函数。
-
编写自己的函数来实现 API 的功能,同时避免被监控。
-
在重定向函数中调用自己编写的函数,达到替代被监控的 API 的目的。
-
对于本代码中使用的 API,可以使用以下替代方案:
-
'VirtualAllocEx' 替代 'VirtualAllocEx':
'VirtualAllocEx' 是用来在远程进程中分配内存的 API。可以使用 'NtAllocateVirtualMemory' 替代它,'NtAllocateVirtualMemory' 同样可以在远程进程中分配内存,且不容易被检测到。
-
'WriteProcessMemory' 替代 'WriteProcessMemory':
'WriteProcessMemory' 是用来向远程进程中写入数据的 API。可以使用 'NtWriteVirtualMemory' 替代它,'NtWriteVirtualMemory' 同样可以向远程进程中写入数据,且不容易被检测到。
-
'VirtualProtectEx' 替代 'VirtualProtectEx':
'VirtualProtectEx' 是用来修改远程进程中内存区域的保护方式的 API。可以使用 'NtProtectVirtualMemory' 替代它,'NtProtectVirtualMemory' 同样可以修改内存区域的保护方式,且不容易被检测到。
-
'CreateRemoteThread' 替代 'CreateRemoteThread':
'CreateRemoteThread' 是用来在远程进程中创建线程的 API。可以使用 'NtCreateThreadEx' 替代它,'NtCreateThreadEx' 同样可以在远程进程中创建线程,且不容易被检测到。
-
'CloseHandle' 替代 'CloseHandle':
'CloseHandle' 是用来关闭句柄的 API。可以使用 'NtClose' 替代它,'NtClose' 同样可以关闭句柄,且不容易被检测到。
原文地址: https://www.cveoy.top/t/topic/oLlB 著作权归作者所有。请勿转载和采集!