Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ricco

Anmeldungsdatum: 22.08.2006 Beiträge: 33
|
Verfasst am: 12.12.2006, 20:20 Titel: Spiele Trainer |
|
|
Hi
Ich möchte nachfragen ob es möglich ist, mit QBasic einen Spieletrainer z.b für das Spiel die Sims 2 zu programmieren?
mfg |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.12.2006, 20:39 Titel: |
|
|
Hi.
Normalerweise heißt's: nichts ist unmöglich!
Aber wenn man sich hier die Aufgabenstellung genauer bedenkt, gibt's Probleme...
...denn du kannst mit QB nicht auf den Speicher einer anderen Anwendung zugreifen und somit auch keine Werte wie Leben etc. verändern (außerdem müsste man ersteinmal die Speicherstellen herausfinden, aber das ist ja nicht das Problem. ).
...denn du kannst mit QB keine Tastenfolgen an ein anders Programm senden.
Das beides kann man zwar über Umwege (Windows-Anwendung, die die Befehle von der QB-Anwendung entgegennimmt und ausführt, beispielsweise, "verändere stelle xxxxxxxxx in 12") machen, aber dann empfiehlt es sich, lieber gleich eine Windows-Sprache (zum Beispiel freeBASIC!) zu nehmen.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ricco

Anmeldungsdatum: 22.08.2006 Beiträge: 33
|
Verfasst am: 12.12.2006, 20:47 Titel: |
|
|
Ich habe gedacht, dass freeBasic eine Version von QBasic ist, die für Mircosoft MS-DOS tot ist. Also ist es gleich nur das freebasic auch auf Betreibsystemen funktioniert die kein MS-DOS mehr haben. Oder?
Wenn ich es mit freeBasich programmiere geth es dann?
MFG |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.12.2006, 21:06 Titel: |
|
|
ricco hat Folgendes geschrieben: | Ich habe gedacht, dass freeBasic eine Version von QBasic ist, die für Mircosoft ( )MS-DOS tot ist. Also ist es gleich nur das freebasic auch auf Betreibsystemen funktioniert die kein MS-DOS mehr haben. Oder? |
Kaudawelsch. Soso... Ne, mal im Ernst: Was soll das bedeuten?  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Zuletzt bearbeitet von Sebastian am 12.12.2006, 21:08, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.12.2006, 21:08 Titel: |
|
|
Hi.
Nein, freeBASIC ist etwas anderes.
QBasic ist eine kostenlose Beigabe ab DOS 5 gewesen. QBasic ist eine abgespeckte QuickBasic Version. QBasic kann nur interpretieren, QuickBasic (das kommerzielle Produkt) kann aber auch compilieren, also richtige EXEn erstellen.
So, ich glaub, das war so um 2000 rum, da hat MS bekanntgegeben, dass es nichts mehr von QB wissen will.
Und 2004 hat sich dann ein (jetzt leider nicht mehr so zuversichtlicher ) Programmierer aufgemacht, ein neues "QB", genannt freeBASIC, zu erschaffen. Mit der Zeit kamen immer mehr Leute und benutzten es und schrieben am Compiler mit. Mittlerweile legt sich das leider wieder.
Trotzdem hat es FB bis jetzt weit gebracht! Es gibt Compiler von freeBASIC (FB ist übrigens zu 99% kompatible zu QB!! Und es gibt noch mehr Funktionen!) für Windows, DOS, Linux und sogar die X-Box!
Also ich würde mich für FB entscheiden, wenn ich so etwas programmieren wöllte.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ricco

Anmeldungsdatum: 22.08.2006 Beiträge: 33
|
Verfasst am: 12.12.2006, 21:09 Titel: |
|
|
sry
also ich meine das für Mircosoft MS-DOS tot ist sodass QBasic nicht mehr lebt in zukunft! Darum hat man freeBasic entwickelt das eigentlich das gleiche wie QBasic ist! Und geth das zum Trainer entwickeln und stimmt auch meine Meinung?
mfg |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.12.2006, 21:38 Titel: |
|
|
ricco hat Folgendes geschrieben: | also ich meine das für Mircosoft MS-DOS tot ist sodass QBasic nicht mehr lebt in zukunft! Darum hat man freeBasic entwickelt das eigentlich das gleiche wie QBasic ist! |
Nö, FreeBASIC ist ein neues "Produkt" der OpenSource-Gemeinde, das viel, viel mehr kann als QBasic. Darunter z.B. die Möglichkeit, die WinAPI anzusprechen, oder dein Programm für verschiedene Plattformen zur Verfügung zu stellen (darunter DOS, Windows und sogar Linux)!
Zu deiner eigentlichen Fragestellung: Ich habe sowas noch nicht gemacht und wüsste auch nicht, wie ich dabei konkret beginnen sollte (Speichermanipulationen etc.), mit FB sollte es aber im Gegensatz zu QB (kann nicht auf den erweiterten Speicher zugreifen) prinzipiell eher möglich sein, obwohl man unter Windows normalerweise auch nicht im Speicher anderer Anwendungen rumpfuschen kann.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Bad_King gesperrt

Anmeldungsdatum: 15.04.2006 Beiträge: 455 Wohnort: nähe Stuttgart
|
Verfasst am: 12.12.2006, 22:28 Titel: |
|
|
Sebastian hat Folgendes geschrieben: | (darunter DOS, Windows und sogar Linux)!
|
...und Xbox
edit:
ICh hab mir mal einen Trainer für GTA: Vice City runtergeladen udn bei den Infos stand, dass der in Assembler geschrieben ist. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.12.2006, 23:21 Titel: |
|
|
Deshalb habe ich ja "darunter" geschrieben. Das bedeutet, dass die Nennungen exemplarisch sind und dass es u.U. noch weitere unterstützte Plattformen gibt. Die XBOX habe ich nicht erwähnt, weil sie nicht zu den gängisten Software-Ausführungsplattformen gehört und ich FreeBASIC Programme darauf noch nie ausprobiert habe, allein schon, da ich niemanden näher kenne, der diese Konsole hat. Ich weiß also nicht mit Bestimmtheit, ob man FB Programme dort tatsächlich problemlos ans Laufen bekäme, und von daher werbe ich nur mit "bestätigten" Infos.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 12.12.2006, 23:33 Titel: |
|
|
In FreeBASIC kann man tatsächlich einen Trainer schreiben.
Mit der Winapi kann man auf ungeschützte bereiche (also kein programmcode) von anderen Programmen lesend und schreibend zugreifen, in dem man sich eine debugging funktion zu nutze macht.
Das schwierigste ist immer das Suchen der Adresse.
Ich hab im FreeBASIC schonmal einen Code gepostet, wo ein Programm glaube ich pro sekunde immer einen wert um "1" erhöht. Ein zweites Programm verändert diesen Arbeitsspeicher, und es wird immer 5 erhöht.
(Oder so ähnlich)
Ich weiß aber nicht genau, ob ich das so gemacht habe, dass das auf jedem PC gleich läuft, wenns nicht geht, kannst du mir bescheid sagen.  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.12.2006, 15:04 Titel: |
|
|
Äh...das mit X-Box hatt' ich eigentlich auch schon gesagt.
Und: ja, es geht!
@king01:
Trainer müssen nicht in ASM geschrieben sein - is' aber, je nach Plattform, eine mittelmäßige bis sehr gute Wahl imho.
Zum Einen, weil der Trainer dadurch schön klein bleibt, zum Anderen, da es so (fast) garantiert ist, dass der Trainer (beispielsweise für einen Ego-Shooter) rechtzeitig reagiert.
Aber für "einfache" Dinge, wie Rennspiele, Arcarde und ähnliches reicht's auch locker aus, wenn du mit irgendeiner Hochsprache entwickelst.
Wobei beide oben angesprochene Punkte schon länger nicht mehr so sehr ins Gewicht fallen.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 13.12.2006, 18:37 Titel: |
|
|
Aber das Hauptproblem ist doch immernoch die Speicheradressen der Leben, bzw Energie usw. herauszufinden. Ich glaube raten kann man leider vergessen
Wie macht man sowas - ich meine Trainer gibts doch genug? Kann man dass Spiel disassemblieren und nachgucken? Auch ne Menge Arbeit, oder? _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.12.2006, 18:44 Titel: |
|
|
Mittels speziell dafür entwickelten Tools ist das möglich.
Funktioniert so:
Das Spiel wird gestartet. Das Tool wird gestartet und der Prozessname des Spiels ausgewählt. Zugängliche Daten-Bereiche des Programms werden eingelesen.
Jetzt suchst du im Tool nach z.B. der Zahl der Leben. Zum Beispiel 3. Das Programm wird 'ne Menge Zahlen "3" finden. Deswegen - weiteres Ausschlussverfahren.
Im Spiel was tun, um ein Leben zu verlieren und Pause machen. Zum Suchprogramm rüberwechseln und jetzt dort in den bereits rausgefilterten Adressen nach "2" suchen lassen. Jetzt werden nur noch die angezeigt, die sich während dieser kurzen Zeit von 3 auf 2 verändert haben. Je nach Komplexität des Spiel's hast du jetzt 'ne Adresse (eher selten) oder du musst so weiter machen. Meist auch über mehrere "Game Over"'s hinweg.
Aber dann hast du die Speicheradresse. Und kannst praktisch alles damit machen, wenn du Zugriff hast. Also auch auf 99 setzen oder überwachen lassen und sobald man ein Leben verliert wieder auf 99 setzen oder ähnliches. Analog mit der Punktezahl oder anderem.
Schwieriger ist es da schon bei Waffen/Utensilien. Da kommt man oft um's disassemblieren und schrittweise ausführen (gelingt eher selten) nicht herum.
Btw, das ist übrigens illegal, das disassemblieren - fällt unter Copyright-Verletzung! _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 13.12.2006, 18:54 Titel: |
|
|
Es gibt auch gewisse Hex-Editoren, die in den Programmspeicher gucken, und den als Hex-Datei darstellen... damit kann man dann experimentieren... |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.12.2006, 19:12 Titel: |
|
|
Bloß, dass moderne Spiele viele Megabyte Speicher belegen und man durch probieren alles andere als weit kommen wird.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 13.12.2006, 19:21 Titel: |
|
|
Die Methode ist ganz einfach.
Angenommen, man sucht die Adresse von den aktuellen Lebenspunkten.
Zuerst guckt man, das man alle Adressen sucht, die einen Wert enthalten, der den aktuellen Lebenspunkten entspricht. Dann muss man in dem Spiel(z.B., GTA) nur kurz anschießen lassen, irgendwo von runter springen, etc, damit sich der wert verändert.
Unter den vorigen Werten, sucht man jetzt wieder den aktuellen Wert.
Wenn einer (manchmal auch 2) überbleiben, dann hat man die richtigen Werte gefunden, sonst muss man das wiederholen.  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.12.2006, 19:35 Titel: |
|
|
Äh...ja...wenn ich etwas _normal_ ausdrücken könnte, dann hätte das so ähnlich wie das geklungen.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 13.12.2006, 19:36 Titel: |
|
|
Ich hab aber auch gerade erst gesehen, das du etwas ähnliches geschrieben hast
Irgendwie hab ich dein Post überlesen  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 13.12.2006, 19:45 Titel: |
|
|
Des ist ja auch die Variante, die man bei X-Buster, Konsolencheats & Co anwendet... |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.12.2006, 20:03 Titel: |
|
|
@programmierer:
Nee, ich hab's nur saudämlich ausgedrückt.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
|