VB 2010 - Dead Island Riptide Trainer - Druckversion +- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de) +-- Forum: Coding (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=15) +--- Forum: Visual Basic 6, VB.NET (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=19) +--- Thema: VB 2010 - Dead Island Riptide Trainer (/showthread.php?tid=1505) Seiten:
1
2
|
|||||||
VB 2010 - Dead Island Riptide Trainer - Struppi - 10.06.2013 Hallöchen, Ich wolte mal ein kleinen Trainer erstellen für das Spiel Dead Island Riptide... Die Erste Option wäre da bei mir, das Geld ändern zu können. bei meinen Beispiel: + 1.000 Money - 1.000 Money Funktionieren tuts eigentlich ganz gut, aber ein Problem habe ich dennoch Sobald das Spiel neu gestartet wird ändert sich die Prozess Id von der "gamedll_x86_rwdi.dll" Da aber mein Trainer über Pointer läuft, funktioniert dieser nicht mehr wenn das Spiel neu gestartet wird. Bei anderen Spielen war das nicht so, da ist immer die ID meistens gleich geblieben. Was könnte ich tun das der Trainer troz id änderung funktionstüchtig bleibt ? MfG. Struppi RE: VB 2010 - Dead Island Riptide Trainer - iNvIcTUs oRCuS - 11.06.2013 Du scheinst da was durcheinander zu bringen... Die Prozess ID ist ja, wie der Name schon sagt, die ID (Identifikationsnummer) des bzw. eines Prozesses. Und diese ID ist bei jedem Neustart eines Spiels oder einer Anwendung so gut wie immer eine andere... Ich könnte mir jetzt eher vorstellen das du die Basisadresse meinst. Denn diese ist bei einem geladenen Modul ebenfalls so gut wie immer unterschiedlich. Es gibt zwar auch Ausnahmen aber das ist eher selten. Aber bei einer DLL kannst du in der Regel davon ausgehen das die Base Addy immer ne andere is. Bei diesem Spiel hab ich garnicht erst nach Pointern gesucht, weiß nich ob das ohne großen Aufwand möglich war. Ich bin direkt zur Code Injection übergegangen und hab das so realisiert das bei jedem öffnen des Menüs ein gewisser Betrag hinzuaddiert wird. Es ist durchaus möglich das man bei diesem Spiel das mit Pointern lösen kann, hab ich bei anderen Spielen auch schon so gemacht. Aber du musst eben bedenken das du hier mittels Basisadresse + Offset hantieren musst anstatt auf absolut bezeichnete Adressen zurückzugreifen. Das Spiel hab ich zwar momentan nicht mehr auf der Platte könnte das aber nochmal draufschmeisen und zumindest dann sagen ob du mittels Pointer so ohne weiteres zum Ziel kommst od. kommen kannst. Für die Schreibweise in VB sind dann allerdings unsere Spezialisten gefragt. VB 2010 - Dead Island Riptide Trainer - DNA - 11.06.2013 Wie silent schon schrieb, meinst du wohl die baseaddi vom Modul. Diese kannst du allerdings ganz einfach mit VB auslesen und das Offset hinzu addieren. In meinem Modul müsste auch die Funktion dafür zu finden sein. Sent from my iPhone using Tapatalk 2 RE: VB 2010 - Dead Island Riptide Trainer - Struppi - 11.06.2013 Danke schonmal für die Antworten. Das mit der Code Injection wäre auch eine möglichkeit, wenn ich das mal so hinkriegen würde Dazu müsste ich mir mal bei Zeiten nochmal die Tuts anschauen und intensiver mal mit Code Injection beschäftigen. Nur bei den Pointer wenn ich da nicht die Prozess ID von der dll mit reinpacke funktioniert das irgendwie nicht. Der Code sieht so aus: Code:
RE: VB 2010 - Dead Island Riptide Trainer - Bluespide - 11.06.2013 Code:
RE: VB 2010 - Dead Island Riptide Trainer - iNvIcTUs oRCuS - 11.06.2013 Ich weiß jetzt nicht wie dein Trainer im ganzen aufgebaut ist... Meine Trainer funktionieren nach dem Maßstab das, nachdem der Trainer gestartet wurde, erstmal Ausschau nach dem jeweiligen Prozess gehalten wird. Wenn der Trainer den Prozess, bzw. das Spiel, gefunden hat dann stehen auch sämtliche Daten die weiter nötig sind zur Verfügung. Das heißt das ich z.B. in einer Variable die PID habe. Das was du mit erste Adresse bei "pointer1" bezeichnest ist, wie wir schon sagten die Basisadresse + Offset. Da sich die Basisadresse ständig ändert ist auch diese erste Adresse immer anders... VB 2010 - Dead Island Riptide Trainer - DNA - 12.06.2013 Die getprocessid Funktion musst du drin lassen, allerdings verwechselst du da etwas. Der Prozess besteht aus mehreren Modulen und diese Module haben nach jedem Neustart eine andere startadresse. Mit der prozessid sagst du dem Trainer erstmal, um welchen Prozess es sich handelt ... nun musst du, um den Pointer richtig nutzen zu können, noch die startaddi vom Modul auslesen und das machst du mit der Funktion, die bluespide gepostet hat. Um es auf den Punkt zu bringen... du kannst den Pointer nicht mit einer festen addi Auslesen. [code=Vb] pointer1 = Read_Long(getmoduleptrbyname(dein_prozess, dein_modul) + &HCC66C8)[/code] Sent from my iPhone using Tapatalk 2 RE: VB 2010 - Dead Island Riptide Trainer - Struppi - 12.06.2013 Funktioniert irgendwie nicht, oder ich mache wieder was falsch. Code:
RE: VB 2010 - Dead Island Riptide Trainer - DNA - 12.06.2013 In deiner Projektmappe habe ich gesehen, dass du mein GetModuleBase Funktion drin hast. Entweder versuchst du es so [code=VB]pointer1 = Read_Long(GetModuleBase(ProcName, "gamedll_x86_rwdi.dll") + &HCC66C8)[/code] Der von dir genannte Fehler tritt auf, weil du bei der Funktion von Bluespide einen Prozess übergeben musst, allerdings übergibst du mit ProcName einen String. Wenn du die Funktion von Bluespide nutzen möchtest, dann sollte das folgerndemaßen funktionieren [code=VB]pointer1 = Read_Long(getModulPtrByName(Process.GetProcessesByName(ProcName), "gamedll_x86_rwdi.dll") + &HCC66C8)[/code] RE: VB 2010 - Dead Island Riptide Trainer - Struppi - 14.06.2013 Nun wolte ich ein Teleporter mit Laden / Speichern einbauen. Ist ja soweit ganz gut denke ich, aber wenn ich das benutzen möchte tut sich da garnichts -.- Der Speichert die Koords nicht in der CodeCave Adresse weder wenn ich eigene posis eintrage im trainer so das man nur Taste Xy drücken muss das man bei abc ist tut sich ebendfalls nix^^ Code:
|