BadB
Professional
- Messages
- 2,415
- Reaction score
- 2,362
- Points
- 113
How does the number of CPU cores reveal a VPS, and how to properly mask it?
But you're instantly blocked.
The reason? Four cores isn't a universal norm. It's a precise fingerprint of your infrastructure, revealing:
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.
navigator.hardwareConcurrency is a JavaScript property that returns the number of logical processors available to the system.
Example:
This value is taken from:
Level 1: Inconsistency with other parameters
Level 2: Staticity of Value
Level 3: Correlation with TTL and TCP stack
js:
Windows (bare metal)
Linux (VPS - not recommended)
Dolphin Anty
js:
Stay bare metal. Stay consistent.
And remember: in the world of security, the processor is the passport.
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
| Nuclei | Share of users | Device type |
|---|---|---|
| 2 | 38% | Budget laptops, Chromebooks |
| 4 | 42% | 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
- https://amiunique.org — shows hardware Concurrency,
- https://browserleaks.com/js — detailed analysis.
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
- Use real hardware with 4 cores (Intel i5),
- Don't change the settings - Windows will automatically return the correct value.
- You can't change hardware Concurrency without patching the kernel,
- But can be emulated via Chromium flags (see below).
Browser level
- When creating a profile,
- In the Hardware section,
- 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
| Error | Consequence |
|---|---|
| Using a VPS with 4 cores | GPU/TTL mismatch → anomaly |
| Ignoring consistency | 4 cores + 2 GB RAM → flag |
| Fake only in JS | WebAssembly 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
| Parameter | Meaning |
|---|---|
| hardwareConcurrency | 6 |
| Device Memory | 16 |
| GPU | Intel UHD 730 |
| TTL | 128 |
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 laptop → low 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.
