CPU Core Faker aka Dual Core Fix is a DLL that overrides a few kernel32 functions to give the impression to the
library user that the system has a different number of CPU cores. It was originally developed for Far Cry 4, which
won't load if executed on a CPU with less than four logical cores.
This fix is really generic and could work with other games, there is no FC4 specific code.
I've uploaded the source code to CodePlex: https://cpucorefaker.codeplex.com/
There you can find a brief explanation, here are the returned values from Dual Core Fix v1/v2/v3:
API function / Original (DC) / DC Fix v3 / DC Fix v2 / DC Fix v1
---------------------------------------------------------------------
[GetSystemInfo]
> dwNumberOfProcessors / 2 / 8 / 4 / 8
> dwActiveProcessorMask / 3 / 255 / unmodified / unmodified
---------------------------------------------------------------------
[SetThreadAffinityMask]
mask > actual mak / (1,2,3) / 3 (actual max) / 3 / 3
mask <= actual max / mask / 3 / mask / 3
---------------------------------------------------------------------
[GetLogicalProcessorInformation]
As described in "documentation"
---------------------------------------------------------------------
The code contains some C++11 features so compile with VS2013. You'll also need EasyHook.