2013-02-01 32 views
1

当遇到Vault和vaultcli dll时,我在System32中遇到了dll。我假设这些图书馆使用密码存储,我想知道是否有人有关于这些的更多信息。我试图搜索谷歌,但只能找到一堆“这是病毒”和“修复这个错误”的网站。我假设这些是C/C++库,因为我尝试在C#项目中添加对它们的引用,但没有成功。我想知道这些dll包含哪些方法,以及是否可以使用DllImportextern从C#中引用它们。有关Vault.dll和Vaultcli.dll的信息

+1

'dumpbin/exports vaultcli.dll'会显示它输出的功能。看起来像vault.dll就像一个COM对象(只导出'DllGetClassObject'和'DllCanUnloadNow')。 –

+0

@JerryCoffin谢谢你,我完全不知道这个功能。我将不得不尝试这个,并对'DllGetClassObject'和'DllCanUnloadNow'做更多的研究。无可否认,我的C/C++知识并不是最大的,所以我理解与user32.dll和类似库之外的非托管代码的交互也是有限的。 –

+1

'dumpbin'是Windows SDK的一部分,所以如果你没有,你可能需要首先下载/安装它。 –

回答

1

Vaultcmd.exe(与它的依赖性vaultcli.dll)等价于控制面板中的Credential Manager命令行(在Windows 7中,下控制面板 - >用户帐户和家庭安全 - >凭证管理器。)

从Windows 8(和通用Windows平台)开始,Windows开始包括Windows.Security.Credentials.PasswordVault。这是一个易于在C#中使用的.Net库。它可以添加,读取和列出凭证。

它似乎是Windows的一部分,而不是.Net框架。为了使它工作,我必须在我的.csproj中设置PlatformLevel。

<PropertyGroup> 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
    <TargetPlatformVersion>8.0</TargetPlatformVersion> 
</PropertyGroup> 

<Reference Include="Windows.Security"> 
     <HintPath>$(SYSTEMROOT)\System32\WinMetadata\Windows.Security.winmd</HintPath> 
</Reference>