Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

11

25.06.2014, 20:10

Weder ein Release noch ein Debug Build enthalten Source Code, zumindest wenn wir von MSVC reden, nichtmal die Symbolinformation wird dort direkt in der Binary gespeichert, sondern in der .pdb.

Genau das wollte ich wissen, ok danke :-)

Zitat von »Spiele Programmierer«

Warum sollte man eine Debugversion veröffentlichen aber den Quellcode nicht einsehen dürfen?

MSVC Release DLLs in einem MSVC Debug Programm zuverwenden führt in der Regel zu Inkompatibilität und Undefined Behavior.
Wenn jemand sein Programm debuggen möchte und in eine Debug-DLL-Funktion 'hinein steppen' will, sollte dann (wenn die *.pdb Datei fehlt) eine Meldung des Debuggers kommen, dass der Source-Code dieser DLL nicht verfügbar ist.
Aber man kann immer noch seinen eigenen Code debuggen.
Würde ich die *.pdb Dateien mitliefern, könnte ich mir den "Closed-Source Kram" auch sparen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

25.06.2014, 20:14

Du weißt aber, dass es trotzdem noch Assembler gibt, oder? ;) Speziell ohne Optimierungen ist der Assembler-Code oft eine straight-forward-Übersetzung des C++ Codes und es gibt sogar Programme, die daraus wieder rudimentären (auch wenn relativ grauenvollen) C++ Code bauen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

13

25.06.2014, 20:47

... es gibt sogar Programme, die daraus wieder rudimentären (auch wenn relativ grauenvollen) C++ Code bauen.

Wenn jemand unbedingt Reverse Engineering mit grauenvollem C++ Code machen will, wird sich das kaum verhindern lassen.
Aber immer noch besser als den Source Code in Plain-Text preis zu geben, wenn es Closed-Source sein soll.

14

26.06.2014, 09:21

Weder ein Release noch ein Debug Build enthalten Source Code, zumindest wenn wir von MSVC reden, nichtmal die Symbolinformation wird dort direkt in der Binary gespeichert, sondern in der .pdb.

Genau das wollte ich wissen, ok danke :-)
Was aber sehr wohl in der EXE/DLL gespeichert wird, ist der Pfad zur PDB in deinem Dateisystem. Wenn du z.B. ein Virus schreiben willst, solltest du aufpassen, das Projekt nicht in C:\Users\LukasBanana\Desktop\Virus zu kompilieren. Ebenfalls wird die Version der Microsoft-Tools im Header verschlüsselt. Der CFF Explorer bietet eine Möglichkeit, das zu entfernen; dann geht aber AFAIK auch auf deinem System das Debugging nicht mehr.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Krishty« (26.06.2014, 09:27)


Werbeanzeige