VMProtect Ultimate for Cheats
Posted: Sun Feb 10, 2019 7:00 am
Hello!
I have a few questions before I make a purchase for VMProtect Ultimate. I am running a company for cheat software for online games. Long story short, there's been a cracking issue going on and it's raising the number of detection vectors for me to manage when facing anti-cheats. I'd like to maximize the protection for the product regardless of the performance decrease.
To preface, the cheats I create are composed of three parts: the loader distributed to each user which downloads a dll from the server then manually maps it into local executable directory and runs it; the said dll, which downloads and manually maps the cheat dll from server into the target game while erasing PE headers and thread hijacking for the primary thread; the cheat dll, which is periodically checks with the server to verify a user's authenticity.
First, I'd like to know if there is anything important I should know about injection when protecting a product. I am willing to recreate my injection system entirely if you recommend something other than manual mapping, or really just any noteworthy changes I should make. I've seen some threads here before talking about virtualization tools causing issues and memory protection causing issues. Please, tell me anything you think I need to know before purchasing.
Second, I understand that there is already some debug detection. Is there anyway for me to avoid the default message boxes that come up and handle the results myself? I understand that there are some SDK functions for it, but I'd like to disable the default handler.
Third, is there any debug prevention? Obviously, no detection is perfect, so are there measures in place to stop debugging from occurring? What about things like dumping? A large vulnerability for me is the ability to dump the dll from memory, so detection for that would be great. Even better would be prevention, even something basic like replacing the image base so novice dumpers could not dump the product.
Fourth, as I understand, there are refined techniques for VMProtected software reversing. Is there anyway to mask that I have used VMP for my software other than renaming the default .VMP section?
Fifth, I am running Windows. My web server is not. Would I need to purchase two copies in order to compile on both my windows machine and on the server? I have no problem with doing so, I'd just like some clarification before hand. If that is the case, can I purchase one version for personal use and then one version for the company as commercial use since only one will be used commercially or do they both need to be commercial?
Sixth, is there a way to automatically ultra-protect all functions then selectively unprotect those that are unnecessary (i.e. ones that need execution speed and otherwise don't matter) WITHOUT protecting external lib functions?
Seventh, is it possible to check binary modifications myself? I'd like to log attempts where the binary has been modified to the server before just refusing to allow execution of the binary.
Finally, I currently am using a system where it compiles the binaries for each user on use based on their user identification. This way, when I get my hands on the cracked version of my product, I can see who leaked what. I saw that there is a watermark system, does this function in a similar way to what I have in place? I can only assume that my current method of signature scanning for the user id area will be too protected for me to find when analyzing the binary, so I wanted to make sure there is still something I can use to identify each user.
Thank you so much for taking the time to read all of this and respond. I sincerely appreciate it.
I have a few questions before I make a purchase for VMProtect Ultimate. I am running a company for cheat software for online games. Long story short, there's been a cracking issue going on and it's raising the number of detection vectors for me to manage when facing anti-cheats. I'd like to maximize the protection for the product regardless of the performance decrease.
To preface, the cheats I create are composed of three parts: the loader distributed to each user which downloads a dll from the server then manually maps it into local executable directory and runs it; the said dll, which downloads and manually maps the cheat dll from server into the target game while erasing PE headers and thread hijacking for the primary thread; the cheat dll, which is periodically checks with the server to verify a user's authenticity.
First, I'd like to know if there is anything important I should know about injection when protecting a product. I am willing to recreate my injection system entirely if you recommend something other than manual mapping, or really just any noteworthy changes I should make. I've seen some threads here before talking about virtualization tools causing issues and memory protection causing issues. Please, tell me anything you think I need to know before purchasing.
Second, I understand that there is already some debug detection. Is there anyway for me to avoid the default message boxes that come up and handle the results myself? I understand that there are some SDK functions for it, but I'd like to disable the default handler.
Third, is there any debug prevention? Obviously, no detection is perfect, so are there measures in place to stop debugging from occurring? What about things like dumping? A large vulnerability for me is the ability to dump the dll from memory, so detection for that would be great. Even better would be prevention, even something basic like replacing the image base so novice dumpers could not dump the product.
Fourth, as I understand, there are refined techniques for VMProtected software reversing. Is there anyway to mask that I have used VMP for my software other than renaming the default .VMP section?
Fifth, I am running Windows. My web server is not. Would I need to purchase two copies in order to compile on both my windows machine and on the server? I have no problem with doing so, I'd just like some clarification before hand. If that is the case, can I purchase one version for personal use and then one version for the company as commercial use since only one will be used commercially or do they both need to be commercial?
Sixth, is there a way to automatically ultra-protect all functions then selectively unprotect those that are unnecessary (i.e. ones that need execution speed and otherwise don't matter) WITHOUT protecting external lib functions?
Seventh, is it possible to check binary modifications myself? I'd like to log attempts where the binary has been modified to the server before just refusing to allow execution of the binary.
Finally, I currently am using a system where it compiles the binaries for each user on use based on their user identification. This way, when I get my hands on the cracked version of my product, I can see who leaked what. I saw that there is a watermark system, does this function in a similar way to what I have in place? I can only assume that my current method of signature scanning for the user id area will be too protected for me to find when analyzing the binary, so I wanted to make sure there is still something I can use to identify each user.
Thank you so much for taking the time to read all of this and respond. I sincerely appreciate it.