Defeat DMA For PLayer Stamina

06/23/2005 01:08 Ultimation#1
Ok same as before except this is the delphi code for it all, can be used at the same time as the hp dma,

all you need to do is Call the Function GetPlayerStamina Wich Returns The Player Stamina


Procedure Patchmem(WindowTitle:Pchar;Address:integer;NumberO fBytes:integer;PokeValue:Int64);
var
WindowName: Integer;
ProcessId: Integer;
ThreadId: Integer;
buf: PChar;
HandleWindow: Integer;
Write: Cardinal;
begin
WindowName := FindWindow(nil, WindowTitle);
ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
GetMem(buf, NumberOfBytes);
buf^ := Chr(PokeValue);
WriteProcessMemory(HandleWindow, ptr(Address), buf, NumberOfBytes, Write);
FreeMem(buf);
CloseHandle(HandleWindow);
end;

Function Readmem(Address:integer):int64;
const
HowMany = 2 ;
var
WindowName : integer;
ProcessId : integer;
buf : Int64;
HandleWindow : Integer;
Read : cardinal;
begin
Buf:=0;
WindowName := FindWindow(nil,'[Conquer]');
If WindowName <> 0 then
begin
GetWindowThreadProcessId(WindowName,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
ReadProcessMemory(HandleWindow,ptr(Address),@buf,H owMany,Read);
closehandle(HandleWindow);
result := buf;
end;
end;

Procedure InjectDMA;
begin
patchmem('[Conquer]',&#036;10B55,5,&#036;A3620B0100);
patchmem('[Conquer]',&#036;10B5A,6,&#036;E8A1524A00E9);
patchmem('[Conquer]',&#036;10B60,6,&#036;A5484600);
patchmem('[Conquer]',&#036;475404,5,&#036;E94CB7B9FF);
end;

Function GetPlayerStamina:Integer;
begin
InjectDMA;
result := readmem(&#036;10B62);
end;


Enjoy
06/23/2005 03:33 dr3amworld#2
can u explain wut this does?
06/23/2005 04:31 bonesaw#3
It reads your stamina directly from memory. Useful for making bots/macros/etc..

btw ultimatehaker, could you please make one to read char name? you can search the address using gameguard, it lets you search for ascii.. it worked for me when I printed the address on C, but I can't beat DMA :P
That would be useful for my coming program, wanna make a char chooser in there, so I need to read charname xD
and thanks for the stamina dma, altho I'm not going to use it yet, it's good to know already ^^
06/23/2005 04:55 hellrazer#4
ok that makes no sence
but from wat i understan it would help greatly
06/23/2005 05:12 Peach#5
it reads the player's stamina and from the other thread the hp so if u wana make bot.. to make the bot heal it reads from the player hp for eg u want it to heal at 500 and wen the mem read 500 it heals ( use pots/cure or sh)
06/23/2005 11:02 Ultimation#6
sure i will make 1 for the player name
06/23/2005 11:14 Ultima#7
Playername is not DA
06/23/2005 13:17 Ultimation#8
you just need to read from this address 53A940
06/23/2005 17:15 anhang#9
you think its possible to have infinate stamina? cuz i know stamina is client sided
06/23/2005 17:44 NoName#10
if something counted up local dont mean the server do no check
06/23/2005 19:18 bonesaw#11
It is server-side.. you can test that using it, finding it on TSearch and editing it.. you can freeze it at 100, but it won't work. :P

edit1: oh, I was reading the wrong address for the name, that's why I thought it was dynamic.. thanks for the info, gotta play with my new toys now >D
06/23/2005 20:06 Karinova#12
please someone can translate in Visual Basic
06/25/2005 06:37 Henkie#13
Quote:
Originally posted by ultimatehaker@Jun 23 2005, 01:08
..
ulitmatehacker it doesn't work, when I inject the codes my conquer crashes.


Ow and this also doesn't work

patchmem('[Conquer]',&#036;10B55,5,&#036;A3620B0100); //5 bytes
patchmem('[Conquer]',&#036;10B5A,6,&#036;E8A1524A00E9); // 6 bytes
patchmem('[Conquer]',&#036;10B60,6,&#036;A5484600); // 4 bytes 2 bytes different!!
patchmem('[Conquer]',&#036;475404,5,&#036;E94CB7B9FF);

result := readmem(&#036;10B62); //10B60 + 4 = 10B64 and not 10B62 at this position you find 46 (hex)

btw which program do you use to find the memory locations, ollydbg and tsearch? And I can't find the location for mana :( Reading the health and name works like charm.
06/26/2005 04:19 NoName#14
you can just read stamina from &#036;0053AFC4 it dont seems to be dma
06/26/2005 11:16 Henkie#15
ah good work :P

level: 0x53AFCC
spouse: 0x53AC84