我们需要使用一些 API 指定纯文本密码,例如LogonUser
,NetUseAdd
和其他。我们可以通过将密码加密保存在内存中来保护密码,并在调用函数之前分配一个明文密码(lpszPassword
在 的情况下为参数LogonUser
,或USE_INFO_2::ui2_username
在 的情况下NetUseAdd
)。
我的问题是如何保护明文密码免受外部进程的影响,尤其是当该进程可能崩溃并产生内存转储时。
它应该是这样的:
- 保护这个内存区域
- 调用需要明文密码的安全函数
- 消除内存区域保护
- 清理内存区