DLL注入讨论

那一片海 2012-05-29 05:20:13

HANDLE hProcess,hThread;

PWSTR pszLibFileRemote;

ModifyPriles();//提权

hProcess=::OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_VM_WRITE,FALSE,dwProcessId);

if (hProcess==NULL ) return FALSE;

int cch=lstrlen(pszLibFile)+1;

int cb=cch*sizeof(WCHAR);

pszLibFileRemote=(PWSTR)::VirtualAllocEx(hProcess,NULL,cb,MEM_COMMIT, PAGE_EXECUTE_READWRITE);

if (pszLibFileRemote==NULL) return FALSE;

DWORD dwWritten;
if(!WriteProcessMemory(hProcess,pszLibFileRemote,(PVOID)pszLibFile,cb,&dwWritten))

return FALSE;

LPTHREAD_START_ROUTINE pfnThread=(LPTHREAD_START_ROUTINE )::GetProcAddress(::GetModuleHandle(_T("Kernel32")),"LoadLibraryA");

if (pfnThread==NULL) return FALSE;

DWORD id;
hThread=CreateRemoteThread(hProcess,NULL,0,pfnThread,pszLibFileRemote,0,&id);

if(hThread==NULL) return FALSE;

WaitForSingleObject(hThread,INFINITE);

if(pszLibFileRemote!=NULL)

VirtualFreeEx(hProcess,pszLibFileRemote,0,MEM_RELEASE);

if(hThread!=NULL)

CloseHandle(hThread);

if(hProcess!=NULL)

CloseHandle(hProcess);



以上代码运行就是不成功,每次在等待远程线程创建的那个函数那暂停,注入到explorer的时候还提示断言错误。
希望做过类似功能的可以提供个完整的源代码给我看看。谢谢了!
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
那一片海 2012-05-30
  • 打赏
  • 举报
回复
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!

Program: C:\Windows\explorer.exe
File: f:\dd\vctools\vc7libs\ship\atlmfc\include\afxwin1.inl
Line: 24

这是启动远程线程时系统提示的信息
那一片海 2012-05-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

看下GetLastError那个得到了什么,用LoadLibraryA是没有问题的,我曾经试过。
[/Quote]
返回的error=0
那一片海 2012-05-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

用LoadLibraryA,却往里传入个WCHAR,太不靠谱了吧,呵呵呵
[/Quote]

改成了char,还是不行。另外 OpenProcess传不同的id进去得到的值总是0x0000080
sjjwind 2012-05-29
  • 打赏
  • 举报
回复
看下GetLastError那个得到了什么,用LoadLibraryA是没有问题的,我曾经试过。
majia2011 2012-05-29
  • 打赏
  • 举报
回复
用LoadLibraryA,却往里传入个WCHAR,太不靠谱了吧,呵呵呵

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧