ELF Datei ausführen

05/14/2016 14:53 Mr.Tr33#1
Hallo,

ich habe eine ELF Datei. Ich weiß, dass die diese ELF Datei einen String hasht. Ich weiß aber nicht mit welchem Verfahren etc.

Durch Google habe ich rausgefunden, dass man die ELF Dateien nur aufm Linux System starten kann.

Wie kann ich meine ELF Datei mit z.B. dem Paramter "test" starten um zu sehen ob das überhaupt funktioniert?

Habe es auf mein Raspbian gepackt, aber es sagt "command not found". Durch ODA (online dissambler) habe ich rausgefunden, dass es mehrere Funktionen enthällt. Mehr kann ich damit aber nicht anfangen. Muss ich die ELF Datei irgendwie besonders starten etc.?
05/14/2016 16:00 Der-Eddy#2
Es wäre besser du erklärt den Kontext der Datei genauer
soweit ich mich noch erinnern kann werden für modded Playstation Systeme auch *.ELF Dateien benutzt, bin mir aber gerade auch nicht mehr ganz sicher wofür
05/14/2016 16:47 Mr.Tr33#3
Habe auch gelesen, dass die Playstation die auch benutzt. Keine Ahnung wofür.

Was gibt es da noch viel zur Datei zu sagen? Möchte sie doch nur ausführen können
05/14/2016 17:17 Jeoni#4
Na, ELF ist meines Wissens nach das Standardformat für ausführbare Dateien und linkbare Module, wie es das PE-Format unter Windows ist (.exe und .dll Dateien halten sich an das PE-Format).
Einfach mit "chmod u+x elffile" ausführbar machen und "./elffile" starten. Etwaige Kommandozeilenargumente einfach dranhängen: "./elffile test".
Mit freundlichen Grüßen
Jeoni
05/14/2016 22:15 Mr.Tr33#5
Habe die ELF Datei für verschiedene Architekturen. Habe die ARM Version genommen, auf mein Raspbian System gehauen und den Befehl ausgeführt. Bekomme jedoch jetzt folgende Meldung: cannot execute binary file: Exec format error
Woran könnte das liegen?
05/14/2016 23:34 Jeoni#6
Hm, spontan fallen mir dazu zwei Gründe ein (was nicht heißt, dass es nicht noch Andere geben könnte):
Unter Umständen ist die Datei, die du da hast für eine andere Architektur. ARM ist soweit ich weiß nicht gleich ARM, da gibt es ein paar Unterschiede. Am besten sicherstellen, dass die Architektur stimmt (von der Quelle der Datei erfragen und mit Spezifikationen der CPU abgleichen). Wenn es ein OpenSource-Programm ist, hilft es vielleicht es lokal selber zu kompilieren.
Oder die Datei ist sowas wie eine DLL unter Windows; also nicht zur direkten Ausführung gemacht. In dem Fall kann man sie halt einfach nicht direkt ausführen, sondern nur indirekt über ein anderes Programm, welches dann Funktionen aus diesem Modul benutzt.
Mit freundlichen Grüßen
Jeoni