远程线程DLL注入
2011-04-02 23:03
459 查看
在其他进程中,创建一个新的线程来LoadLibraryA我们的Dll。
/*作者:sysprogram
编写日期:2011年4月2日
博客:http://hi.csdn.net/SysProgram
*/
#include <windows.h>
#include <stdio.h>
void main()
{
//打开进程句柄
HANDLE hProcess;
hProcess = OpenProcess(PROCESS_ALL_ACCESS,false,1956);
if (hProcess == NULL)
{
printf("Open Process error/n");
return;
}
//给进程分配内存
LPVOID BaseAddress;
char *strDllName = {"C://dlltest.dll"};
int len = strlen(strDllName) + 1;
BaseAddress = VirtualAllocEx(hProcess,NULL,len,MEM_COMMIT,PAGE_READWRITE);
//写进程内存
if (WriteProcessMemory(hProcess,BaseAddress,strDllName,len,NULL) == false)
{
printf("Write Memory error/n");
return;
}
//创建远程线程
FARPROC ProcAddress;
HMODULE hModule = GetModuleHandle("Kernel32.dll");
ProcAddress = GetProcAddress(hModule,"LoadLibraryA");
HANDLE hThread;
hThread = CreateRemoteThread(hProcess,
NULL,
0,
(LPTHREAD_START_ROUTINE)ProcAddress,
BaseAddress,
0,
NULL);
//等待线程完成
WaitForSingleObject(hThread,INFINITE);
//释放内存,关闭句柄
VirtualFreeEx(hProcess,BaseAddress,0,MEM_RELEASE);
CloseHandle(hThread);
CloseHandle(hProcess);
}
/*作者:sysprogram
编写日期:2011年4月2日
博客:http://hi.csdn.net/SysProgram
*/
#include <windows.h>
#include <stdio.h>
void main()
{
//打开进程句柄
HANDLE hProcess;
hProcess = OpenProcess(PROCESS_ALL_ACCESS,false,1956);
if (hProcess == NULL)
{
printf("Open Process error/n");
return;
}
//给进程分配内存
LPVOID BaseAddress;
char *strDllName = {"C://dlltest.dll"};
int len = strlen(strDllName) + 1;
BaseAddress = VirtualAllocEx(hProcess,NULL,len,MEM_COMMIT,PAGE_READWRITE);
//写进程内存
if (WriteProcessMemory(hProcess,BaseAddress,strDllName,len,NULL) == false)
{
printf("Write Memory error/n");
return;
}
//创建远程线程
FARPROC ProcAddress;
HMODULE hModule = GetModuleHandle("Kernel32.dll");
ProcAddress = GetProcAddress(hModule,"LoadLibraryA");
HANDLE hThread;
hThread = CreateRemoteThread(hProcess,
NULL,
0,
(LPTHREAD_START_ROUTINE)ProcAddress,
BaseAddress,
0,
NULL);
//等待线程完成
WaitForSingleObject(hThread,INFINITE);
//释放内存,关闭句柄
VirtualFreeEx(hProcess,BaseAddress,0,MEM_RELEASE);
CloseHandle(hThread);
CloseHandle(hProcess);
}
相关文章推荐
- 远程线程模板(DLL注入)
- Dll注入:X86/X64 远程线程CreateRemoteThread 注入
- 远程线程dll注入
- Windows核心编程Dll注入之远程线程
- 远程线程插入(DLL注入)
- 拦截API-通过远程线程dll注入目标进程
- 实战DELPHI:远程线程插入(DLL注入)
- 创建远程线程实现DLL注入
- delphi远程线程插入(DLL注入)
- Dll注入技术之远程线程注入
- 【windows核心编程】远程线程DLL注入
- 实战DELPHI:远程线程插入(DLL注入)
- 用Visual C++实现远程线程嵌入木马技术
- 在挂起的进程中创建一个远程线程
- 远线程DLL注入
- 代码注入之远程线程篇
- 将注入进行到底--------远程线程实现 Dll 注入 汇编实现
- 远程线程嵌入技术
- PowerShell 2.0如何将远程线程保存在本地
- 远程注入线程