Ich habe binäre ausführbare Datei kompiliert vonC-Quelle und ich weiß, dass es einige UNIX-Systemumgebungsvariablen verwendet. Leider habe ich keine Dokumentation und Dekompilierung / Reverse-Engineering ist sehr schwierig.
Gibt es eine Möglichkeit herauszufinden, welche env-Variablen die Anwendung in Runtime lesen möchte?
Ich meine, wenn C "s getenv
liest irgendeine Datei, um variable Werte zu erhalten oder führt einen Systemaufruf durch, ist es möglich. Also, kann ich es tun?
Antworten:
1 für die Antwort № 1strings(1)
kann Ihnen helfen, die Namen der Umgebungsvariablen zu identifizieren. - Blagovest Buyukliev
1 für die Antwort № 2
Man kann einen Debugger verwenden, einen Haltepunkt setzen getenv
, und überprüfen Sie das Funktionsargument. Dies ist sogar ohne Debug-Informationen möglich (wenn auch schwieriger, da es die Kenntnis der Aufrufkonvention erfordert).