Reverse Engineering: Wie viel erkennt man über den Ersteller?
-
Hey Com,
ich habe mir die Frage gestellt, wie viel der Compiler über den Programmierer in der Compelierten .exe/dll an informationen hinterlässt.
gcc und g++ kann man ja sogar mit eigenen makefiles füttern, weswegen ich mal denke das dort quasi nichts auser vielleicht dateipfade zu finden ist.
(Habe festgestellt das IDA nach nicht gefundenen .PDB files mit einem "C:..." pfad fragt, der auf das System vom ersteller zurück führen läst. (zb "C:\Users[username]\source\repos\code_snipets" der standert pfad von VS)
Aber wie sieht es mit Compilern von VS oder QtCreator aus? (bin mir grade nicht sicher wie die Compiler heißen aber meine vc++ und qmake)
Bei diesen IDE's kann/muss man sich ja einloggen und mit einem verbundenen Acc könnten ja informationen von dem Programmierer über den Compiler direkt in die Binary gelangen.Wie sollen sonst die Firmen (Qt bzw Microsoft) erkennen ob ein Programm ihre Lizenzen verletzt? (zb Commerzielle nutzung wobei das nach der Lizenz nicht erlaubt ist)
Oder ist das eher so nach dem Moto gehandhabt, "wenn ich was finde hau ich drauf, sonst mir egal"?
-
@Darktutnix sagte in Reverse Engineering: Wie viel erkennt man über den Ersteller?:
Oder ist das eher so nach dem Moto gehandhabt, "wenn ich was finde hau ich drauf, sonst mir egal"?
Ja.
@Darktutnix sagte in Reverse Engineering: Wie viel erkennt man über den Ersteller?:
(Habe festgestellt das IDA nach nicht gefundenen .PDB files mit einem "C:..." pfad fragt, der auf das System vom ersteller zurück führen läst. (zb "C:\Users[username]\source\repos\code_snipets" der standert pfad von VS)
Ja, der msvc (meist so genannt.
cl.exe
) schreibt bei Debug-Builds die Pfade zu den.pdb
s in das Executable. Aber zum einen werden in der Regel keine Debug-Builds öffentlich verteilt und zum anderen muss man sein Repository auch nicht im Homedirectory haben.Aber wie sieht es mit Compilern von VS oder QtCreator aus? (bin mir grade nicht sicher wie die Compiler heißen aber meine vc++ und qmake)
Bei diesen IDE's kann/muss man sich ja einloggen und mit einem verbundenen Acc könnten ja informationen von dem Programmierer über den Compiler direkt in die Binary gelangen.Das tut afaik garkein Compiler.
-
@Swordfish sagte in Reverse Engineering: Wie viel erkennt man über den Ersteller?:
Ja.
Hmm ... okay ^^
Hatte ich zwar erwaret, aber überascht bin ich schon etwas.Ja, der msvc (meist so genannt.
cl.exe
) schreibt bei Debug-Builds die Pfade zu den.pdb
s in das Executable. Aber zum einen werden in der Regel keine Debug-Builds öffentlich verteilt und zum anderen muss man sein Repository auch nicht im Homedirectory haben.Ah okay xD dann hat die Person wohl die falsche Version veröffentlicht. Gut zu wissen.
Das tut afaik garkein Compiler.
Naja ^^ hätte ja sein können, das die Acc mit dem Verlinkt werden was du Compielst .
-
Auch Release Builds können mit Debug Informationen gebaut werden, und da dürfte der Pfad auch drin stehen. So wichtig ist das aber nicht.
Wenn der Microsoft Compiler selber mal abschmiert, dann sieht man ab und zu auch absolute Pfade von irgendwelchen C Dateien, wo der Fehler passiert ist.