Gibt es eine Chance zu wissen, wie eine Binärdatei unter Linux erstellt wurde? (und oder andere Unix) Compiler, Version, Zeit, Flags etc ... Ich habe nachgeschaut readelfund konnte nicht viel finden, aber es könnte andere Möglichkeiten geben, den Binärcode / Abschnitt usw. zu analysieren. Wissen Sie, wie man extrahiert?
In einer Diskussion über die Abwärtskompatibilität in Linux - Kernel und GUI ABIs , Alan Cox stellt fest , dass „ mein 3.6rc Kernel wird eine Rogue binäre 1992 X gebaut noch läuft wieder kompatibel zu Anwendungen weit älter als Linux. “ Wie abwärtskompatibel sind die binären Schnittstellen der Linux- …
Aber sie geben Anweisungen wie cd downloaded_program ./configure make install Dadurch wird die benötigte ELF und möglicherweise einige .so-Dateien erstellt. Warum nicht diese in einer Zip-Datei zum Download bereitstellen, wie bei Windows-Apps? Gibt es einen Grund, warum sie vom Benutzer kompiliert werden müssen?
Ich habe bereits eine Diskussion über ELF-Magie gesehen, zuletzt die Kommentare in dieser Frage zum Austausch von Sicherheitsstapeln . Ich habe es schon einmal gesehen und ich habe es in meinen eigenen Boot-Logs gesehen. Aber ich bin mir nicht sicher, was es ist. Die Manpage zu Elf ist etwas überfordert, …
Ich habe in der Ausgabe des Befehls unter Linux den Begriff " LSB- ausführbar" oder " LSB- gemeinsam genutztes Objekt" gefundenfile . Beispielsweise: $ file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4637713da6cd9aa30d1528471c930f88a39045ff, stripped Was bedeutet "LSB" in diesem Zusammenhang?
Immer wenn ich eine ELF-Binärdatei starte, erhalte ich folgende Ausgabe: [jonescb@localhost ~]$ file a.out a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped Ich frage mich nur, was sich in Linux 2.6.9 geändert hat, dass diese …
Bei einem 2.6.x oder neueren Linux-Kernel und einem vorhandenen Benutzerland, das sowohl ELF32- als auch ELF64-Binärdateien ausführen kann (dh längst nicht mehr). Woher weiß ich, dass meine CPU 64-Bit-Betriebssysteme unter Linux unterstützt? ) Wie kann ich feststellen , ob ein bestimmter Prozess ( von PID) läuft im 32- oder 64-Bit-Modus? …
Ich versuche, mehr über die Bibliotheksversionierung unter Linux zu erfahren und zu erfahren, wie alles funktioniert. Hier ist der Kontext: - Ich habe zwei Versionen einer dynamischen Bibliothek, die denselben Satz von Schnittstellen verfügbar machen, sagen wir libsome1.sound libsome2.so. - Eine Anwendung ist mit verknüpft libsome1.so. - Diese Anwendung libdl.solädt …
Ich habe eine ausführbare Binärdatei. Nennen wir es a.out. Ich kann sehen, dass die Binärdatei Zeichenfolgen enthält $ strings a.out ... /usr/share/foo .... Ich muss die Zeichenfolge /usr/share/fooin ändern /usr/share/bar. Kann ich den String einfach ersetzen durch sed: sed -i 's@/usr/share/foo@/usr/share/bar@' a.out Dies scheint eine sichere Sache zu sein. Funktioniert …
Ist es möglich zu überprüfen, ob ein bestimmtes Programm mit GNU gprof instrumentation kompiliert wurde, dh mit dem Flag '-pg', das sowohl an den Compiler als auch an den Linker übergeben wurde, ohne es auszuführen, um zu überprüfen, ob es eine gmon.outDatei generieren würde ?
Ich habe ein kleines C-Programm (2 Codezeilen) mit gcc kompiliert, um zu versuchen, das ELF-Dateiformat zu verstehen. Wenn readelf -hich eine Objektdatei mache, habe ich in der Kopfzeile: OS/ABI: UNIX - System V Ich verwende Fedora. Warum ist es nicht stattdessen Linux? Edit : Ich habe kompiliert int main(){ int …
Was ich schon weiß: Eine ausführbare ELF-Datei besteht aus mehreren Abschnitten. Offensichtlich werden die Abschnitte .text und .data in den Speicher geladen, da dies die Hauptteile des Programms sind. Damit ein Programm funktioniert, benötigt es jedoch mehr Informationen, insbesondere wenn es dynamisch verknüpft ist. Was mich interessiert, sind Abschnitte wie …
Eine minimale ausführbare ELF-Datei erfordert nur den ELF-Header und mindestens einen Programm-Header, um funktionsfähig zu sein. Wenn ich jedoch strip auf einer kurzen ausführbaren Datei ausführe, wird entschieden, die Abschnittsüberschriften-Tabelle oder den Abschnitt "Abschnittszeichenfolgen" nicht wegzuwerfen und sie beizubehalten, obwohl sie (soweit ich weiß) keinen Zweck für die Ausführung des …
Ich studiere die ELF-Spezifikation ( http://www.skyfree.org/linux/references/ELF_Format.pdf ) und ein Punkt, der mir über den Programmladeprozess nicht klar ist, ist, wie und was der Stapel initialisiert wird Die anfängliche Seitengröße ist. Hier ist der Test (unter Ubuntu x86-64): $ cat test.s .text .global _start _start: mov $0x3c,%eax mov $0,%edi syscall $ …
Wenn ich auf meiner Linux Box bin, benutze ich Bash als Shell. Jetzt habe ich mich gefragt, wie bash mit der Ausführung einer ELF-Datei umgeht, wenn ich ./program eingebe und program eine ELF-Datei ist. Ich habe die bash-4.3.tar.gz gepackt, es scheint keinen magischen Zahlenparser zu geben, um herauszufinden, ob es …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.