Peeking outside applications
Miscellaneous Forums/General Discussion/Peeking outside applications
I'm posting here because I want to find the right tool for the job before I do it, does anyone know if any of the Blitz programming languages can peek / poke outside of the applications own memory space.
B3D appears to only allow poking/peeking into reserved memory space from what I can tell. I can't check BMax because my demo trial has expired so I dont know if it's worth investing in for this project or whether I should try alternatives (Pure Basic maybe?).
The purpose of this is a mod for an existing game btw, nothing malliscious :).
Read/WriteProcessMemory? I've only ever used them on the current process though.
What he said. There's some code in the code archives with everything you need (it B+ code I think, not bmx), but easy to convert.
Max has regular pointers, but I don't think you can poke about outside your programs space without using the windows API?
smashing! Cheers so much, it looks pretty easy and I dont have to spend any money which is a great plus ! :)
Just a quick hint, not 100% sure but be sure to test anything you do on AMD64 with DEP switched on. That sort of thing is a good candidate for triggering excepions in that environment.
DEP should definately stop you poking outside the application memory. I'd also hold off on that sort of stuff until Vista is released so you'll get a better idea of the rules to follow for the next few years.
hay,
Why, how, what.
This is not the stone age. Things should not be allowed to go peeking, (Or Pokeing) about any more.
I agree with H&K.
Those sorts of things should only be possible with inter-process communication via the API to send variables between programs that recognize each-other. (Or using standardized process communication systems).
Peeking or poking at anything in memory can not only be a horrible security problem but also can easily result in serious stability issues that an operating system is supposed to prevent.
It's like prodding at chemicals around a laboratory with the lights turned off. Sure, you may remember where the water was, but is it really worth the risk of accidentally swallowing a mouthful of hydrochloric acid?
I just use CHEAT-O-MATIC... all in all it is pretty straightforward if you use that... GOOGLE that for a link
I know the 'technology' can be misused, but that's not my interest.
If you gona write antivirus software. then yes reading from memmory is good idea. but i think you will have to write a device driver for your program ?
As far as I know, if you want to 'poke' another processes memory you need to write a device driver.
As far as I know, this is about as much fun as reconstructing windows c source from the assembler - ie: only for masochists/extreme-capitalists.
You could also inject a dll into the application process and use that to modify process memory. You'd need some coms with the dll and for that you could use Messages, shared variables or shared memory.