Grabbing content from other applications?

Started by
3 comments, last by fyhuang 19 years, 6 months ago
I've tried to figure out how to be able to grab stuff from other applications, that aren't related to "my own" application. I've seen some Poker programs that gets the content from the online application, and does some stuff with the data in its own application. Are they doing this by grabbing like VM_-messages, or do the read the pixel value at different coordinates in the application? I'm curios to know how to do this. Anyone got an explanation or a link to something like this problem?
Advertisement
Can you explain the effect?
Quote:Original post by Pipo DeClown
Can you explain the effect?

Ok, I'll spin on at the Poker programs, they works as good example.
When you play at for example Multipoker, you use their software. When you are in the game, you get your cards, i.e. your own cards is visible to you (and only you) in the Multipoker software.
Now comes the fun part (my question). There exist other software that run in the background and "grab" what cards are shown in the Multipoker software and do calculations like probability, odds and/or doing statistical logging of the cards shown.
I'll hope that explained it a little bit better.
The authors of the cheating-program probably examined the poker-service's app to find out where in memory it stores information about the cards. Then the hack program just opens the process memory and reads whatever is stored there. Alternatively, it could spy on the network connection of the program and gather its information from there. Generally, if you have to ask about this kind of stuff, you don't have the skills to do something similar, if that's what you're trying to do.
If I am correct, shouldn't the allocated memory addresses of the program be different every time it runs?

So what you are trying to do is, have two programs (sticking with the poker example...) poker.exe and shuffle.exe, and poker.exe lets you play poker, making shuffle.exe shuffle the cards.

I think it is possible to do it by faking shuffle.exe as a DLL and getting the memory address of a shuffle() function, or you can call the shuffle.exe function from within poker.exe and pass it a list of parameters (or alternatively, write to stdin) that dictate the cards. Then, you can read stdout to get the shuffled list.

Those are the only ones I can think of right now, and they are horribly hackish and strange. But it works (I think).

Anyways, hope it helps!
- fyhuang [ site ]

This topic is closed to new replies.

Advertisement