-
-
[求助]关于实现unlocker解锁功能的问题
-
发表于:
2009-6-14 12:27
4431
-
先是用一下代码实现一个文件把自身的句柄给了另一个进程,从而无法被读取。
然后想模仿 Unlocker 软件的功能,实现这个解锁这个文件,但是不知道从何下手,请教下大家,给个思路或者提示。
BOOL zanyong( LPCTSTR lpFileName,const DWORD dwRemoteProcessId)
{
BOOL bRet;
//提升自身权限
if(EnableDebugPriv(SE_DEBUG_NAME))
{
printf("add privilege error");
return FALSE;
}
HANDLE hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, dwRemoteProcessId);
if ( hProcess == NULL )
{
return FALSE;
}
HANDLE hFile;
HANDLE hTargetHandle;
hFile = CreateFile( lpFileName, GENERIC_READ, 0, NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
CloseHandle( hProcess );
return FALSE;
}
bRet = DuplicateHandle( GetCurrentProcess(), hFile, hProcess, &hTargetHandle,
0, FALSE, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE);
CloseHandle( hProcess );
return bRet;
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!