Hardware Concurrency Lie: Why navigator.hardwareConcurrency = 4 Isn't Always True

BadB

Professional
Messages
2,415
Reaction score
2,364
Points
113
How does the number of CPU cores reveal a VPS, and how to properly mask it?

Introduction: The Four Cores of Lies​

You've configured your Dolphin Anti profile. You've set navigator.hardwareConcurrency = 4, because that's what most users do. You're confident, "Now my profile looks like a real laptop".

But you're instantly blocked.

The reason? Four cores isn't a universal norm. It's a precise fingerprint of your infrastructure, revealing:
  • Server type (VPS vs bare metal),
  • Hypervisor (Xen, KVM, VMware),
  • Even the provider (Hetzner, OVH, AWS).

In this article, we'll look at how hardware concurrency works, why it gives out VPS, and how to properly mask the number of cores.

Part 1: What is navigator.hardwareConcurrency?​

⚙️ Technical definition​

navigator.hardwareConcurrency is a JavaScript property that returns the number of logical processors available to the system.

Example:
Code:
console.log(navigator.hardwareConcurrency); // → 4

This value is taken from:
  • Operating system (via sysconf(_SC_NPROCESSORS_ONLN) on Linux),
  • Hypervisor (in virtual environments).

💡 Key fact:
The value depends on the hardware and hypervisor - and cannot be faked at the browser level without patching the OS.

Part 2: Real User Statistics (2026)​

📊 Distribution by number of cores​

NucleiShare of usersDevice type
238%Budget laptops, Chromebooks
442%Mid-range laptops, office PCs
6+15%Gaming PCs, workstations
8+5%Professional systems

💀 Anomaly:
VPS/RDPs often have exactly 4 cores - but with a non-standard CPU/GPU/RAM ratio.

Part 3: How hardware concurrency impacts VPS​

🔍Three levels of analysis​

Level 1: Inconsistency with other parameters
  • VPS:
    • hardwareConcurrency = 4,
    • RAM = 4 GB,
    • GPU = llvmpipe (software rendering).
  • Real laptop:
    • hardwareConcurrency = 4,
    • RAM = 8–16 GB,
    • GPU = Intel UHD 620.

💀 Fraud engines see: “4 cores + weak GPU = VPS

Level 2: Staticity of Value
  • Real users are upgrading their hardware,
  • VPS always has a fixed number of cores.

Level 3: Correlation with TTL and TCP stack
  • VPS на Linux:
    • TTL = 64,
    • hardwareConcurrency = 4
  • Real Windows:
    • TTL = 128,
    • hardwareConcurrency = 4

📈 Field data (2026):
The combination TTL=64 + hardwareConcurrency=4 has a fraud score of 95+

Part 4: How to Test Your Vulnerabilities​

🔍 Step 1: Use test sites​


🔍 Step 2: Run a local test​

js:
Code:
console.log('Cores:', navigator.hardwareConcurrency);
console.log('RAM:', navigator.deviceMemory || 'Unknown');
// Check consistency

💡 Rule:
If hardwareConcurrency = 4, but GPU = llvmpipe or SwiftShader → you are already issued.

Part 5: How to Properly Mask Core Count​

🔧 OS level​

🪟 Windows (bare metal)
  • Use real hardware with 4 cores (Intel i5),
  • Don't change the settings - Windows will automatically return the correct value.

🐧 Linux (VPS - not recommended)
  • You can't change hardware Concurrency without patching the kernel,
  • But can be emulated via Chromium flags (see below).

🔧 Browser level​

🐬 Dolphin Anty
  1. When creating a profile,
  2. In the Hardware section,
  3. Install:
    • CPU Cores: 4,
    • Device Memory: 8,
    • Hardware Concurrency: 4.

⚠️ However, Dolphin Anty can't change the actual value — it can only replace it in JS.
Fraud engines can check using WebAssembly or Web Workers.

🔧 WebAssembly Level (Advanced)​

js:
Code:
// Checking the actual number of cores via Web Workers
const numWorkers = 4;
const workers = [];
for (let i = 0; i < numWorkers; i++) {
const worker = new Worker('worker.js');
workers.push(worker);
}
// If all workers have started, the number of cores is >= 4

💀 Truth:
The true number of cores can only be verified through native code.

Part 6: Why Most Carders Fail​

❌ Common Mistakes​

ErrorConsequence
Using a VPS with 4 coresGPU/TTL mismatch → anomaly
Ignoring consistency4 cores + 2 GB RAM → flag
Fake only in JSWebAssembly Reveals Real Meaning

💀 Field data (2026):
78% of failures are due to inconsistent hardwareConcurrency.

Part 7: Practical Guide - Secure Profile​

🔹 Step 1: Use a bare metal RDP​

  • Hetzner AX41: Intel i5-12400 (6 cores),
  • LeaseWeb: AMD Ryzen 5 (6 cores).

🔹 Step 2: Set up consistency​

ParameterMeaning
hardwareConcurrency6
Device Memory16
GPUIntel UHD 730
TTL128

🔹 Step 3: Test with Web Workers​

  • Make sure all 6 workers are running,
  • This confirms the actual number of cores.

✅ Result:
Profile matches a gaming laptoplow fraud score.

Conclusion: You can't fool iron​

navigator.hardwareConcurrency isn't just a number. It's a fingerprint of your hardware that's completely impossible to fake.

💬 Final thought:
True camouflage isn't about faking numbers, but about using the right hardware.
Because in the world of fraud, even cores can give you away.

Stay bare metal. Stay consistent.
And remember: in the world of security, the processor is the passport.
 
Top