linux-l: Paramter rausfinden?

Steffen Solyga solyga at absinth.net
Di Nov 14 21:59:15 CET 2000


> Nicht alle Parameter sind bei jedem Programm in der Man-Page
> dokumentiert! Vielleicht habe ich jetzt zu naive
> Vorstellungen zum Aufbau einer ausführbaren Datei, aber gibt es
> vielleicht ein Programm was alle möglichen Übergabeparameter einer
> ausführbaren Datei zeigt?

Ich kenne keins, habe aber von compiler/linker zu wenig Ahnung, um
dazu was zu sagen.
Habe nur eine Idee, wie man mit etwas Arbeit und Glück die Optionen
herausfinden kann: Wenn das Programm getopt(3) verwendet, ist der
Optionen-String im Programm zu finden. Also einen hexeditor anwerfen
und erstmal nach getopt suchen:

solyga at beast$ hxd -s n -b 64 /usr/bin/man | grep getopt
000007c0 | t__.libc.so.6.strcpy.ioctl.getgid.printf.stdout.geteuid.getopt_l

Offenbar verwendet man also getopt_long(3), der Options-String muß also
drin sein. Wenn man wie bei man die Optionen kennt (man -h) ist es dann
recht einfach:

solyga at beast$ hxd -s n -b 64 /usr/bin/man | grep acd   
00007100 | _Ü.._Ü..pÜ..WÜ..1.5f........C:M:P:S:acdDfFhkKm:p:tvwW?..àÞ..ÿÿÿÿ
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^

CMPSmp sind Optionen mit Wert, die anderen Optionen ohne Wert.
Im allgemeinen wird man ganzschön suchen müssen... kommt halt drauf an,
wie wichtig es einem ist.

-- 
--------------------------------------------
Steffen Solyga
mail: solyga at absinth.net
www : http://www-tet.ee.TU-Berlin.DE/solyga/
--------------------------------------------



Mehr Informationen über die Mailingliste linux-l