OldSchoolHack

Register / Login English

MemHack Frage


icon MemHack Frage #1

Join Date: Nov 2008

Posts: 24

Hi,


Also, ich wollte schon mal immer wissen wie ich die Adresse eines gegnerischen Spielers rausfinden kann.
Also zb. in Cod4 will ich die Position von einem anderen Spieler wissen und dazu brauch ich die Adresse.
Aber ich hab überhaupt keine Idee wie ich sie rausfinden kann.
Gibt es vl. ein Tutorial dazu oder kann mir kurz einer von euch beschreiben wie dass gehn soll?
"Die Grundlagen des Memory Hackings 1 & 2" habe ich ma schon durchgelessen. Dass hift mir nicht weiter!
Hoffentlich kann mir jemand von euch helfen.

Freu mich schon auf eine Antwort

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #2

Join Date: Feb 2008

Posts: 356

Die Position eines Spielers herauszubekommen ist per Memory Hacking nur sehr schwer bis überhaupt nicht realisierbar.

Dazu musst du die Funktionen des Spiels hooken, sprich DLL schreiben und dann injecten was SEHR gute C++-Kenntnisse vorraussetzt.

__________________

.
icon #3

Join Date: Nov 2008

Posts: 24

OK, thx.

Also ich glaube, ich habe eh ganz gute C++ kenntnisse, Hab auch schon einen eigenen Loader gebastelt der die dll's in die exe ladet.

Nur, ich weis nicht wie man eine Funktion vom Spiel hooken kann. Also mir fehlt die Idee dazu, der Algorithmus, usw.
Kann mir das jemand erklären oder ein Bespiel schreiben?

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #4

Join Date: Feb 2008

Posts: 356

Für den Anfang würde ich es mit MS Detours versuchen.

http://research.microsoft.com/Research/downloads/Details/10e5d78c-592c-419d-a53e-bae8dbd81801/Details.aspx

Gute Tutorials, sogar Videotutorials, gibt es bei Gamedeception, ich schick dir mal ein Paar Links per PM.

__________________

.
icon #5

Join Date: Nov 2008

Posts: 24

thx

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #6

Join Date: Nov 2008

Posts: 24

Ich habe einen NameTag Source Code gefunden.
Ich glaube nicht dass er hier detouring verwendet hat, oder?








main.cpp:

#include <windows.h>
#include "main.h"
bool Nametags=true; // used to see if nametags is on or not.

int __stdcall DllMain(void* Module, unsigned long Reason, void* Reserved)
{
   if(Reason == 1) // if injected do code below..
 {

   Modification(1); // turn on memory modifications
   return 1;
 
 }
 
  return 1;

}

void __stdcall Modification(unsigned int arg){
 if(arg == 1){
  DWORD Protection;


        // nametags
   VirtualProtect((void*)lpteamc, 6, PAGE_READWRITE, &Protection);
memcpy((void*)lpteamc, (const void*)Six, 6); // nop it
VirtualProtect((void*)lpteamc, 6, Protection, 0);
   
//distance (visibility)
VirtualProtect((void*)lpdist, 2, PAGE_READWRITE, &Protection);
memcpy((void*)lpdist, (const void*)Two, 2);  // nop it
VirtualProtect((void*)lpdist, 2, Protection, 0);

}
}

main.h:


#define teams 0x42E090  // Where the function starts
int lpteamc = teams + 0xDC; // Team Check (disable to draw both)
int lpdist = teams + 0xFE; // Distance check, if drawn through walls etc

// Nop'd values kekeke
unsigned char Two[2]        = { 0x90, 0x90 };
unsigned char Six[6]        = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 };

// Original values (if you want to make an on/off toggle etc
unsigned char NameTags[6]   = { 0x0F, 0x85, 0xCE, 0x00, 0x00, 0x00 };
unsigned char Distance[2] = { 0x74, 0x25 };


// memory init func proto
void __stdcall Modification(unsigned int); //proto

// This is the ollydbg info: (this is 1.0 INFO)
/*
0042E19C  |. 0F85 CE000000  |JNZ iw3mp.0042E270
0042DE94  |. 0F85 09020000  JNZ iw3mp.0042E0A3

0042E19C   0F84 CE000000    JE iw3mp.0042E270
0042DE94   0F84 09020000    JE iw3mp.0042E0A3
*/

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #7

Join Date: Feb 2008

Posts: 356

Dieser Code ist als erweiterung für injected Hacks gemacht, funktioniert aber wahrscheinlich auch so.

Allerdings kriegst du so auch nicht die Position des Spielers raus

__________________

.
icon #8

Join Date: Nov 2008

Posts: 24

Quote
#define teams 0x42E090 // Where the function starts

Was ist das dann für eine Adresse?

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #9

Join Date: Feb 2008

Posts: 356

Dotr fängt die Nametag Funktion an soweit ich das auf die schneller erkennen kann.

__________________

.
icon #10

Join Date: Nov 2008

Posts: 24

Also im Spiel gibts eine Nametagfunktion??? Ich hab das noch nie bemärkt oder ich habs vergessen.
Naja egal, is nicht wichtig, hauptssache es exestiert.
Und an diesem Punkt sind wir wieder gelandet.
Nähmlich, wie finde ich diese Adresse??

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #11

Join Date: Feb 2008

Posts: 356

OllyDbg Skill.

Und manchmal CheatEngine.

__________________

.
icon #12

Join Date: Nov 2008

Posts: 24

CheatEngine??? Aber wie soll das gehn, bei Cheat engine kann man nur Werte angeben.
Dass hat überhaupt keinen zusammenhang mit einem Nametag, also es hat keinen Wert oder den Wert kann man nicht ändern.
Desswegen kann ich so schwer verstehn wie man nach einer Adresse für Nametags suchen kann.

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #13

Join Date: Feb 2008

Posts: 356

cg_drawThroughWalls........

So kann man z.B. auf die Funktion kommen, wenn man ein Gehirn hat

Die ist nämlich dafür da die EIGENEN Mitspieler auch durch Wände zu taggen.

__________________

.
icon #14

Join Date: Nov 2008

Posts: 24

Achso!!!!

Ich mach einfach einen neuen Server, dann schreib ich in die Konsole "/cg_drawThroughWalls 667788"
Suche diesen Wert in CheatEngine und dann hab ich die Adresse. Und nachher mach ich einfach ein kleines Proggi der das bei den Gegnern macht.
Hab ich das richtig verstanden?

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #15

Join Date: Feb 2008

Posts: 356

Naja so einfach ist das nicht.

Mit der Adresse die du findest musste erstmal gucken, wo von der gelesen wird, davon ist evtl eine innerhalb der Funktion.

Und dann Assembler .

__________________

.
icon #16

Join Date: Nov 2008

Posts: 24

OK, einfach die Adresse finden, und dann mit OllyDbg die Funktion zurückverfolgen.

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #17

Join Date: Feb 2008

Posts: 356

Das ist der einfache Teil.

__________________

.
icon #18

Join Date: Nov 2008

Posts: 24

Und was ist dann dabei der schwierigere Teil?

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif
icon #19

Join Date: Feb 2008

Posts: 356

Die Funktion ersmal kapieren?

Du musst ja noch den Teamcheck UND den drawthroughwalls Check bypassen...

__________________

.
icon #20

Join Date: Nov 2008

Posts: 24

oha, klingt ganz schön schwierig.
Kannst ma du ein Tutorial empfehlen, oda kannst ma du eine kleine Beschreibung schreiben.
Wär da sehr dankbar.

__________________

http://www.noobstore.com/prodimages/tshirt-m-boom-Black-art-280.gif