Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

freeze value #55

Open
macalimosa opened this issue Jan 31, 2020 · 5 comments
Open

freeze value #55

macalimosa opened this issue Jan 31, 2020 · 5 comments

Comments

@macalimosa
Copy link

Hi guys, would like to ask how i'm going to freeze address value like ce? i'd try in looping but i got detected. thanks

@Rob--
Copy link
Owner

Rob-- commented Apr 28, 2020

It doesn't seem like there is any Windows API that allows you to freeze a specific address, the only way seems to be infinite looping and writing a custom value to pseudo-freeze.

After taking a quick look at Cheat Engine's source code it seems they are applying a similar technique. So I believe this is the only way.

@xetrics
Copy link

xetrics commented Aug 24, 2020

You could try setting it to PAGE_WRITECOPY with VirtualProtect, but that depends on how your target process will handle the access error it will throw when it tries to write it. Maybe hook their SEH handler?

@Rob--
Copy link
Owner

Rob-- commented Sep 2, 2020

@xetrics That seems pretty hacky which might be why it seems Cheat Engine just takes the infinite loop approach? When you think of why someone would want to freeze a value, I don't think just infinitely overwriting the value would ever not be sufficient. Would disabling write access even lead to any violations or errors thrown though? The documentation for PAGE_WRITECOPY says An attempt to write to a committed copy-on-write page results in a private copy of the page being made for the process.. I'm not sure what this means in practicality though without just testing it, so a process just keeps writing to a write protected area and copies of the page just keep being created...?

@xetrics
Copy link

xetrics commented Sep 2, 2020

@Rob-- sorry, I meant PAGE_READONLY. I only suggested this hack as OP stated he got 'detected" doing it through an infinite loop. This method will circumvent any WPM hooks the process has, which is one of the most common anticheat techniques. 50% of game hacking is finding a hacky and obscure way to do things, you know, the whole cat and mouse thing.

@Rob--
Copy link
Owner

Rob-- commented Sep 2, 2020

@xetrics ah good point I should’ve read the main issue again. We could offer 2 new functions: one that freezes via a loop (just because it’s handy) and one that freezes via page protection and handles exceptions raised (if we can figure that out)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants