Datenverschlüsselung

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Gerne doch. Das folgende Archiv enthält die Anwendung und die verschlüsselte Datendatei. Das Programm entschlüsselt diese Datei und lädt ein Bild in den Speicher, jedoch wird es nicht angezeigt. Aufgabe ist es mir den Inhalt dieses Bildes zu schildern bzw. mir die Datei mit exakten Namen und Grösse zukommen zu lassen.

http://codedreality.purearea.net/temp/CrackME.rar
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Fluid Byte hat geschrieben: Also um mal wieder aufs Thema zurückzukommen. Kann mir jemand einige Beispiele oder Techniken zeigen dir mir helfen mich ein wenig in die Materie einzuarbeiten? Ich meine ich will nicht nörgeln aber alles was ich höre ist "nur ein Frage der Zeit", "nichts ist uncrackbar", etc. und das bringt mich nicht weiter.
Naja der Trick ist ja das eben nicht jeder weis wies geht. Viele Leute veröffentlichen ihre Techniken nicht. Aber ich denke das könnte dir weiterhelfen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Fluid Byte hat geschrieben:Gerne doch. Das folgende Archiv enthält die Anwendung und die verschlüsselte Datendatei. Das Programm entschlüsselt diese Datei und lädt ein Bild in den Speicher, jedoch wird es nicht angezeigt. Aufgabe ist es mir den Inhalt dieses Bildes zu schildern bzw. mir die Datei mit exakten Namen und Grösse zukommen zu lassen.

http://codedreality.purearea.net/temp/CrackME.rar
Also Name ist Gayts0.bmp und Größe könnte 247678 Bytes sein. Bin mir jetzt aber nicht sicher muss mich jetzt ins Bett legen, werde morgen versuchend das Bild zu extrahieren.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Thorium hat geschrieben:Naja der Trick ist ja das eben nicht jeder weis wies geht. Viele Leute veröffentlichen ihre Techniken nicht. Aber ich denke das könnte dir weiterhelfen.
Joa, macht auch Sinn und ich stimme voll und ganz zu aber es gibt ja nun mal diverse Basics die man kennen sollte um darauf aufzubauen. Wie auch immer, der Artikel is interesant. Werd mich mal einlesen.
Also Name ist Gayts0.bmp und Größe könnte 247678 Bytes sein. Bin mir jetzt aber nicht sicher muss mich jetzt ins Bett legen, werde morgen versuchend das Bild zu extrahieren.
Name und Grösse stimmen schon mal aber das kann man ja leicht ausm' Arbeitsspeicher z. B. mit HxD lesen. Auf jeden Fall viel Spass beim testen, hoffe du bist nicht all zu schnell fertig. Bild

PS: Ich liebe diesen tanzenden Affen. Ist der aus Monkey Island?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Done :mrgreen:

Musste das doch noch machen bevor ich mich schlafen lege. ^^
http://www.gametreasure.de/Temp/Gayts0.bmp

Hab so schnell gemacht wie ich konnte. Als Tool lediglich den guten alten OllyDbg.

Edit: Ja der tanzende Affe ist aus Monkey Island. :mrgreen: Ich hab davon auch noch ne längere Animation aber die ist zu groß für das Forum hier.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Thorium hat geschrieben:Done :mrgreen:

Musste das doch noch machen bevor ich mich schlafen lege. ^^
http://www.gametreasure.de/Temp/Gayts0.bmp
Verrecken sollst du! Das ging viel zu schnell... Bild

Aber mal im Ernst. Eigentlich ist mein Vorhaben doch kompletter Schwachsinn. Warum? Tja, wieso die Anwendung patchen, den Schlüssel rausfinden oder sogar die verschlüsselte Datei separat malträtieren wenn die Bilder, Sounds und andere Ressourcen sich eh nackt im Speicher befinden?

Ich gehe doch recht in der Annahme das du keine Schlüssel geknackt hast sondern das Bild einfach aus dem Speicher extrahiert hast oder? Wenn dem so ist dann würde doch das ganze verschlüsseln ja gar nichts bringen. Ist das gleiche als wenn ich z. B. ein Bild normal von der Pladde als Sprite in PB lade. Somit muss man wohl die Datei im Speicher verschlüsselt lassen oder ein spezielles Format entwickeln.
Thorium hat geschrieben:Hab so schnell gemacht wie ich konnte. Als Tool lediglich den guten alten OllyDbg.
Was genau hast du gemacht? Detailierte Ausführung bitte. Ich hab zwar OllyDbg auf Pladde aber selten was "konstruktives" mit anfangen können.
Thorium hat geschrieben:Edit: Ja der tanzende Affe ist aus Monkey Island. :mrgreen: Ich hab davon auch noch ne längere Animation aber die ist zu groß für das Forum hier.
Kannste mir als Email oder PN schicken. Ich will diesen Affen haben und mich stundenlang dran ergötzen! Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

:lol:

Da hast Du recht... Versuch doch mal, eine verschlüsselte Resource darzustellen. :wink: Mal sehen wie Windows reagiert, wenn Du ihm als Image irgendwelchen Binärmischmasch vorgibst. Ohne Entschlüsselung wirst Du nicht weit kommen.

Oft wird versucht, Debugger zu erkennen und das Starten eines Programms bei laufendem Debugger zu verhindern, um oben beschriebene Vorgehensweise zu verhindern. Aber wie gesagt: Man kann nicht umsonst Geld mit Schutzmechanismen verdienen. Wenn das so einfach wär, würde kein Mensch dafür bezahlen.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Fluid Byte hat geschrieben: Ich gehe doch recht in der Annahme das du keine Schlüssel geknackt hast sondern das Bild einfach aus dem Speicher extrahiert hast oder?
Richtig.

Habe dein Programm mit OllyDbg gestartet und dann erstmal geschaut ob interessante Strings gibt. Da ist mir sofort der String "DATA.PAK" ins Auge gestochen. Also Referenzen zu dem String ausgeben lassen und Breakpoint draufgesetzt um schonmal vermeindlich in die Nähe der Entschlüsslung zu kommen.

Das Programm hab ich dann einfach Laufen lassen (F9) und schwups war ich im Code da wo die DATA.PAK eingelesen wird. Von dort aus bin ich dann im Single-Step-Modus (F7/F8 ) durch den Code gesteppt und habe den Stack beobachtet bis dort was interessantes auftaucht. In diesem Fall war das der String "Gayts0.bmp". Weiter gesteppt bis eine weitere Zahl auf den Stack gepusht wurde, die interessant war, das war die 247678, die Größenangabe, wie ich vermutete. Beides schonmal notiert und weitergesteppt bis wieder ne Zahl auf dem Stack erschien, die eine Speicheradresse sein könnte. Also einfach mal in der Memory-View an die Adresse gesprungen. Da waren dann irgendwelche Daten. Breakpoint auf das erste Byte dieser Daten gesetzt. Programm mit F9 laufen lassen. Schwups war ich bei der Entschlüsslungsschleife, also war meine Annahme richtig. Dann noch schnell einen Breakpoint hinter die Entschlüsslungsschleife gesetzt. Und wieder laufen lassen. Zack Olly hält das Programm wieder an und ich sehe auch schon das dort wo nur Kauderwelsch stand nun ein BMP-Header zu erkennen ist. Also einfach vom ersten Byte die nötige Anzahl an Bytes rauskopiert und mit nem Hexeditor eine neue Datei damit erstellt. Fertig.

Du siehst ich habe weder irgendetwas patchen müssen noch wirklich verstehen müssen wie deine Verschlüsslung funktioniert. Man muss nur Annahmen machen und seine Breakpoints richtig setzen.

Als Verbesserung kann ich dir vorschlagen alle Strings zu verschlüsselt in der .exe zu haben. Dann wäre ich schonmal nicht ganz so schnell zum Code gekommen der die Datei einliest. Ausserdem am besten keinen Dateinamen für das Bild verwenden. Dann hät ichs auch schwerer gehabt.

Edit: Bild Viel Spaß damit. :D
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

So mein lieber Freund und Kupferstecher! Ich habe deine Tipps beherzigt und ein zweites CrackME gebastelt. Wenn du so nett wärst und es nochmal probieren könntest?

Vielleicht brauchst du ja diesmal keine 25 Minuten, sondern sogar 30... :freak:

http://codedreality.purearea.net/temp/CrackME_v02.rar
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Fluid Byte hat geschrieben:Wenn du so nett wärst und es nochmal probieren könntest?
Gerne, werde mich morgen mal drannsetzen, muss gleich erstmal zur Nachtschicht. :(
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten