HP checker

06/20/2005 23:42 bonesaw#1
Hey, first post here.. welcome to me xD
Anyhow, I've been looking for a program to check my current hp and verifies if I've been hit or not..
I couldn't find one, so I made my own using Windows.h library and going inside the process memory area.
I've managed to find the address of the current hp, somehow it's always the same..
That would be wonderful, BUT.. if I close CO with TerminateProcess(); and run again, that address will always return 0 to me. Even if I look on TSearch again for the current hp, it just won't show, I've tried many times.
So.. do anyone have any idea on how to get my current hp?
The whole idea of this thing is to get rid of mine pkers (who dont 1-hit kill)
I'll post my sourcecode, it does work for me (but you have to add the memory address of your current HP manualy)
Plus, it's not very self-explanatory for those who don't know C and it runs only on console window.
I know, it's not very friendly, the point of the whole thing is make it WORK, then I could think on the design.
Actually it does work, once.. then I have to reboot xD Not very useful.
And also you have to tell it the Process ID of the Conquer you want to monitor.
Yes, I'll try and make it seek the name of the char of each CO and then you only choose by name.. I know how to find the name and show it, but I don't know how to find CO's PIDs.. well, not yet.
If anyone wanna help me out or know if there's a tool like that around, let me know please. Any contribution is appreciated. :D Thanks in advance.

Code:
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
 int *pta,pid,hp,hpt;
 HANDLE hnd_co;
 DWORD id_proc;
 printf("PID: "); scanf("%i",&pid);
 id_proc = pid; // pid
 pta = (void*)0xCF0560; // hp
 hnd_co = OpenProcess(PROCESS_ALL_ACCESS, TRUE, id_proc);
 ReadProcessMemory(hnd_co,pta, &hp, 4, NULL);
 ReadProcessMemory(hnd_co,pta, &hpt, 4, NULL);
 printf("HP: %i\n",hp);
 while(hp == hpt) {
    hnd_co = OpenProcess(PROCESS_ALL_ACCESS, TRUE, id_proc);
    ReadProcessMemory(hnd_co,pta, &hpt, 4, NULL);
    Sleep(1000);
 }
 TerminateProcess(hnd_co,0);
 return 0;
}
06/21/2005 09:49 XtremeX-CO#2
eh ? Im confused, and lazy to read soo much, and installing co2 on a P1 200mhz comp, with 80 ram. newayz hope someone can figure out the value for the hp. I think one of the bots in important section might have a hp checker, or something similar.
06/21/2005 09:55 Ultimation#3
my advice is use code injection to defeat dma
06/21/2005 10:08 S.O#4
thanks

btw. how is it bugged? edit: besided if u start it up if HP not full?

edit2: use CloseHandle to prevent mem leaks if u dont want the program to close co - but to act accordingly
06/21/2005 19:17 bonesaw#5
@XtremeX-CO
They probably do, but I as ultimatehaker said, they probably use injection to bypass DMA.. I don't know much about that, not yet, mine is directly into the memory area of CO.. dunno how I'll do it yet to make it auto, but I noticed the HP address is always the same.. still studying it :P

@ultimatehaker
I would, but that's above my hacking skills.. I gotta study some DMA before I can do that.. I do it all on my own, it's very hard to learn.. :P

@S.O
Yeah I know about that, I gotta change the == to <=, but that would make your actual hp be the point to begin checking.. or I could make it ask for the chickening hp.. fixing other bugs now, will take a look at that later on :P
oh, I didnt knew about CloseHandle.. it actually closes the process correctly? nice to know, thanks for the info ^^
06/22/2005 13:44 Ultimation#6
Check Out Here For Your DMA Solution ;)

[Only registered and activated users can see links. Click Here To Register...]