Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 06:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Paar grundlegende Fragen

Discussion on Paar grundlegende Fragen within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2010
Posts: 7
Received Thanks: 1
Paar grundlegende Fragen

Hey Leute!

Ich hab mich schon immer für Gamehacks intressiert und würde jetzt gerne über den "Ich such eine Adresse, finde den Pointer und schreib einen Trainer"-Status hinauskommen.

Also hab ich mir nen paar Tutorials zu DirectX Hooks etc besorgt und das ist alles kein Problem, habe nur folgende Fragen:

1.) nehmen wir an ich will einen Wallhack schreiben. Woher bekomm ich diese Daten wie Position des Gegners etc? klar ausm Speicher, aber ich denke dieses "Gegner-Array" ist dynamisch. (pointer auf das erste Element? Bräuchte ich die größe der Gegnerklasse)

2.) Wenn ich eine Adresse habe, der Player aber stirbt, wird auch die Inztanz gelöscht (denke ich mal). So ändert sich die Adresse für Leben (z.b). Wie kann ich dieses lösen?

könnt sein das ich da jetzt totale N00b questions stelle, aber in Solitär etc wird ja nicht mit Instanzen gearbeitet, oder?

Greez easy

btw: die Fragen waren auf Battlefield 2 bezogen
easysurfer123 is offline  
Old 05/20/2010, 20:54   #2
 
elite*gold: LOCKED
Join Date: Aug 2006
Posts: 3,292
Received Thanks: 866


sollte dir bei solchen fragen helfen
scenebase is offline  
Thanks
1 User
Old 05/20/2010, 22:24   #3
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
1. ist jaein wenn du fullbright machst brauchst du nur die prims und numverts also über DIP also DrawIndexedPrimitive
oder willst du es mit namestags machen aber nicht die memory sondern alles selberzeichnen über dx BF2 hat ein offsets für den playmanager das machste dann damit dann kannst du alles zuordnen lassen

2. ich weiß ja nicht wie du es machst aber die sind bei jeder version fest für memoryzeugs bei BF2 ist das immer die Renddx9 + offset

versuch es mal an CoD4 das ist das einfachste spiel wo man sowas üben kann
P-a-i-n is offline  
Thanks
1 User
Old 05/20/2010, 22:54   #4
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by easysurfer123 View Post
Hey Leute!

Ich hab mich schon immer für Gamehacks intressiert und würde jetzt gerne über den "Ich such eine Adresse, finde den Pointer und schreib einen Trainer"-Status hinauskommen.

Also hab ich mir nen paar Tutorials zu DirectX Hooks etc besorgt und das ist alles kein Problem, habe nur folgende Fragen:

1.) nehmen wir an ich will einen Wallhack schreiben. Woher bekomm ich diese Daten wie Position des Gegners etc? klar ausm Speicher, aber ich denke dieses "Gegner-Array" ist dynamisch. (pointer auf das erste Element? Bräuchte ich die größe der Gegnerklasse)

2.) Wenn ich eine Adresse habe, der Player aber stirbt, wird auch die Inztanz gelöscht (denke ich mal). So ändert sich die Adresse für Leben (z.b). Wie kann ich dieses lösen?

könnt sein das ich da jetzt totale N00b questions stelle, aber in Solitär etc wird ja nicht mit Instanzen gearbeitet, oder?

Greez easy

btw: die Fragen waren auf Battlefield 2 bezogen
1. Es gibt auch die Möglichkeit die Positionen über die Shader zu bekommen, dazu werden die gesuchten Gegner Shader in Assembler umgewandelt bzw Entpackt und die Welt Koordinaten ausgelesen. Aber zurück zu der Möglichkeit im Speicher.

Erstmal solltest du irgendeinen Anhaltspunkt suchen, deine eigene Position z.B oder die eines Freundes. Dann musst du den Anfag des Arrays oder Objektes finden, was bei einem Array einfacher ist, wie du schon gesagt hattest das z.B 4 Bytes Abstände benutzt werden, dass siehst du dann selber. Jetzt gibt es natürlich viele Methoden wie man beim jeden start den Anfang des Arrays bekommt, aber sollte das mit der Pointer Methode klappen dann ist das auch gut. Die Größe musst du natürlich selber durchrechnen lassen und überprüfen ob es überhaupt einen Inhalt hat, ansonsten kann man das auch nicht für jedes Spiel sagen. Einige erstellen Arrays die der Maximalgröße entsprechen und einige die nur der Spieleranzahl entspricht, z.B bei Spielen wo man nichtmehr joinen kann.

2. Kommt auf das Spiel an, z.B bei Operation 7 blieb auch die Position im Array gleich sobald der Gegner gestorben ist. Allerdings ist das völlig egal was nun genau geschiet, du gehst immer dieses Array durch und übergibst die Position (Und auch Name und andere Informationen die du anzeigen willst) an deine World to Screen Funktion welches danach z.B als Punkt angezeigt werden kann. Es ist völlig egal ob Spieler1 an Position 9 oder 0 im Array steht da es im Endeffekt keinen Unterschied macht, da z.B chams unabhängig der Speicheradresse im Normalfall arbeiten. Natürlich wäre es verwirrend wenn du anstatt dem Spielernamen die Position im Array als Name ausgeben würdest im Bild.

Ansonsten wirst du bessere Hilfe bezüglich D3D Hooks auf GD finden, wie Rhilor schon gelinkt hatte.

Quote:
Originally Posted by P-a-i-n View Post
1. ist jaein wenn du fullbright machst brauchst du nur die prims und numverts also über DIP also DrawIndexedPrimitive
oder willst du es mit namestags machen aber nicht die memory sondern alles selberzeichnen über dx BF2 hat ein offsets für den playmanager das machste dann damit dann kannst du alles zuordnen lassen

2. ich weiß ja nicht wie du es machst aber die sind bei jeder version fest für memoryzeugs bei BF2 ist das immer die Renddx9 + offset

versuch es mal an CoD4 das ist das einfachste spiel wo man sowas üben kann
Du hast keiner seiner Fragen ansatzweise beantwortet, du redest von irgendwas anderem ohne Sinn und Verstand.
Atheuz is offline  
Thanks
1 User
Old 05/21/2010, 00:31   #5
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
wie gesagt mit DIP am einfachen nur die halt viel arbeit für die modellogs da brauch er nicht prüfen ob er wirklich prüfen wieviele viele spieler es sind oder in welchen team er ist man muss die farben nur richtig zuweisen und fertig das ganze passiert aber halt über dx also die d3d9.dll

für fullbright findest du hier was besser erklärt wirste es nicht finden

P-a-i-n is offline  
Thanks
1 User
Old 05/21/2010, 15:16   #6
 
elite*gold: 0
Join Date: May 2010
Posts: 7
Received Thanks: 1
Year, erstmal danke für eure Hilfe =) Hab ich echt nich erwartet die Frage so ausführlich beantwortet zu bekommen

Ich habs soweit verstanden, werd mich jetzt mal ransetzen

Danke easy
easysurfer123 is offline  
Old 05/21/2010, 17:39   #7
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by P-a-i-n View Post
wie gesagt mit DIP am einfachen nur die halt viel arbeit für die modellogs da brauch er nicht prüfen ob er wirklich prüfen wieviele viele spieler es sind oder in welchen team er ist man muss die farben nur richtig zuweisen und fertig das ganze passiert aber halt über dx also die d3d9.dll

für fullbright findest du hier was besser erklärt wirste es nicht finden

Wie oft noch, du redest hier irgendeinen Unsinn der nichts mit der Frage zu tun hat.

Modeldetection != Objekte im Speicher

Lern es endlich mal.
Atheuz is offline  
Thanks
1 User
Old 05/21/2010, 21:51   #8
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
ich weiß wohl was er will und grade BF2 hat die clientinfo so wie cod auch
da kann man das ganz einfach so regeln lassen
schon werden alle aus deinem team und aus dem anderen team durchgezählt
zugeordnet und dem die farbe zugewiesen
ich weiß wie es leichter geht du gehst mit der kirche ums dorf
PHP Code:




void ESP
::ZeichneESP()
{
        
DWORD SpielGeF = *( DWORD* )0x74E35C;
        if(
SpielGeF)
        {
            for(
int e 0MAX_Spielere++ )
            {
                
ClientInfo pInfo cClientInfo[e];
                
CEntity pEntity cEntity[e];

                if( (
pEntity.Lebt == 1)&&(cCG->clientNum != pEntity.nClientID))
                {
                    
MeinTeam cClientInfo[cCG->clientNum].iTeam;
                    
Abstand GetDistancepEntity.OrigincRefDef->viewOrg) / 48;

                    if(
WorldToScreenpEntity.Origin, &ScreenX, &ScreenY))
                    {
                        if(
Aimbot == 1)
                        {
                            if(
pEntity.nClientID == GetClosestClientByXhair())
                            {
                                if(
GetAsyncKeyState(VK_LBUTTON))
                                {
                                    if(
MeinTeam != pInfo.iTeam)
                                    {
                                        if(
Sichtbar(&pEntity))
                                        {

                                            
SetCursorPos(ScreenX-(rand()%90),ScreenY-(650.0 abstand)-(rand()%90));
                                            
                                        }
                                    }
                                }
                            }
                        }
                        if(
ESP::NameESP == 1)
                        {
                            
sprintf(Name,"::%s::",pInfo.Spieler);
                            if(
MeinTeam == pInfo.iTeam)
                            {
                                
Schreib(ScreenX+5,ScreenY-70,D3DCOLOR_ARGB(25502550),Font2Name);
                            }
                            else if(
MeinTeam != pInfo.iTeam)
                            {
                                
Schreib(ScreenX+5,ScreenY-70,D3DCOLOR_ARGB(25525500),Font2Name);
                            }    
                        }
                    }
                }
            }
        }


da wird alles abgeklärt

aber erklär du weiter mal mit deinem Bytes
mir ist es wurst macht wie ihr denkt wenn es auch einfach geht
P-a-i-n is offline  
Thanks
1 User
Old 05/21/2010, 23:26   #9
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by P-a-i-n View Post
ich weiß wohl was er will und grade BF2 hat die clientinfo so wie cod auch
da kann man das ganz einfach so regeln lassen
schon werden alle aus deinem team und aus dem anderen team durchgezählt
zugeordnet und dem die farbe zugewiesen
ich weiß wie es leichter geht du gehst mit der kirche ums dorf
PHP Code:




void ESP
::ZeichneESP()
{
        
DWORD SpielGeF = *( DWORD* )0x74E35C;
        if(
SpielGeF)
        {
            for(
int e 0MAX_Spielere++ )
            {
                
ClientInfo pInfo cClientInfo[e];
                
CEntity pEntity cEntity[e];

                if( (
pEntity.Lebt == 1)&&(cCG->clientNum != pEntity.nClientID))
                {
                    
MeinTeam cClientInfo[cCG->clientNum].iTeam;
                    
Abstand GetDistancepEntity.OrigincRefDef->viewOrg) / 48;

                    if(
WorldToScreenpEntity.Origin, &ScreenX, &ScreenY))
                    {
                        if(
Aimbot == 1)
                        {
                            if(
pEntity.nClientID == GetClosestClientByXhair())
                            {
                                if(
GetAsyncKeyState(VK_LBUTTON))
                                {
                                    if(
MeinTeam != pInfo.iTeam)
                                    {
                                        if(
Sichtbar(&pEntity))
                                        {

                                            
SetCursorPos(ScreenX-(rand()%90),ScreenY-(650.0 abstand)-(rand()%90));
                                            
                                        }
                                    }
                                }
                            }
                        }
                        if(
ESP::NameESP == 1)
                        {
                            
sprintf(Name,"::%s::",pInfo.Spieler);
                            if(
MeinTeam == pInfo.iTeam)
                            {
                                
Schreib(ScreenX+5,ScreenY-70,D3DCOLOR_ARGB(25502550),Font2Name);
                            }
                            else if(
MeinTeam != pInfo.iTeam)
                            {
                                
Schreib(ScreenX+5,ScreenY-70,D3DCOLOR_ARGB(25525500),Font2Name);
                            }    
                        }
                    }
                }
            }
        }


da wird alles abgeklärt

aber erklär du weiter mal mit deinem Bytes
mir ist es wurst macht wie ihr denkt wenn es auch einfach geht
Erstmal, verstehst du überhaupt was der OP will? Anscheinend nicht da du ständig Sachen postest die rein garnichts mit dem zu tun haben was er wissen möchte. Es geht hier nicht um eine Modeldetection, welche Entities zu wem gehören oder sonst was, es geht nur darum wie ein Array aus dem Speicher gelesen wird du Birne. Dein C&P Code ist ja schön und toll, du benutzt allerdings Engine Funktionen was dem Thread Ersteller kein bisschen weiterhelfen würde wenn er nicht weiß wie diese im Speicher gefunden werden, vorallem weil er nichtmal angegeben hat um welches Spiel es sich hier handelt.

Scheiss ungebildener Troll, tut deine Dummheit nicht schon weh.
Atheuz is offline  
Thanks
1 User
Old 05/22/2010, 04:46   #10
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
C&P lol da fehlt sogar noch die hälfte, Dx ist nicht so schwer nur weil du es nicht kannst außerdem ist das für CoD war nur als Bsp gedacht

wenn der Position sagt das ist was anderes wie eine adresse,pointer,offset
aber zu punk 1 mit unendlich leben 1 singleplayer ja multiplayer nein genau wie unendlich munition singleplayer ja multiplayer nein das wurde ab version 1.40 gefixt

und die feste adresse der spieler bei BF2 zu kriegen such den "Playermanager"
aber du hast ja ein richtigen Klugscheisser hier der sicher nichtmal Bf2 aufen rechner haben wird

EDIT:
da ich grade wieder an BFH sitze wegen update da ist dies auch der Playermanager und für Healthbar u.s.w brauchst du dann die playerinfo
und noch was zum array das brauchste nicht in ein einlesen weil dies in einem array schon alles liegt
im sourcecode vom spiel(diesen kann man nicht einsehen) du rufst also quasi nur mit der adresse diese funktion auf
hier mal 2 screens von BFH damit kannst du dann alles machen was du willst und es wird automatisch erstellt



geht alles mit nur einer adresse
P-a-i-n is offline  
Thanks
1 User
Old 05/24/2010, 10:08   #11
 
elite*gold: 0
Join Date: May 2010
Posts: 7
Received Thanks: 1
Hmm, hab mich jetzt weiter damit befasst

"Undendlich" Munition (und mit dem Granatenwerfer und Eryx ne ShotPerSeconds > 5) hab ich durch nen NOP von dem Sub-Command erreicht, nen Minimaphack durch NOPn der überprüfung ob der Spieler in meinem Team is.

Ich werd mich jetzt ans Player Array ransetzen, wobei mir Olly zurzeit unter "Player" noch nichts findet

Danke für eure hilfe!
easysurfer123 is offline  
Old 05/24/2010, 12:34   #12
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
für Bf2 Offsets kannst du auch Opsearch benutzen da hast du minimap und alles da ich 64 bit version habe fehlen offsets aber ich lad die dir mal hoch
und suchen mußt du nach "Playermanager"

wenn du opsearch mit BF2 sig nicht findest kann ich dir das hochladen

da 32 bit findet da soweit alle
P-a-i-n is offline  
Old 05/24/2010, 19:23   #13
 
elite*gold: 0
Join Date: May 2010
Posts: 7
Received Thanks: 1
Danke, OPSearch hab ich bereits verwendet

Aber ich hab gleich noch ne Frage und will kein neuen Thread aufmachen. Nehmen wir mal an ich will den Classmanager von BF2 verwenden, dazu hab ich das hier gefunden:



Nur woher bekomm ich die ClassManager Klasse (bzw wo wird diese definiert)??.

Greez
easysurfer123 is offline  
Old 05/24/2010, 21:20   #14
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
wenn du die adresse haste dann könntest du das so machen ist nur als beispiel gedacht

class BFClassManager
{
public:
virtual void Function0();
virtual void Function1();
virtual void Function2();
virtual void Function3();
virtual void Function4();
virtual void Function5();
virtual void Function6();
virtual void Function7();
virtual void Function8();
virtual void Function9();
virtual void Function10();
virtual void Function11();
virtual void Function12();
virtual void Function13();
virtual void Function14();
virtual void Function15();
virtual void Function16();
virtual void Function17();
virtual void Function18();
};

BFClassManager* oClassManager = ( BFClassManager* ) 0x12345678;



aber hier haste was umfangreiches

und BF2 hat
-classmanager
-controlmapmanager
-renderer
-playermanager
-physicsmanager
-hudmanager
-profilemanager

mit den man viel anfangen kann
um die zufinden mußt du aber erst bf2 gestartet haben uund den laufenden prozess in olly ziehen sonst findest du die nicht

das funktioniert dann z.B so
sagen wir mal du hast das obere als Renderer und nicht als classmanager
dann nimmst du diesen suchst in ollydbg was was mit draw zutun hat
nehmen wir mal FPS diese draw befehle findest du in der Rend dll
das schreibste in eine klasse FPS sind zahlen der werte bereich liegt nicht noch
also schreibt man in die class __int32 DrawFPS
sagen wir mal meine classe heißt oRenderer das hat was mit zeichen zutun also gehört da dieses DrawFPS rein

un eine klasse schreibt man immer in eine headerdatei
dann includierste diese header datei da wo die enscene ist
machst der z.B eine hotkey abfrage

und schreibst darein
oRenderer->DrawFPS = !oRenderer->DrawFPS;

wenn jetzt die renderer adresse passt müßtest du beim drücken dieses hotkey ganz links oben im bild eine rote framerate(fps) anzeige stehen haben müssen die bei allen EA spielen immer links oben am rand ist

ich hoffe ich konnte dir das etwas besser erklären im grund ist es nicht schwer wenn man es einmal gefressen hat kann man das und es ist wirklich dann sehr leicht und geht schnell von der hand

hier noch ein bild dieses könnte man auch dazunehmen hab sie gelb gemacht das du sie gleich siehst




EDIT ich sage der classmanager hat die adresse hab nur schnell geschau dürfte aber diese sein
0x0089BF18
P-a-i-n is offline  
Thanks
1 User
Old 05/25/2010, 12:24   #15
 
elite*gold: 0
Join Date: May 2010
Posts: 7
Received Thanks: 1
Dankeschön, sehr geil erklärt Habs verstanden =) Wenns noch was gibt meld ich mich

Greez
easysurfer123 is offline  
Reply


Similar Threads Similar Threads
[Fragen]Ein paar fragen und IHR seid gefragt...
08/22/2010 - Metin2 Private Server - 5 Replies
Hab mal nen paar fragen an euch...vielleicht kann sie ja der ein oder andere beantworten 1.Wie baut man Serverside mehrere CH´s ein?möchte gerne auf 4 ch´s erweitern. 2.Wie Baut man Clientside mehr CH´s ein?(benutze neonblue seinen) 3.Wie baut man das cash -in script von saphira auf seiner HP ein? 4.wie baut man einen patcher in seinen Client ein?
Grundlegende Fragen zu EasyMetin2
03/31/2010 - Metin2 - 10 Replies
Hi, wie der Titel bereits sagt habe ich ein paar Fragen zu EasyMetin2: 1. Kann man EasyMetin2 nur im Vollbilsmodus nutzen ? 2. Laggt es bei euch auch so stark ( teils bleibt der Screenfür Minuten gleich) ? 3. Welcher Hack funktioniert gut in Kombi mit EMt2 ? auf welchen werten ? Das war's auch schon. Gute antworten werden natürlich mit einem thanks belohnt ;)
[GrannyVwr Fragen]Ein paar Fragen...
09/12/2009 - Metin2 - 0 Replies
Hi ich habe ein paar Granny Fragen: 1)Kann man die Chars auf den MG draufsetzen, weil es ja so actions gibt das der vom mg schlägt^^ 2)habt ihr einen .gra converter weil mein dds converter geht damit nich .Ich wollte gerne die texturen modden^^ 3)kann man den Charas Waffen in die Hand geben? MfG TheRisk
Ein paar Fragen
11/30/2007 - Flyff - 3 Replies
Hallo, in der propItemEtc kann man ja die Seteigenschaften verändern. Dass das mit HP Def usw nicht klappt, ist mir klar. Doch ich glaube gelesen zu haben, dass es klappt, die Verringerung der Zauberbeschwörungszeit auch ss zu ändern, also 99Prozent beispielsweise. Könnt ihr das mal ausprobieren mit FS mit Wedge, PSy/Ele mit 75er Set? Thx Ausserdem hätte ich eine Idee: Kann man irgendwo das "Cooldown" für Food in data.res oder so verändern? Hab noch nix gefunden über Star Candys bspw... ...



All times are GMT +1. The time now is 06:36.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.