How do I cheat?
Joined: 25 Sep 2018
|Posted: Tue Sep 25, 2018 11:31 am Post subject: build a ultimate undetectable cheat based on DBVM
I am a bot developer for a game, recently, the game just added an AC to against my bot and other cheats.
instead of playing a cat-mouse game, I am looking for an ultimate solution to ensure it's not possible to be detected at all.
from my research, it seems a type-3 Hypervisor is what I need.
"There is no software-visible bit whose setting indicates whether a logical processor is in VMX non-root operation.
This fact may allow a VMM to prevent guest software from determining that it is running in a virtual machine. "
from 23.3 INTRODUCTION TO VMX OPERATION , Intel® 64 and IA-32 Architectures Developer's Manual: Vol. 3C
instead of reading thousands of pages from Intel, I noticed make my project based on DBVM seems going to be easier.
however, I am a user-mode developer with not much experience at a lower level, so maybe that my direction is wrong in first place.
is it really gonna work out by modify DBVM and put my Bot logic into it? the only external operation of my bot is just read and write process memory, which seems its already implemented by DBVM.
I noticed DBVM are still detected by BE, is this because of DBVM still left some API between OS and VMM? since my bot only needs read and write memory to automate some task in the game, it means I will not need to have an API between OS (maybe only read some config file when it starts), does this really means I will able to create an ultimate undetectable cheat? if not, what is the other problem I should concern?
the other concern is, how hard to port my current code from user mode into a VMM? it's currently heavy engineered with more than 100000's of line in C++11, should I expect a complete rewrite, and study how to build a driver?
any suggestion is appreciated