sirp Posted January 1, 2015 Posted January 1, 2015 CPU Core Faker aka Dual Core Fix is a DLL that overrides a few kernel32 functions to give the impression to thelibrary user that the system has a different number of CPU cores. It was originally developed for Far Cry 4, whichwon'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 / 3mask <= 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. 2
Conquest Posted January 2, 2015 Posted January 2, 2015 doesnt handle cpuid opcode though? Its a user level(ring 3) hook . To change behavior of "opcode"s you will need virtualization support and some form of kernel hooks. Check paravirtualization topics if you are interested. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now