Trainermodul problem auf Prozess 64Bit - 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: Trainermodul problem auf Prozess 64Bit (/showthread.php?tid=3011) |
||||
Trainermodul problem auf Prozess 64Bit - Xiantrius - 26.11.2016 Ich habe das Trainermodul eingesetzt um auf ein Prozess der auf 64Bit läuft auszuführen. Zuerst war mein Programm selbst auf 32 Bit. Die Fehlermeldung war das er nur teilweilse den Prozessmodul abgeschlossen hat. Dann habe ich mein Programm auf 64 Bit umgestellt. Die gleiche Fehlermeldung kam aber wieder. Zurzeit sieht der Code so aus: Code:
RE: Trainermodul problem auf Prozess 64Bit - Xiantrius - 26.11.2016 Überarbeitet Fehler ist behoben. Ich habe nun weitere probleme zwar beseitigt. Habe mein Trainermodul auf 64 Bit gestellt und noch dazu Netframework auf 4.0 gesetzt. Ich habe soweit die probleme mit dem 64 Bit problem gelöst. Trotzdem funktioniert es immer noch nicht! Obwohl der Pointer bei Cheat Engine funktioniert. Sieht es bei mir anders aus bei mir kommt das endergebnis 0 raus. Ich brauch wirklich umbedingt hilfe. Ich möchte das Trainermodul für 32 und 64Bit Prozesse anpassen können, aber ich bin jetzt ratlos und nicht so ein super Programmierer wie ihr. Ich habe Teamviewer. Wer mir helfen will kann sich ruhig melden. Ich wäre sehr dankbar dafür. Ich mache da schon 2 Tage rum. RE: Trainermodul problem auf Prozess 64Bit - iNvIcTUs oRCuS - 26.11.2016 Ich geh jetzt einfach mal von meinem Fall aus... Ich programmiere mit Delphi aber ich denke mal bei VB / .NET siehts nicht anders aus. Seitens des Betriebssystems kannst du nicht mit einem x64 Prozess auf einen x86 Prozess zugreifen und umgedreht. Das heißt du müsstest ein Trainermodul für x86 Prozesse schreiben und eines für x64 Prozesse. Aber eine 32 Bit Funktion zusammen mit einer 64 Bit Funktion in einem Trainermodul unterzubringen dürfte wohl nicht funktionieren. Es sei denn Du würdest es auskommentieren. RE: Trainermodul problem auf Prozess 64Bit - Xiantrius - 26.11.2016 (26.11.2016, 18:29)iNvIcTUs oRCuS schrieb: Ich geh jetzt einfach mal von meinem Fall aus... Also ganz ehrlich wenn ich ein ganz neues Trainermodul schreiben soll, dass auf 64Bit laufen soll... Das problem ist ich weis nicht wie. Ich kenne jetzt nur die 32Bit Version. Ihr kennt ja alle von DNA das Trainermodul das ich noch ein wenig mehr funktionen hinzugefügt habe. Wie müsste dieses Trainermodul für 64Bit komplett umgeschrieben werden? Weil an sich ist der Trainermodul sehr gut und der hat mir für 32Bit Prozesse nie schwierigkeiten bereitet und möchte die Methode so beibehalten, nur halt für 64Bit Prozesse, weil wie du ja bereits sagtest es nicht möglich ist beides drin zu haben. Ich wünschte DNA würde sich da melden, er wüsste bestimmt was zu tun ist, weil das Trainermodul stammt ja ursprünglich von ihm. RE: Trainermodul problem auf Prozess 64Bit - iNvIcTUs oRCuS - 26.11.2016 Ich denke so schlimm wirds hier nich sein. Bei meinem Trainer Template hab ich auch die 32 Bit Fassung zu 64 Bit konvertiert indem einfach nur verschiedene Datentypen angepasst werden mussten. Also z.B. aus Integer (32 Bit Ganzzahl) wird zu Int64 (64 Bit Ganzzahl). Die brauchst du auch bzw. musst du auch ändern weil ansonsten nur Murks rauskommt. Stell dir mal folgendes Beispiel vor... Eine gängige statische Basisadresse bei einem 32 Bit Prozess ist die 00400000h. Bei einem 64 Bit Prozess ist das die 140000000h. Würdest Du jetzt für 64 Bit nur mit Integer (bei VB Int32) handieren kriegst du als Rückgabewert nur eine 40000000h raus. Ich denke du weist was ich damit zeigen will... RE: Trainermodul problem auf Prozess 64Bit - Xiantrius - 26.11.2016 (26.11.2016, 19:28)iNvIcTUs oRCuS schrieb: Ich denke so schlimm wirds hier nich sein. Ich habe alles was auf Int32 war nun auf Int64 gesetzt auch die ganzen funktionen so übernommen, allerdings nur die wo auslesen um das zu testen. Nun ich habe die read funktion benutzt um auf den Pointer drauf zu gehen. Nun er spuckt zwar jetzt kein fehler aus, aber der Wert wird immer noch auf 0 angezeigt, der Pointer ist aber der richtige laut Cheat Engine. Ich habe bestimmt was falsch gemacht, oder was wichtiges vergessen. Mich nervt das langsam, ich mache 2 Tage rum und kriege es nicht auf 64Bit zum laufen. Wie kompliziert ist den das bitte? Sry ich bin einfach mittlerweile genervt von dem Projekt grad. Stimmt das eigentlich auch bei 64Bit noch? >>> Private Const ACCESS_RIGHTS_ALL = &H1F0FFF <<< RE: Trainermodul problem auf Prozess 64Bit - DNA - 26.11.2016 (26.11.2016, 20:03)Xiantrius schrieb: Stimmt das eigentlich auch bei 64Bit noch? >>> Private Const ACCESS_RIGHTS_ALL = &H1F0FFF <<< Ja, das stimmt noch. Startest du dein Programm über die IDE oder die kompilierte EXE? Ich hatte schon häufig den Fall, dass meine Programme, sofern ich sie über die IDE gestartet hatte, nichts auslesen konnten bzw. immer ne 0 raus kam. Kompilier dein Programm und starte es mit Adminrechten Ansonsten müsste man die anderen Teile des Quellcodes sehen, um mehr sagen zu können. RE: Trainermodul problem auf Prozess 64Bit - iNvIcTUs oRCuS - 26.11.2016 Wenn man die IDE mit Admin Rechten startet erhält auch der Child Prozess die Admin Rechte. Sollte zumindest so der Fall sein. Und die Schreibweise ist, wie DNA schon schrieb, auch die gleiche. So ist z.B. für 64 Bit die API CreateToolhelp32Snapshot diesselbe wie für 32 Bit Prozesse. RE: Trainermodul problem auf Prozess 64Bit - Xiantrius - 26.11.2016 Das hab ich jetzt auf Adminstrator umgestellt. Code:
Doch leider bekomme ich immer noch den Wert 0 ich hab bestimmt irgendwo noch ein Fehler drin. Ich habe noch Teamviewer. Da könntest du dir dem next wenn du Zeit hast den Code mal anschauen.
RE: Trainermodul problem auf Prozess 64Bit - iNvIcTUs oRCuS - 26.11.2016 Wie siehts eigentlich mit einem Debugger aus? Da ist doch bestimmt einer mit eingebaut? Um welches Spiel oder welche Anwendun gehts denn eigentlich? |