Entwickler-Ecke
Sonstiges (Delphi) - Mal wieder ein CrackMe
n-regen - Fr 03.04.09 17:37
Titel: Mal wieder ein CrackMe
Hallo!
Ich habe ein Programm geschrieben, dass eigentlich nur funktionieren sollte, wenn man es vorher aktiviert.
Könnt ihr bitte versuchen, die Aktivierung zu umgehen und mir, wenn ihr erfolgreich seid, Bescheid geben?
FinnO - Fr 03.04.09 17:44
das ist irgendwie... schwachsinn? n Keygen und das dann hackItCrackMe nennen...
n-regen - Fr 03.04.09 17:54
Wo siehst du da einen Keygen?
FinnO - Fr 03.04.09 17:55
naja irgendwas wirst du ja mit dem Key machen, den ich dir schicke... und ich vermute mal, du hast ein Keygen, der dir aus dem Key nen anderen rechnet, den geb ich dann ein und dein Programm generiert mir einen spezifischen key?
Jakob_Ullmann - Fr 03.04.09 18:00
Nun, also es ist nicht gerade so, dass ich zu viel Zeit hätte. :lol:
Und ich schätze mal, dass es nicht soo viele gibt, die das mal "aus langer Weile" versuchen, zu cracken. ^^
n-regen - Fr 03.04.09 18:18
FinnO hat folgendes geschrieben : |
| naja irgendwas wirst du ja mit dem Key machen, den ich dir schicke... und ich vermute mal, du hast ein Keygen, der dir aus dem Key nen anderen rechnet, den geb ich dann ein und dein Programm generiert mir einen spezifischen key? |
Genau.
Jakob_Ullmann hat folgendes geschrieben : |
Nun, also es ist nicht gerade so, dass ich zu viel Zeit hätte. :lol:
Und ich schätze mal, dass es nicht soo viele gibt, die das mal "aus langer Weile" versuchen, zu cracken. ^^ |
Es gibt hier im Forum einige, die (selbst, wenn sie nicht danach gefragt werden) mit Kanonen auf Spatzen (vielmehr: mit Disassemblern auf CrackMes und andere Programme) schießen.
Und ich möchte halt wissen, welche Schwachstellen mein Programm hat, damit ich sie entfernen kann und niemand eines meiner geschützten Programme hernimmt, ohne dass ich es will.
EDIT: Ich sollte vielleicht noch anmerken, dass geschützte Programme bei mir zwar eine Ausnahme sind, aber eben trotzdem sicher sein sollen.
Gausi - Fr 03.04.09 18:23
Ich weiß zwar nicht, wie du das gemacht hast, und habe davon auch keine Ahnung, aber falls du eine Abfrage in der Form
Delphi-Quelltext
1: 2: 3: 4:
| if komplizierterCode = richtig then execute Application else halt; |
drin hast, dürfte der eine oder andere hier im Forum das innerhalb einer Minute erledigt haben. ;-)
GTA-Place - Fr 03.04.09 18:50
FinnO hat folgendes geschrieben : |
| naja irgendwas wirst du ja mit dem Key machen, den ich dir schicke... und ich vermute mal, du hast ein Keygen, der dir aus dem Key nen anderen rechnet, den geb ich dann ein und dein Programm generiert mir einen spezifischen key? |
Du hast da was falsch verstanden. Du sollst eben genau dieses Prozedere umgehen ;-)
Achja, das Programm gibt eine Meldung in grün aus :-P Zwei Jumps patchen: Einer, damit das Programm die Ini anlegt, der zweite, damit die Ini akzeptiert wird.
JayEff - Fr 03.04.09 19:29
GTA-Place hat folgendes geschrieben : |
| Achja, das Programm gibt eine Meldung in grün aus :-P Zwei Jumps patchen: Einer, damit das Programm die Ini anlegt, der zweite, damit die Ini akzeptiert wird. |
:motz: ich bin nur an den einen Jump in A gekommen... Ich hab grad erst mal versucht irgendwie zu verstehen, wie OllyDbg funktioniert... Die Meldung "Das Programm ist jetzt aktiviert" hab ich bekommen :zustimm:
...Ah, jetzt hab ich's auch, die grüne Schrift, zweiter Jump ist bei B ... Wobei ich auch anders hätte sagen können. Strings stehen in Klartext in der Exe und ich hätte den Text *text* Copy-Pasten können :(
A, B und *text* steht in lösung.txt, ich will ja niemand den Spaß verderben :zustimm:
Das war eine lustige Übung, mal OllyDbg kennen zu lernen :)
Cypher2000 - Fr 03.04.09 19:35
Mit Cheat Engine 5.5 direkt aus dem Speicher gelesen ^^
//edit:
oh man habs eben geschafft aber vergessen wie xD
Marc. - Fr 03.04.09 19:36
Jepp. Einmal an der Stelle $00488A24 und $00488ADA. :)
Wobei bei mir keine ini erstellt wird. Sollte doch eigentlich, oder? :gruebel:
JayEff - Fr 03.04.09 19:58
JayEff hat folgendes geschrieben : |
| A, B und *text* steht in lösung.txt, ich will ja niemand den Spaß verderben :zustimm: |
Marc. hat folgendes geschrieben : |
| $00488A24 und $00488ADA. |
Damit und mit Cypher's Screenshot hat sich das dann erledigt :mrgreen:
Wobei ich 00488D61 hatte, statt 00488A24 :gruebel:
F34r0fTh3D4rk - Fr 03.04.09 21:36
Bei mir erstellt er die .ini, aber die braucht man ja nicht :mrgreen:
n-regen - Sa 04.04.09 14:22
Somit wäre die Frage nach der Schwachstelle geklärt.
Bleibt die Frage: Kann man irgendwie verhindern, dass ihr die Überprüfung aushebelt?
platzwart - Sa 04.04.09 14:59
Nein. Man kann so etwas nur erschweren, aber wer es knacken will, bekommt es auch hin. Wie ich immer sage: Man sollte sich als Programmierer die Frage stellen, ob man das eigene Programm wirklich so stark "verbunkern" will, schließlich muss man den Quelltext warten und je mehr man einbaut desto mehr mögliche Fehlerquellen... Verwende lieber deine Zeit zum optimieren deines Programms, denn wenn es wirklich gut ist werden auch ausreichend viele bezahlen...
Dunkel - Sa 04.04.09 15:01
n-regen hat folgendes geschrieben : |
| Bleibt die Frage: Kann man irgendwie verhindern, dass ihr die Überprüfung aushebelt? |
Kurz und knapp: nein!
Man kann es "Crackern" schwerer machen ("wilde" Sprünge im Programmcode, jede Menge unnützer Pseudo-Code, mit
DebuggerIsPresent (oder so ähnlich) abfragen, ob das Programm gerade in einem Debugger läuft und dann sofort abbrechen, wichtige Berechnungen in einen USB-Dongle auslagern, etc. p.p.), cracken lässt sich aber jedes Programm und jede noch so gut geschützte Hardware (siehe auch den ewigen Kampf der Spielekonsolen-Hersteller gegen die Raubkopierer; Sony und Co. geben wirklich jede Menge Geld für diesen Zweck aus, meistens ist es aber nur eine Frage der Zeit).
Regan - Di 07.04.09 11:16
Ich würde gern mal die Frage anders herum stellen: Wie kann man dieses cracken lernen? Ich habe ja schon ollydbg, aber kann irgendwie nichts damit anfangen. Natürlich brauche ich das nur für private Zwecke :wink: .
BenBE - Di 07.04.09 11:22
Beschäftige dich mit den Grundlagen, wie ein Programm intern abläuft. Zudem solltest Du auf jeden Fall ASM können. Jetzt noch kreativ denken, um ein bestehendes Binary so zu ändern, dass es etwas anderes tut, und es fehlt nur noch die tiefe Kenntnis wie bei Windows bestimmte Dinge geregelt werden (SEH, TLB, PCB, ...) Das ganze garniert mit "Dissably fließend lesen können" und GANZ viel Übung.
Regan - Di 07.04.09 11:50
BenBE hat folgendes geschrieben : |
| Beschäftige dich mit den Grundlagen, wie ein Programm intern abläuft. Zudem solltest Du auf jeden Fall ASM können. Jetzt noch kreativ denken, um ein bestehendes Binary so zu ändern, dass es etwas anderes tut, und es fehlt nur noch die tiefe Kenntnis wie bei Windows bestimmte Dinge geregelt werden (SEH, TLB, PCB, ...) Das ganze garniert mit "Dissably fließend lesen können" und GANZ viel Übung. |
Hab ich doch schon alles :wink: :P. Gut, dann lass ich das mal lieber.
dekoepke - So 26.06.11 15:19
Langweilig :dance2:
Quelltext
1: 2: 3: 4: 5:
| Mit dem Namen Mattias und dem Aktivierungscode 35e4fa876b0f709a1a825016c92aca07 klappts ;) |
Mit OllyDbg weniger als 5 minuten ;)
lg Mattias ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!