开源项目推荐:MemoryModule

615 阅读1分钟

Library to load a DLL from memory.

github.com/fancycode/M…

www.joachim-bauch.de/tutorials/l…

 

思路:把dll文件放到exe的资源文件里,使用MemoryModule加载到内存,远程注入到其他软件的进程里,注射完exe关闭,这样本地和其他软件的进程中就不会查到dll,从而做到隐藏运行。

在VS2015中把DLL以资源的方式加入EXE工程文件,然后直接加载到内存,用CreateRemoteThread注入到远程进程中,使用的是开源库MemoryModule加载DLL到内存中的,不知道怎么使用MemoryLoadLibrary这个函数?

PTHREAD_START_ROUTINE  lpStartAddr = PTHREAD_START_ROUTINE((int)MemoryLoadLibrary);

if (!lpStartAddr)
{
MessageBox(NULL, TEXT("GetProcAddress失败!"), TEXT("LOG"), MB_OK);
return FALSE;
}

hThread = CreateRemoteThread(hProcess, NULL, 0, lpStartAddr, lpBufAddr, 0, &dwThreadID);
if (!hThread)
{
MessageBox(NULL, TEXT("CreateRemoteThread失败!"), TEXT("LOG"), MB_OK);
return FALSE;
}