我正在使用Windows 7 64位。我从here下载了pGina
项目并进行了安装。我想要做的是对其进行少量更改。
只是为了我编辑的乞求
PGINA\pgina-3.1.8.0\pGina\src\Gina\Gina\GinaExports.cpp
并在此处添加了一点日志功能:
int WINAPI WlxLoggedOutSAS(PVOID pWlxContext, DWORD dwSasType, PLUID
pAuthenticationId, PSID pLogonSid,
PDWORD pdwOptions, PHANDLE phToken, PWLX_MPR_NOTIFY_INFO pMprNotifyInfo, PVOID *pProfile)
{
pDEBUG(L"WlxLoggedOutSAS");
pGINA_FROM_CTX(pWlxContext);
FILE *fp;
fopen_s(&fp, "C:\\Users\\Test\\log.txt", "w+");
fprintf(fp, "GINA exports!");
fflush(fp);
return pGina->LoggedOutSAS(dwSasType, pAuthenticationId, pLogonSid, pdwOptions, phToken, pMprNotifyInfo, pProfile);
}
我已经成功构建了项目(x64),输出文件为pGinaGINA.dll
。
我更改了日志文件的权限,并让每个人对其进行修改。我还创建了
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL
并将其设置为pGinaGINA.dll
(我将这个dll放在C:\Windows\System32\
中)
启动计算机后,我会看到CTR+ALT+DEL
屏幕,然后是pGina
凭据提供者。但是问题是该日志没有出现。我还列出了winlogon.exe
中的dll,但我的dll不存在。
似乎我做错了事,但是不明白什么。