From 4554dffadb17f26bb10e31162c1277ac50b53556 Mon Sep 17 00:00:00 2001 From: Michael <20937441+KMikeeU@users.noreply.github.com> Date: Thu, 14 May 2026 16:32:43 +0200 Subject: [PATCH] feat: encryptor hardwareinfo modifyable with environment variables --- .env.example | 4 ++++ src/encryptor.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/.env.example b/.env.example index 3f5fbbe..70a85d0 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,6 @@ FLAG_LEN=32 FLAG_FORMAT=ctf{FLAG_GOES_HERE} +ENCRYPTOR_VENDOR_ID=GenuineIntel +ENCRYPTOR_MODEL_NAME=Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz +ENCRYPTOR_OS_VERSION=7.0.3-arch1-2 +ENCRYPTOR_MEM_TOTAL=7994428 diff --git a/src/encryptor.c b/src/encryptor.c index 5e0a756..276ba13 100644 --- a/src/encryptor.c +++ b/src/encryptor.c @@ -19,6 +19,34 @@ int main(int argc, char** argv) { return 1; } + char* env_vendor_id = getenv("ENCRYPTOR_VENDOR_ID"); + if (env_vendor_id != NULL) { + hwinfo.vendor_id = env_vendor_id; + } else { + fprintf(stderr, "Warning: No vendor_id specified, keeping original '%s'\n", hwinfo.vendor_id); + } + + char* env_model_name = getenv("ENCRYPTOR_MODEL_NAME"); + if (env_model_name != NULL) { + hwinfo.model_name = env_model_name; + } else { + fprintf(stderr, "Warning: No model_name specified, keeping original '%s'\n", hwinfo.model_name); + } + + char* env_os_version = getenv("ENCRYPTOR_OS_VERSION"); + if (env_os_version != NULL) { + hwinfo.os_version = env_os_version; + } else { + fprintf(stderr, "Warning: No os_version specified, keeping original '%s'\n", hwinfo.os_version); + } + + char* env_mem_total = getenv("ENCRYPTOR_MEM_TOTAL"); + if (env_mem_total != NULL) { + hwinfo.mem_total = env_mem_total; + } else { + fprintf(stderr, "Warning: No mem_total specified, keeping original '%s'\n", hwinfo.mem_total); + } + uint8_t* key = hwinfo_to_key(hwinfo); if(key == NULL) {