C++ Brauche Hilfe bei Base Pointer find und richtig im Code einzufügen
Hallo, ich die letzten Tage nur geschlafen oder hab versucht Base Pointer zufinden bzw sie richtig in mein Code einzufügen.
In der Zeit hab ich so viele verschiedene Quellcodes mir geladen teilweise mit und teilweise ohne Offsets Variable.
Ich hab so viel verschiedenes über Base Pointer gehört das ich jetzt nicht genau weis, was ich damit machen muss bzw wie ich den wirklich bekomme.
Mein größtes Problem ist ich wollte ein RadarHack für CSGO zum testen schreiben, ist eig. ja auch relativ Easy, die Dynamischen Adressen findet man ja einfach Problem ist nur ich finde keine statische.
Wenn ich eine statische adresse manuell mit rechtklick scan for .... komm ich immer wieder zu den gleichen Adressen und habe zwar eine grüne aber das ist nur die server.dll die kann ich doch dafür nicht benutzten oder, weil der doch eig nur der Server hat?
Wenn ich mit Rechtsklick Pointer Scann mache bekomme ich immer nur Server.dll , Client.dll oder Engine.dll aber keine csgo.exe. Jetzt weis ich nicht ob ich was flasch gemacht habe oder ob ich theoretisch die Engine.dll oder die Client.dll dafür verwenden kann.
Wenn ja wie? da ich mir wirklich Mühe gegeben habe den c++Code auch wirklich alles zu verstehen war aber nicht möglich da mein English extrem schlecht ist(ich weis man braucht English zum Programmieren) und keine Deutsche erklärungen gefunden habe. Am wenigsten verstehe ich bei Readund writememory process was in den Klammern wirklich muss mit copyand paste hat das zwar mit den dynamischen Adressen nach einen tag dann auch geklappt(hatte am Anfang ein Tippfehler
Und ich weis nicht Was ich mit dem Base Pointer machen muss, ich weis nur irgendwie
z.B WENN ich als Base Pointer Engine.dll+004C5C(ist jetzt nur ein Beispielwert , also ausgedacht) und sagen wir mal 2 offsets habe, 7C und 238. Wie muss ich das schreiben in c++.
ich hab da echt keine idee mehr und hab schon wie gesagt seit tagen nur gegooglet in Foren geuckt ausprobiert, ausprobiert, teilweise auch Nächte durch.
Deswegen würde ich mich sehr freuen, wenn ihr mir helfen könntet.
also bin mir nicht sicher ob man das mit einer .dll machen kann und die base adress davon wüsste ich gerade auch nicht aber wenn du z.b engine.exe + 004c5c dann ist das 404c5c da .exe die base adresse 00400000 haben naja und der gemütlcihste weg das in deine dll zu machen ist der hier finde ich
DWORD Adresse = *(DWORD*)0x404c5c;
DWORD Adresse1 = (DWORD)(Adresse + 0x238);
DWORD Adresse2 = *(DWORD*)Adresse1;
DWORD Adresse3 = (DWORD)(Adresse2+ 0x7C);
Erstmal danke für deine Antwort wenn ich ehrlich bin hab ich damit nicht mehr gerechnet das jemand mir noch antwortet, deswegen hab ich das auch jetzt erst gesehen :
Das die Base Adresse 00400000 ist habe ich auch schon öfters gelesen, war mir aber nie wirklich sicher was ich damit machen sollte?
ne die musst du ja normal auf die adresse adieren nicht als dword ptr du hast ja die adresse 4C5C gesagt, dann einfach 4C5C+400000 = 404c5c (siehe oben) die adresse die ich genommen habe
Das Problem ist: keine der dll-Dateien (Client,Server,Engine) wird als Base-Address 0x400000 haben
Soweit ich weiß musst du dir die Base-Address der Module schlicht selbst holen, von da aus kannst du dann munter herumrechnen
Ach und nur weil eine Datei Server.dll heißt, heißt das noch lange nicht dass sie auf dem Server ausgeführt wird, die läuft ganz normal auf deinem PC in dem Prozess
Sie heißt nur zufällig so
Erstmal danke Padmak für deine Antwort, okay das ist schonmal gut zu Wissen das die Server.dll nur zufällig so heist, und ich die trotzdem dafür verwenden könnte, dachte halt nur vllt hab ich das nur weil ich ja ein Bot Game mache und damit automatisch mit den Server hoste.
Ich hab auch in den letzten Stunden gegoogelt,gesucht, wie ich mir die Base Adresse hole, bzw ich brauch ja die von der .dll, leider hab ich nichts wirklich gefunden wie das funktionieren soll, lag wohl an meinen schlechten Englischkenntnissen.
Es wäre sehr hilfreich und nett von dir wenn du mir erklären könntest wie ich die Base Adresse ermittel, ich hab zwar schon irgendwie von Getmodulehandle gelesen, hab aber nicht brauchbares hin bekommen
Ja, GetModuleHandle ist das richtige
Mit deinem Beispiel würde es (evtl Pseudocode, hab keinen Bock es auszuprobieren) so aussehen (und unsauber ist der Code auch):
(BINDINGOFISAAC!)
Wenn du die Baseadress haben willst, reicht GetModuleHandle(NULL)
Warte mal.. Führst du das in einem Prozess von dir aus oder injectest du das als DLL?
Es hat die Bedeutung, dass ich BOI erkannt habe und cool finde, ist aber eher offtopic
Ja natürlich macht das einen Unterschied, GetModuleHandle funktioniert nur im eigenen Prozess.
Die Baseaddress von einem Fremden Modul kann man denke ich aber ähnlich einfach herausfinden, das müsstest du dir aber selbst raussuchen
erstmal wollte ich das extern machen und später als dll und dann injecten.
macht das denn ein unterschied ob externel oder dll ?
Ja macht es, da du intern keine prozess id übergeben musst (afaik), da du ja schon selbst im Prozess bist. Da würde GetModuleHandle("moduleName.dll") klappen. Aber extern, weiß das Programm ja nicht von welchem Prozess. Ich denke mal da würde es automatisch den eigenen Prozess nutzen. Ergo du musst die prozess id vom Spiel übergeben.
@Padmak. bitte nicht hauen. bin in c++ nicht sehr gewandt.
Zu deinem Beispiel für CS:GO. Da würden sich die meisten Dinge die du brauchst in der client.dll befinden. Auch wenn ich dafür zugeflamed werde, empfehle ich dir für CS (bzw. generell Source Spiele) die Tutorials zu CSS von Fleep anschauen. Da erkennt man schon mal wie Source Games intern "funktionieren".
Erstmal nochmal vielen dank für die Antworten, das hatte ich ja gemacht gehabt geguckt wie GetModuleHandle funktioniert nichts gefunden. Wollte jetzt das einfach als dll machen, problem ist da hab ich keine ahnung wie ich da writeprocessmemory verwenden muss.
Ich hatte schon versucht gehabt mir Videos von Fleeps anzugucken, um etwas dabei zu lernen ist mein english aber leider zu schlecht
Wenn du mit einer DLL arbeitest, agierst du im Normalfall innerhalb des Adressraums des Prozesses (und der PEB ist der selbe, weshalb GetModuleHandle ein Handle zum entsprechenden Modul returnen kann etc.), wodurch du direkt mit dem Speicher interagieren kannst.
Wenn du einen externen Prozess nutzt, kannst du nicht einfach in fremden Adressräumen rumspielen (die Infos dazu fehlen ja), weshalb du ein Prozess-Handle benötigst und dann den Kernel arbeiten lassen musst (OpenProcess, RPM / WPM), selbiges gilt auch für die Modul-Enumeration (Module32First/Next) etc.
Wie hier also bereits geschrieben wurde, musst du die Base Address des Moduls anderweitig rausfinden.
Du könntest z.B. nutzen, über die Prozesse iterieren und anschließend über die Module des entsprechenden Prozessses zu iterieren, um das gewünschte zu finden. In der Struktur gibt es dann den Eintrag BYTE *modBaseAddr (), das ist genau was du vermutlich suchst. Mit dem Eintrag th32ProcessID kannst du dann auch OpenProcess für Read/WriteProcessMemory verwenden.
Erstmal danke für deine hilfe Snow, ich hab damit jetzt ein bissen rumprobiert aber nicht wirklich hinbekommen, weil ich nicht genau weis was genau ich damit machen muss etc
Hallo ich brauche Hilfe bei Rüssi's und waffen einzufügen beim lauling v3 client..! 07/05/2013 - Metin2 Private Server - 2 Replies Hallo,
ich habe mir mal neue Rüstungen rausgesucht und möchte die gerne in meinem server haben nur habe ka wie das genau geht weil der Lauling v3 client ist neuer als der im viedeo kann mir bitte da wer helfen?
Endweder per pn oder Skype
Skype: xvequasz
Ich sage schonmal danke :)!!!
Can't Find Base Pointer ? (Help) 11/09/2012 - AutoIt - 2 Replies I am searched in CE Forum and AutoIt Forum but i could not find any solution.I am waiting help of yours.
EAX=0002D3C0
EBX=00000001
ECX=085D0000
EDX=138EF288
ESI=000000C0
EDI=138EF000
EBP=00000007
ESP=0053EA0C
[Memory und Pointer] Brauche Hilfe (SWTOR) 01/17/2012 - General Coding - 4 Replies Moinsen,
ich möchte für Swtor was basteln und brauche ein paar Offsets vom Spiel, aber ich finde nie die Pointer von den Sachen die ich brauche.
Ist hier vielleicht einer, der davon Ahnung hat und per Ts3 or IRC mir dabei ein wenig helfen kann?
Ich brauche nicht viele Offsets, sind sehr wenige.
Bevor das geflame los geht... ich behersche c++/c#/, ja aber ich kann keine Pointer finden.. schäme mich dafür nicht. Weil es mich nie interessiert hatte.
[Brauche Hilfe]Pointer für BFBC2[Need Help] 05/09/2010 - AutoIt - 5 Replies Moin zusammen ! Ich versuche schon seit Stunden den richtigen Pointer für die Munition des Sniper Gewehrs zu finden , allerdings scheitere ich ... die normale Adresse habe ich und den "richtigen(vermutlich?!)" Pointer auch .. nur die Umsetzung in Au3 scheint falsch zu sein ^^ Brauche jedenfalls dringend Hilfe ...
Die Munition über die nromale Adresse zu ändern klappt übrigens wunderbar .. leider ändert sich die Adresse nach jedem neustart ^^ und man muss sie neu suchen => also Pointer...