Comments (5)
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.
from memoryjs.
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?
from memoryjs.
@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...?
from memoryjs.
@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.
from memoryjs.
@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)
from memoryjs.
Related Issues (20)
- How to read shared memory channel? (Windows) HOT 5
- Reading an address that is a BigInt throwing errors? HOT 3
- The library can't read memory for me can someone help me figure it out? HOT 2
-
- Any way to get module exports? HOT 2
- Add "Windows only" to readme HOT 2
- Usage with electron HOT 2
- Just pushed a commit (3be70b051025327db5d5f54cd5a1f777dea75943) that I think should enable this now (not on NPM yet). I wasn't familiar with memory mapped files before working on this change, but from my little testing it seems like you should be able to replicate this C# logic with memoryjs now. Updated the README with an example ([documentation](https://github.com/Rob--/memoryjs#memory-mapped-files-1)). HOT 2
- Error reading BigInt pointer HOT 6
- Feature: Open process using th32ProcessID instead of process name(multiple processes same name) HOT 2
- functionTest.cpp does not work on x64 builds HOT 1
- Using Cheat Engine Pointer HOT 6
- Writing to an adres using pointers HOT 2
- Little Endian Support HOT 3
- add pointer or int64 parameters on callFunction?
- publish/release newest version to npm? :) HOT 2
- Linux/Unix support HOT 2
- setProtection is not available in latest version HOT 1
- Problems when using with electron. HOT 1
- Hi Rob, HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from memoryjs.