Was verraten Compiler?
-
Welche System Informationen fügen die üblichen Compiler wie gcc dem Programm bei.
Beispielsweise Datum und Uhrzeit werden hinzugefügt, oder auch Pfade der Projektordner findet man in den fertigen Programmen.
Gibt es noch andere Dinge die viel über den Entwickler verraten könnten? Vielleicht sogar eine Art eindeutige ID (wenn man mal sehr paranoid denkt)?
-
Datum und Uhrzeit fügt afaik das Dateisystem hinzu, nicht der Compiler - und das Dateisystem macht dies für jede Datei auf deinem System.
Wo findest du denn Pfade der Projektordner? Würde mich mal sehr interessieren, woher du diese Informationen hast.... Finde ich etwas merkwürdig, wenn ich solche Sachen in Programmen finden könnte. Ich wüsste zumindest nicht, wie ich z.B. aus meiner Adobe Creative Suite Infos über das Dateisystem der Adobe-Entwickler herausfinden sollte!?
Gruß, Micha
-
Also den absoluten Pfad zu dem Projektordner mit den Quelldateien findest du im Programm. Erstelle doch mal ein Hallo Welt in C++ und kompiliere es mit dem GCC Compiler und schau öffne das Programm mal in einem Hexeditor und such nach einem String das in dem Pfad des Projektsordners enthalten ist, wirst schnell die Pfade finden.
Und angenommen jemand würde sein Projektordner im User bzw. Home Verzeichnis haben und angenommen der dieser jemand hätte als Benutzername an seinem Rechner sein realen Vor und Nachnamen eingegeben (was manche ja tun) dann könnte man in seinen Programmen den Pfad "C:\Users\Max Mustermann\CProjete\TicTacToe\..." finden.
Damit würde jedes Programm praktisch Vor und Nachnamen des Entwicklers beinhalten
Deswegen habe ich mich gefragt ob wohl noch andere Informationen eingetragen werden die wenn man Pech hat zu viel über ein verraten bzw. über den PC wo das Programm entwickelt wurde.
-
Du hast wohl Angst, dass man in deinen Applikationen sowas wie "D:\...\projekte\..." findet oder was?
Meine Güte, mach dich nicht nass deswegen
-
In einem Release Programm steckt nur der Pfad der PDB Datei, als Information.
Sourcedateinamen werden nur dann verwendet wenn Du selbst __FILE__ etc, benutzt.
Zum Teil (je nach Implementierung) können Klassennamen aufteten (Beispiel MFC:CObject Klassen etc.)Von Debug Versionen wollen wir mal gar nicht reden...
-
Du hast wohl Angst, dass man in deinen Applikationen sowas wie "D:\...\projekte\..." findet oder was?
Oder stell Dir vor, Du willst mal paar gescheite Viren programmieren ....
@TE
Du solltest genauer spezifizieren, was compiler linker, ressourcen etc sind.
Und lass nicht alles immer von so nem rundum "Sorglos" Compiler machen, sondern mach mal was per hand, dann hasst auch viel mehr unter kontrolle, wass denn nun drinn steht. Nutze eher standisierte build tools (make, cmake) als XML basierende Projectfiles, wo im Header Dein M$ Lizenzcode, Namen usw "versteckt" sind.Und noch was, was der boese "Compiler" nicht weiss, kann er auch nicht reincompilieren
Mach dir notfalls ne VM fuers compilieren.
Ciao ...
-
Du hast wohl Angst, dass man in deinen Applikationen sowas wie "D:\...\projekte\..." findet oder was?
Was soll ich da sagen, wäre doch völlig berechtigt wenn ich einfach JA sage
Ja für Malware Entwickler ist so was eventuell auch von Bedeutung. Man stelle sich vor in Stuxnet wäre in einem Pfad ein Person Name oder Name der Organisation oder Abteilung statt einfach einem Projektnamen wie "...". Wäre wohl nicht schwer gewesen die Urheber ausfindig zu machen.
Etwa ein C:\...\sources..."
-
Es ist nicht gut solche Namen zu posten; auch wenn sie nur erdacht sind...