DLL注入:用CreateRemoteThread实现DLL注入

本文介绍了如何在Windows XP环境下,使用C++编写InjectDll.exe程序将myhack.dll注入到notepad.exe进程中。通过DLL加载时的调试字符串输出、线程创建、内存分配、WriteProcessMemory等步骤实现DLL注入,最终利用URLDownloadToFile下载文件。在调试过程中,可以使用OllyDbg等工具进行动态调试以理解DLL注入的流程。

实验环境:WINXP VS2010
功能:注入到notepad.exe程序,并从网上下一个文件
实验程序:
(一)myhack.dll,即要注入的dll程序

#include "windows.h"
#include "tchar.h"

#pragma comment(lib,"urlmon.lib")

#define DEF_URL (L"http://www.naver.com/index.html")
#define DEF_FILE_NAME (L"index.html")

HMODULE g_hMod = NULL;

DWORD WINAPI ThreadProc(LPVOID lParam)
{
   
   
	TCHAR szPath[_MAX_PATH] = {
   
   0,};

	if(!GetModuleFileName(g_hMod,szPath,MAX_PATH))
		return FALSE;

	TCHAR *p = _tcsrchr(szPath,'\\');
	if(!p)
		return FALSE;

	_tcscpy_s(p+1,_MAX_PATH,DEF_FILE_NAME);
	
	HRESULT hr = URLDownloadToFile(NULL,DEF_URL,szPath,0,NULL);
	if (hr != S_OK)
		return FALSE;
	else
		OutputDebugString(L"down finish!!!!");

	return 0;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
   
   
	HANDLE hThread = NULL;
	g_hMod = (HMODULE)hinstDLL;

	switch(fdwReason
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值