我正在逆转一个恶意软件,它使用 Process Hollowing 的变体来创建一个我无法转储的进程。我不知道我做错了什么。我总是看到停止在 GetContextThread 的建议,但是这个过程挖空并没有调用那个 Api。
这正是发生的事情:
CreateProcessA:创建一个新进程,进程创建标志0x00000004用于创建处于挂起状态的进程
ReadProcessMemory:读取挂起进程的图像库
NtCreateSection:创建两个读/写/执行节
ZwMapViewOfSection:将读/写/执行部分映射到恶意软件的地址空间
ZwMapViewOfSection:将第二部分映射到挂起进程的地址空间(因此这部分在两个进程之间共享)。
ReadProcessMemory:将挂起进程的映像的映像库读入第 1 部分
ReadProcessMemory:将恶意软件图像的图像库读入第 2 部分
NtMapViewOfSection:通过将section 1映射到新的进程基地址来覆盖挂起进程的入口点代码
ResumeThread:恢复执行注入代码的挂起进程的线程
知道这一点,并且由于英语不是我的母语,并且有太多的技术词......我应该看看上面的哪个调用来找到EP?可能是最后一个 NtMapViewOfSection ?