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

1

21.10.2013, 18:14

Wettbewerbsvorschlag: Einmal Hacker sein

Datei-Entschlüsselungs-Wettbewerb

Insgesamt 25 Stimmen

40%

Eher nicht. (10)

24%

Super! (6)

20%

Naja. (5)

8%

Gut. (2)

8%

Schlecht! (2)

0%

Sehr gut!

Hallo Community,

nachdem ich vor kurzem hier einen Thread gelesen habe, in dem es kurz darum ging, wie man binär Daten entschlüsselt, habe ich mir gedacht, man könnte doch einen Wettbewerb daraus machen, ein unbekanntes Dateiformat zu entschlüsseln, einen Importer dafür zu schreiben, und evtl. eine Spezifikation. Nach Absprache mit David, mache ich hier jetzt eine Umfrage, wie ihr dazu steht.

Zum Ablauf:
Der Wettbewerb besteht wie gesagt darin, möglichst viel des unbekannten Dateiformats zu entschlüsseln. Es wurde schon ein Konverter geschrieben, ein Exporter, und ein Importer. Ziel wird es sein einen möglichst schnellen Importer zu schreiben, und in einer Spezifikation zu nennen, wie man den Aufbau des Formates einschätzt. Um Reverse-Engineering auszuschließen, werden wahrscheinlich konvertierte Modelle und deren Ausgangsdateien zum Download angeboten (voraussichtlich 3 - 5). Man kann also eine Known-Plaintext-Attacke ausführen. Alle Lösungen werden an eine E-Mail-Adresse geschickt, und werden dann ausgewertet. Der Konverter wurde oft genug getestet, um davon auszugehen, dass sich durch ihn keine Fehler einschleichen. Importiert werden kann das Format auch schon vollständig. Zum Schluss wird das Format zusammen mit dem Konverter, und dem Musterimporter (der nicht der schnellste ist, aber funktioniert), veröffentlicht. Worum es sich genau bei dem Format handelt, wird bei Wettbewerbsbeginn näher beschrieben. Voraussichtlich wird der Wettbewerb 2 - 3 Wochen dauern. Ein Abschlussbericht kann auch geschrieben werden.


Ich persönlich fände so etwas ganz interessant, einmal "Hacker" zu spielen. Nun seid ihr gefragt!


Liebe Grüße,
~ EuadeLuxe ~

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

21.10.2013, 18:20

Meh.
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]

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

3

22.10.2013, 10:01

Als Wettbewerbsaufgabe klingt das nicht sonderlich interessant. Wie das Dateiformat für einen solchen Wettbewerb aussieht hängt sehr stark von der Person, die sich dieses Format überlegt, dem Grad der Erfahrung dieser Person und dem Inhalt, der damit gespeichert wird. Das heißt, dass das Format entweder sehr zweckgebunden ist und man dadurch relativ einfach darauf kommt, wie der Aufbau des Formats ist, dass das Format künstlich durch Anpassungen in der Komplexität erhöht wird, die in einem normalen Dateiformat völlig unsinnig sind oder dass bspw. Verschlüsselung eingebaut wird, die bei normalen Dateiformaten zwar grundsätzlich auch verwendet werden könnte, die den Schwerpunkt vom Analysieren eines Dateiformats sehr stark in Richtung Knacken eben genau dieser Verschlüsselung verlagern würde.

Ich kann BlueCobold in seinen äußert ausführlichen Ausführungen an dieser Stelle nur zustimmen. Es ist nicht besonders wahrscheinlich, dass der Wettbewerb (wohl vor allem für etwas erfahrenere unter uns) wirklich interessant werden würde.


@EuadeLuxe:
Wenn du "Hacker spielen" willst, dann könntest du dir doch einfach diverse Verschlüsselungsverfahren angucken und gucken, wie diese gehackt werden könnten. Oder du versucht diverse Formate reverse zu engeneeren, wie bspw. eins der Office-Formate (als Übung, versteht sich, da jemand anderes das ja bereits gemacht haben dürfte, wodurch die Formate auch von anderen Programmen genutzt werden können).
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

22.10.2013, 11:11

Wahlweise ein Crackme. Oder mehrere. Jemand erstellt ein paar Programme, die einen speziellen Output generieren. Und dann geht's darum an diesen Output zu gelangen. Je mehr man knackt, desto besser. Ist halt nur relativ viel Aufwand die zu erstellen. Wahlweise natürlich auch ein zweistufiger Wettbewerb:
1.a) Jeder Teilnehmer erstellt ein Programm, welches irgendwie Output erzeugt (als File oder in der GUI angezeigt) und versucht diese vor Eingriffen zu schützen.
1.b) Das Programm wird eingereicht.
2) Jeder Teilnehmer versucht an den Output möglichst vieler Programme zu gelangen.
3) Punkte gibt es anhand der Anzahl selbst geknackter Programme und für jeden Teilnehmer, der das eigene Programm nicht knacken konnte. Schreibt man selbst also ein Monster und knackt alle anderen, gewinnt man ;) Schreibt man Müll und knackt alles, steht man genauso gut/schlecht da wie jemand, der einen Safe schreibt und selbst nichts geknackt bekommt.

Sicherlich schwierig, aber für mich deutlich interessanter als wild in einer Datei zu spekulieren, was wohl was bedeuten könnte.
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]

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

5

22.10.2013, 13:48

BlueCobolds Vorschlag würde mir gefallen.
Wobei ich befürchte, dass hauptsächlich eine Sache der zur Verfügung stehenden Zeit ist, dann auch welche zu knacken.

Man sollte noch eine Maximalgröße für das Programm festlegen. (zb. 16kb)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

22.10.2013, 13:59

Eine Maximalgröße ist zwar sicher irgendwo sinnvoll, damit nicht einfach nur 15MB Müll-Daten als Obfuscation benutzt werden können, aber ich würde es größer fassen, damit auch C#/Java Anwendungen eingereicht werden können, die von vornherein ja gern mal größer sind.
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]

7

22.10.2013, 17:39

Auch eine ziemlich gute Idee. Aber dann gilt es eine Spielregel aufzustellen: Verschlüsselungen, wie etwa RSA, und co. sollten nach Möglichkeit nicht verwendet werden. Ich würde darauf abstimmen, dass das ein einfaches Dateiformat ist, und man sich erschließen muss, um was es geht. Natürlich könnte man RSA und co. erlauben, aber ich denke nicht gerade, dass das dann noch einer knackt. Außerdem sollte evtl. bekannt sein, welche Form von Output erstellt wird. Evtl. eine Modell-Datei, oder ein Level-File, was auch immer.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

22.10.2013, 17:41

Erm. Der Output sollte einfach nur ein lesbarer Text sein. Man muss nicht den Output knacken, sondern das Programm dazu bringen, dass es den Output raus rückt oder anderweitig rausbekommen, was es eigentlich ausgeben sollte. Etwas ganz anderes also.
Eine Regel muss es natürlich definitiv geben: Das Programm ist standalone und lädt nicht online irgendwas nach.
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]

9

22.10.2013, 17:45

Okay, da habe ich dich falsch verstanden. Das Programm dazu zu bringen etwas rauszurücken ist etwas schwieriger. Soll der Code eine Möglichkeit enthalten, diese Funktion zu aktivieren (auf geheimnisvollem Wege) oder soll man den Speicher auslesen? Generell, wäre ich bereit einige Programme zu schreiben, das dürfte ich irgendwie hinbekommen. Eines habe ich ja schon.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

22.10.2013, 17:46

Tja, das wäre dann halt "echtes" Hacken. Disassemblen, analysieren, umschreiben, dumpen, Trainer schreiben, was auch immer. Sicherlich dürfte der Teilnehmerkreis dafür nicht allzu groß sein, da ich nicht glaube, dass das hier viele drauf haben. Allerdings muss das Programm natürlich auch überhaupt in der Lage sein den Output zu generieren - entweder indem das passende Lizenz-File beigelegt oder oder ähnliches. Wenn man natürlich ein Passwort macht, wäre spätestens bei RSA/AES natürlich Feierabend, auf den Key kommt ja doch wieder keiner.
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]

Werbeanzeige

Ähnliche Themen