Open Side Menu Go to the Top
Register
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? (programming challenge) how does PokerTracker (et al) get data for their zoom HUDs?

07-26-2012 , 07:11 PM
afaik you read the data out from some graphic/text rendering windows api. so programmers build a detour and filter the data when it's being rendered.
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
10-11-2012 , 05:34 AM
Quote:
Originally Posted by Alex Wice
Banning autoseat scripts: I agree they should be banned but I think its a symptom of a larger problem. Also this is a hard thing in practice, sure they can be banned, but what about a script that sits within the boundary of human reaction speed? I think PS is likely to have broader answers to this larger problem of bumhunting and predatory behavior.
c'mon, we are talking technical stuff here. software automation.

there is nothing "broad" to it when a natural starting point would be to ban all the kiddies throwing EasyHook.dll at the client. there you got your human reaction speed.
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
10-11-2012 , 06:10 AM
Quote:
Originally Posted by mme
a natural starting point would be to ban all the kiddies throwing EasyHook.dll at the client.
I like stars because if they do stuff, they do it the right way. Having a look only at EasyHook.dll does solve nothing.
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
03-09-2013 , 08:25 AM
I like the part where mme told Derek to gtfo and he did

Was this ever solved?
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
05-23-2013 , 10:26 PM
I was randomly going through my Task Manager and Resource Monitor trying to find out why my CPU usage was so high when this caught my eye


I don't really know much about named pipes nor do I want to go poking around in case I get banned from stars or something but I thought this could be interesting. Or not idk..
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
05-24-2013 , 08:38 AM
at least something interesting to have a look at, thx
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
05-28-2013 , 06:10 PM
hi guys. still going this thread? it was so much fun, i remember laughing all the way through.

btw, a quick google showed no hit for "ZoomXMLPipe". let's see if we can change this :-)
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
05-29-2013 , 04:48 AM
Quote:
Originally Posted by mme
hi guys. still going this thread? it was so much fun, i remember laughing all the way through.

btw, a quick google showed no hit for "ZoomXMLPipe". let's see if we can change this :-)
i had a look on it, it's only there when pokerstars and hem is running.... so, my first guess would be, that it's just a communication between hem and a dll injected by hem..... but can be wrong ofc...
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
05-29-2013 , 07:39 AM
it's a "named pipe", a mechanism for inter process communication.

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

if you happen to know some programming, you should be able to easily connect to it via ConnectNamedPipe() and read it via PeekNamedPipe().

other than that, if you digg around in the PokerStars process with "Process Explorer" you should be able to verify if HEM has injected something into the client or not.
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
05-29-2013 , 08:01 AM
hmm, basicly what i said....
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-06-2013 , 02:37 PM
Quote:
Originally Posted by mme
it's a "named pipe", a mechanism for inter process communication.

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

if you happen to know some programming, you should be able to easily connect to it via ConnectNamedPipe() and read it via PeekNamedPipe().

other than that, if you digg around in the PokerStars process with "Process Explorer" you should be able to verify if HEM has injected something into the client or not.
I'd be pretty surprised if it's stars themselves who've added this... I think it's most likely just HEM injecting code and them communicating using it (IIRC, for FPHG I used "WM_COPYDATA" messages to communicate between an injected DLL and the FPHG process in a very similar way).

Juk
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-07-2013 , 03:40 PM
Quote:
Originally Posted by jukofyork
I'd be pretty surprised if it's stars themselves who've added this...
let's put it this way ..stars is accepting HEMs trunk quite willingly into the pooper. so, what difference would it make if it was the other way around?
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-07-2013 , 07:59 PM
Quote:
Originally Posted by mme
let's put it this way ..stars is accepting HEMs trunk quite willingly into the pooper. so, what difference would it make if it was the other way around?
Well unless they go public with any API they are revealing for HEM, it would seem to me that they were favouring one piece of 3rd party software over others?

Juk
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-08-2013 , 05:37 AM
Quote:
Originally Posted by jukofyork
Well unless they go public with any API they are revealing for HEM, it would seem to me that they were favouring one piece of 3rd party software over others?
ianal, but i would think things could get interesting either way if someone decided to file a case to a EU court.
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-08-2013 , 11:57 AM
Quote:
Originally Posted by mme
ianal, but i would think things could get interesting either way if someone decided to file a case to a EU court.
Why wouldn't a private company be allowed to favor one 3rd party tool over others?

But ok, so getting real time data requires injecting something into the PS client. Do you even need anything special from PS to do that? I assume StarsHelper is injecting **** with it's $$ to bb conversion and I doubt he got any special treatment from PS before doing that. I assume he just went in, did what he did and asked whether it was OK afterwards (before going public obv). Now he's on the PS "accepted tools and services" list. They accepted his trunk into the pooper quite willingly too. And getting the player names etc. can't be much different from getting the stack sizes.

Spoiler:
obv I have no idea what I'm talking about

Last edited by Weegs; 06-08-2013 at 12:05 PM.
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-08-2013 , 12:12 PM
Quote:
Originally Posted by Weegs
I assume StarsHelper is injecting **** with it's $$ to bb conversion ...
Spoiler:
obv I have no idea what I'm talking about
Funny thing is, i very much doubt he injects anything..... even if i did expect it at first also....
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-08-2013 , 02:49 PM
Quote:
Originally Posted by noelte
Funny thing is, i very much doubt he injects anything..... even if i did expect it at first also....
he said:

Quote:
Originally Posted by StarsHelper
It is hard to me to describe this process completely and in English.
TextOut is not used because it is useless.
I use win32 api what to add own strings in virtual memory of PokerStars.

Now I correct small errors relating to a usability.
If PokerStars allow this program that the publication will be not earlier than in a week.
i'm pretty sure you must inject a dll before you can write into another process's memory
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-08-2013 , 03:15 PM
Quote:
Originally Posted by greg nice
i'm pretty sure you must inject a dll before you can write into another process's memory
CreateRemoteThread() is a candidate - execute code in another process. may be used to execute a LoadLibrary() call to inject a dll, but can run any other code as well:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-09-2013 , 03:29 AM
Quote:
Originally Posted by greg nice
i'm pretty sure you must inject a dll before you can write into another process's memory
no, you don't have to do it... basicly you could locate some function within another process and overwrite it with your own code.... no injection needed.... even if i usually use code injection because it's easier.....
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-09-2013 , 12:18 PM
Quote:
Originally Posted by noelte
no, you don't have to do it... basicly you could locate some function within another process and overwrite it with your own code.... no injection needed.... even if i usually use code injection because it's easier.....
i never scratched more than the surface of the subject ..what could stars do to make this a really tough challenge?
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
06-09-2013 , 12:56 PM
Quote:
Originally Posted by greg nice
i'm pretty sure you must inject a dll before you can write into another process's memory
I've never tried it, but there is a WriteProcessMemory function. Perhaps the OS is more stringent about WriteProcessMemory() than ReadProcessMemory() though and it won't work.

Juk
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote
08-29-2013 , 08:07 PM
nope. you may read another processes memory and you may write it at will, as long as you have access to it. off cause you have to be more careful when writing it because you don't want to end up writing to arbitrary memory locations.

but back to the question: how could poker sites raise the hurdle if they really intended to do so?
(programming challenge) how does PokerTracker (et al) get data for their zoom HUDs? Quote

      
m