Add BCryptPrimitives.dll ProcessPrng

This commit is contained in:
2025-10-27 13:49:34 -06:00
parent ac0c6214d0
commit 5ebb15c440
2 changed files with 12 additions and 0 deletions

View File

@@ -66,17 +66,28 @@ NTSTATUS WIN_FUNC BCryptGenRandom(BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbBuffer,
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
BOOL WIN_FUNC ProcessPrng(PBYTE pbData, SIZE_T cbData) {
HOST_CONTEXT_GUARD();
DEBUG_LOG("ProcessPrng(%p, %lu)\n", pbData, cbData);
if (pbData == nullptr && cbData != 0)
return FALSE;
return fillWithSystemRandom(pbData, cbData);
}
} // namespace bcrypt } // namespace bcrypt
static void *resolveByName(const char *name) { static void *resolveByName(const char *name) {
if (strcmp(name, "BCryptGenRandom") == 0) if (strcmp(name, "BCryptGenRandom") == 0)
return (void *)bcrypt::BCryptGenRandom; return (void *)bcrypt::BCryptGenRandom;
if (strcmp(name, "ProcessPrng") == 0)
return (void *)bcrypt::ProcessPrng;
return nullptr; return nullptr;
} }
extern const wibo::ModuleStub lib_bcrypt = { extern const wibo::ModuleStub lib_bcrypt = {
(const char *[]){ (const char *[]){
"bcrypt", "bcrypt",
"bcryptprimitives",
nullptr, nullptr,
}, },
resolveByName, resolveByName,

View File

@@ -104,6 +104,7 @@ using LCID = DWORD;
using LCTYPE = DWORD; using LCTYPE = DWORD;
using HWINSTA = HANDLE; using HWINSTA = HANDLE;
using HWND = HANDLE; using HWND = HANDLE;
using PBYTE = BYTE *;
constexpr BOOL TRUE = 1; constexpr BOOL TRUE = 1;
constexpr BOOL FALSE = 0; constexpr BOOL FALSE = 0;