WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2358查看
  • 0回复

主题

好友

484

积分

中级会员

发表于 2010-2-8 03:57:38 |显示全部楼层
/*得到进程的ID,具体的方法可以使用CreateToolHelpSnap32(),ProcessFirst32()以及ProcessNext32()得到*/
DWORD dwPid=GetProcessIdFromName(“Winlogon.exe”);
HANDLE Process=OpenProcess(,FALSE,dwPid);
DWORD dwVersion;
HMODULE hSfc;
dwVersion = GetVersion();
//判断操作系统的类型
if ((DWORD)(LOBYTE(LOWORD(dwVersion))) == 5)
{                 // Windows 2000/XP
       if((DWORD)(HIBYTE(LOWORD(dwVersion))) == 0) //Windows 2000
               hSfc = LoadLibrary("sfc.dll");      
       else if((DWORD)(HIBYTE(LOWORD(dwVersion))) = 1)          //Windows XP
         hSfc = LoadLibrary("sfc_os.dll");      
}   
//得到函数的地址
FARPROC dwAddress=GerProcAddress(hSfc, MAKEINTRESOURCE(2));
DWORD dwThreadId;
HANDLE   hThread;
//创建远线程
hThread =CreateRemoteThread(hProcess,0,0, /
(DWORD (__stdcall *) (void *)) dwAddress,0,0,&dwThreadId);
WaitForSingleObject(hThread,0x0FA0);

具体原理可参看Bgate的《在Win 2000/XP上安静地替换正在使用的系统文件》这篇文章

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-4 23:28 , Processed in 0.066438 second(s), 16 queries .

返回顶部