实验环境: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

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

2519

被折叠的 条评论
为什么被折叠?



