Mögliche Parameter für Programme auslesen
-
Gibt es eine Möglichkeit, aus einem Windows- oder DOS-Programm herauszulesen, welche Parameter man diesem Programm mitgeben kann?
Ein Beispiel: Ich lasse das Programm XFDISK.EXE über diese Auslesung laufen und es wird mir/STATUS /X /MBR /?
etc. ausgegeben.
-
wenn fdisk.exe mit dem konsolenaufruf: fdisk.exe /?
die möglichen parameter und deren bedeutung in der konsole anzeigt, wie es bei konsolenanwendungen üblich ist, dann geht das. ( wenn auch recht mühsam )http://support.microsoft.com/kb/190351/en-us
:xmas1: :xmas2:
-
wenn der Entwickler keine entsprechende Funktion eingebaut hat, dann nein.
Im Grunde wird bei einem Aufruf mit /? (oder dergleichen) auch nur das Programm gestartet, der Text in der Konsole ausgegeben und dann wieder beendet. Geht also völlig vom Programm aus
-
zwutz schrieb:
wenn der Entwickler keine entsprechende Funktion eingebaut hat, dann nein.
Im Grunde wird bei einem Aufruf mit /? (oder dergleichen) auch nur das Programm gestartet, der Text in der Konsole ausgegeben und dann wieder beendet. Geht also völlig vom Programm ausJa, ich weiß. Ich meinte auch nicht das, was bei FDisk mit /? erreicht wird, sondern ich wollte eher wissen, ob es sowas wie ein Programm gibt, das meinetwegen in den Binärcode eines anderen Programms geht und dort nach der Benutzung der Variable argv sucht. Ja, ich weiß, Variablennamen gibt es in der kompilierten Datei nicht mehr, aber da das eine standardmäßige Variable ist, kann es ja sein, daß sie sich in Exe-Dateien immer an derselben Stelle befindet, so daß das Ausleseprogramm anhand der Speicheradressreferenzierung sieht, wann sie benutzt wird. Und wenn dann im Binärcode der Befehl erscheint, der im Quellcode folgende Entsprechung hätte:
if (argv [irgendwas]=="Blablabla")
dann wird vom Ausleseprogramm
Blablabla
ausgegeben, weil davon ausgegangen wird, daß es ein möglicher Parameter ist.
Ich habe nämlich eine CD mit fünf Spielen drauf. Die Optionen (Tastenbelegung, Schwierigkeitsgrad etc.) werden über ein einzelnes Interface geregelt, aber die Spiele existieren auf der CD als vollständig eigenständige Exe-Dateien, die ich auch runterkopieren und auf einem anderen Computer ausführen kann. Da nun die Spiele selbst keine Möglichkeit bieten, die Optionen einzustellen, sondern das nur über das eine Interface der Hauptanwendung der CD geht, gehe ich mal davon aus, daß die Optionen per Parameter gesteuert werden (das Interface ruft die Exe-Datei des gewünschten Spiels mit den entsprechenden Parametern auf). Und diese würde ich jetzt gern rausfinden.
-
aber da das eine standardmäßige Variable ist, kann es ja sein, daß sie sich in Exe-Dateien immer an derselben Stelle befindet
Das wäre schon abwegig, wenn es nur einen Compiler gäbe.
Du könntest mit strace arbeiten, wenn unter Unix. Unter Windows könntest du zumindest mit strings.exe die Dateien durchackern und entsprechend filtern. Sonst fällt mir da nichts ein.
-
du kannst mit Process Explorer von Sysinternals sehen mit welchen Parametern ein Programm gestartet wurde
-
Danke. Das mit dem Process Explorer hat geklappt.