| Grundlagentutorial zum Thema |
Das wohl größte Problem eines Newbiez ist es wohl erst mal den Anfang des Seils zu finden, an dem man sich langziehen kann, um möglichst effizient viel Wissen zu erlangen. Dieses Tutorial soll helfen diesen Anfang zu finden, vielleicht an Stellen, von denen man es nicht erwartet hätte. Es soll darlegen, in welche Bereiche man beim Cracken eintauchen wird und gleichzeitig eine Abschreckung sein für alle, die keine Lust haben viel zu Lesen oder aus zeitlichen Gründen nicht ganz bei der Sache sein können. Für diese Herrschaften ist das Tutorial hier bereits zu Ende, es sollte jedem klar sein, dass man nicht einfach in 5 Minuten Cracken lernt und man auch als erfahrener Cracker immer wieder auf neues unbekanntes Terrain stößt, dass erforscht werden muss.
Alle, die sich nicht scheuen, den "Pfad des Lernens" zu betreten freuen sich mit mir auf das erste Tutorial, dass Euch helfen wird den Überblick über alles zu erhalten.
|
|
| Cracken, wieso und warum? |
Ein heikles Thema, dass ewig Konfilktpunkt sein wird. Und auch hier die Frage, was war zuerst da, das Huhn oder das Ei? Der Kopierschutz oder der Cracker? Die Frage ist leicht zu beantworten, natürlich der Kopierschutz, da sonst der Cracker nichts zu tun hätte. Der Cracker verdankt seine Existenz dem Raubkopierer, eine Person, die Software stielt, um sie für sich selbst und/oder andere kostenlos verfügbar zu machen. Um Programme zu schützen, wurden daher die Kopierschütze entwickelt, die heute in vielen unterschiedlichen Variationen vorhanden sind. Seit der Existenz des Kopierschutzes existiert allerdings auch das Bestreben, diesen zu manipulieren, zu täuschen, zu umgehen. Cracker erlangen Wissen über Softwaremechanismen, die es verhindern, dass ein Programm verbotenerweise kopiert wird. Dieses Wissen gibt ein gutes Gefühl, es erfüllt den Geist, man ist in der Lage kommerzielle Protektionen außer Kraft zu setzen.
Natürlich ist klar, der Cracker macht sich strafbar durch das Manipulieren der Software. Das sollte an dieser Stelle ebenfalls jedem bewusst werden. Wer kommerzielle Software crackt, sogar wer Freeware manipuliert, begeht ein Verbrechen. Die Ausnahme bilden hier lediglich eigens für diesen Zweck entwickelte Crackmes, die mit legalen Freewaretools bearbeitet werden dürfen.
Warum crackt man nun also? Ist es allein das Wissen? Oder vielleicht doch auch das gute Gefühl, das den Geist stärkt, das auch die Wirbelsäule des derbsten Außenseiters "entkrümmt", sein Ego stärkt? Fragt Euch selber... Ist es das "prickelnde" Erlebnis etwas verbotenes zu tun in einem Bereich in dem Versuche ihn gesetzlich zu kontrollieren immer wieder scheitern, bzw. nur kleine Erfolge zu sehen sind? Wollt Ihr durch Euer Bemühen den Kapitalismus aufhalten? Indem ihr kleinen Sharewareprogrammierern das Leben schwer macht und ihre 7,60€ Programm crackt? Seid Ihr Anhänger der OpenSource-Bewegung und hofft durch Cracken dazu beitragen zu können, das Microsoft, Symantec oder Macromedia es endlich einsehen und es nur noch Windows, Norton Utilities und Fireworks zum Selberkompilieren gibt?
Ich kann, will und muss diese Frage nicht beantworten, denn sie geht an Euch, an diejenigen, die das hier jetzt lesen... Klärt dies mit Euch, bevor ihr weitermacht, ansonsten wird euch diese Frage ewig verfolgen...
Cracken ist nicht einfaches Wissen, Cracken ist eine Philosophie, eine eigene Welt, in der verschiedenste Menschen aufeinanderprallen. Gebt jedoch den Gedanken auf, alle Menschen hätten die gleichen Chancen in dieser Welt zu leben. Computer ziehen zwar in mehr und mehr Haushalte ein, trotzdem sind die Anschaffungskosten dafür und die Internetkosten nicht für alle Schichten gleichermaßen zu tragen. Vorbei ist es mir der Chancengleichheit...
Wer wirklich einsteigt kann sich freuen auf ein riesiges Arsenal von Literatur, auf den IRC und die Leute, die er dort treffen wird. Boards, nochmehr Tutorials, Internetbekanntschaften, Artcrews, WebCrews, 0dayScene, dies alles sind Bereiche, in die man eintauchen könnte.
Und wieder der Hinweis: Wer es hier nicht mehr aushalten kann endlich das erste Programm gecrax0rt zu haben, der ist falsch oder sollte nicht so viel Kaffe trinken.
Trotz alledem möchte ich Euch nun etwas detaillierter zeigen, was für Dinge ihr lernen/beherrschen werdet.
|
|
Ist euch eigentlich bewusst, dass man ein Zahlensystem zu jeder beliebigen Basis aufbauen könnte? "häääh?" ;) Wir rechnen im 10er-System, die Basis unseres Zahlensystems ist 10. Wir könnten aber auch zur Basis 8, 16 oder 27 zählen oder zu einer anderen euch bekannten zahl. Alle Systeme, die mit einer Basis >10 arbeiten benötigen jedoch zusätzliche Ziffernzeichen, da wir im 10er System ja nur 10 verschiedene Ziffern kennen. Üblicherweise bedient man sich daher noch der Buchstaben, angefangen beim "a".
Hexadezimales System:
Fast alle Zahlen, denen man beim Cracken begegnen wird sind hexadezimal angegeben, also im Zahlensystem zur Basis 16. Dazu sollte man als erstes vielleicht hexadezimal Zählen lernen:
1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,20.....
Wie ihr seht bedient man sich der ersten Buchtaben des Alphabetes, um die fehlenden Ziffern darzustellen.
Binäres Zahlensystem:
Das hat wohl jeder schon mal gehört, jeder weiß, dass ein Computer auf Binärebene arbeitet, da man mit 0 und 1 wunderbar einen Zustand beschreiben kann, nämlich an/aus, bzw. Strom/kein Strom. Die Grundlage, wie die kleinste Einheit eines Prozessors arbeitet. Eine "1" fast man als gesetzes BIT auf, eine "0" als nichtgesetztes Bit.
Im binären System gibt es also nur die Ziffern 0 und 1. Zahlen sehen beispiels weise so aus:
1011
Natürlich ist die jetzt nicht "Tausendundelf". Wir befinden uns im binären System und muessen die Zahl ins uns vertraute 10er-System transformieren, die geht folgendermaßen:
^ = "potenziert", "Hoch"
2^0 = 1 2^1 = 2 2^3 = 8 ----------- 1+2+8 = 11
Alle gesetzen Bits des Binärwertes muessen von rechts mit den entsprechenden 2er-Potenzen potenziert werden, beginnend bei 2^0, was per Definition immer "1" ist. Anschließend werden die so gebildeten Werte addiert und man erhält das Ergebnis im 10er-System. Möchte man eine beliebige Zahl als Binärwert schreiben so kehr man den Vorgang um, man probiert, welche höchste 2er-Potenz in die Zahl "passt". Beispiel "83"
83:
2^7 = 128, zu groß 2^6 = 64, passt
für die 2^6 schreiben wir eine "1" und rechnen 83-64, um festzustellen, welchen Rest wir haben = 19
Dann suchen wir wieder nach der größten 2er-Potenz, die in den Rest passt.
2^4 = 16, passt.
Doch jetzt Vorsicht, wir dürfen jetzt nicht gleich wieder eine "1" an die Zahl schreiben, da wir ja sonst alle anderen 2er-Potenzen, die wir jetzt ausgelassen haben außer Acht lassen würden.
Für jede ausgelassene 2er-Potenz muessen wir daher eine "0" schreiben, und erst dann die "1" für 2^4.
Unsere Zahl sieht als bis jetzt so aus:
101
Aus 19-16 erhalten wir den Rest = 3
Auch hierzu suchen wir die größte passende 2er-Potenz = 2^1 = 2; Für jede ausgelassene Potenz schreiben wir wieder ein nicht gesetztes Bit, also eine "0", für die 2^1 anschließend eine "1".
101001
Den letzten Rest = 3-2 = 1 erhalten wir mit 2^0 = 1 und schreiben abschließend noch ein gesetztes Bit für 2^0 an die Binärzahl.
Das Ergebnis lautet also: 1010011
Eine eindeutige Beobachtung ist, dass je größter die Basis des Systems ist, desto kompakter kann man auch große Zahlen schreiben, wärend der Binärcode auch bei geringen Werten schon viel "Platz verbraucht".
Glücklicherweise muss man die Umrechnungen von dezimal nach binär oder von dezimal nach hexadezimal (natürlich geht das auch) nicht immer selber berechnen. Sogar der Windows-Taschenrechner kann dieses für uns übernehmen.
|
|
Wie soll ein Computer Schriftzeichen behandeln können, wenn er doch nur in der Lage ist mit Binärzahlen zu arbeiten? Er hat nur eine Lösung, er muss jedem Zeichen eine Zahl zu ordnen in binärer Form, jedes Zeichen erhält seinen individuellen Binärcode, beginnend bei dezimal 0 und endend bei dezimal 255, bzw. hex beginnend bei 0 endend bei FF. Oder Binär: geginnden bei 00000000 endend bei 11111111. Euch ist vielleicht aufgefallen, dass ich alle "0" hingeschrieben habe. Prinzipiell besteht zwischen 0, 0000 und 00000000 auch kein Unterschied, jedoch ist es wegen der Übsicht leichter die "führenden Nullen" auszuschreiben. Im Ascii-Zeichensatz sind nicht nur für Menschen lesbare Zeichen kodiert. Auch der Zeilenumbruch, der Tabulator, Backspace und wie alle Sonderzeichen und -Tasten auch heißen mögen, alle sind im Ascii-Zeichensatz kodiert. Jede Tastatur beherrscht den vollen Ascii-Zeichensatz.
Es ist wichtig zu wissen, dass es diesen Code gibt, da man Buchstaben beim Cracken oftmals in Form von Zahlen begegnet, eben ihrem Ascii-Code.
|
|
Patchen: Unter patchen versteht man ein Programm so zu manipulieren, dass der eigentliche Kopierschutz oder das durch eine Testversion gesetzte Limit umgangen wird. Beispielsweise können bei Demos von Adressbüchern manchmal nur 20 Einträge gemacht werden, durch den Patch können es dann beliebig viele werden. Oder es ist ein zeitliches Limit gesetzt, was dazu führt, dass das Programm nur 30 Tage arbeitet, etc.
Keygennen: Testversionen besitzen oft die Möglichkeit in Vollversionen umgewandelt zu werden, indem man einen aus dem eingegebenen Namen oder sonstigen Daten einen Registriercode berechnet. Der Anwendet registriert sich also und erhält einen zu seinen Daten passenden Freischaltcode. Das Programm führt die Berechnung des Freischaltcodes ebenfalls durch und vergleicht diesen dann mit dem vom Anwender eingegebenen. Der Cracker versucht nun, den Algorithmus dieser Berechnung zu finden und zu verstehen. Anschließend programmiert er ein kleines Program, genannt Keygenerator bzw. Keymaker, der das gleiche macht, wie auch das Programm, mit dem Unterschied, dass der richtig berechnete Freischaltcode anschließend ausgegeben wird und das Programm somit freigeschaltet werden könnte.
Eng damit verwandt sind Keyfiles. Dies sind Dateien, in denen die Registrierungsdaten stehen. Das Programm testet dieses keyfile auf Gültigkeit und läuft im Falle einer gültigen Registrierungsdatei auch im registrierten Modus. Der Cracker kann einen Keyfilemaker schreiben, der im Prinzip genauso arbeitet wie der Keygen, nur anschließend eine Datei ausgibt, das keyfile.
Die einfachere Variante hierbei heißt "Serial sniffing". Dies bedeutet nichts anderes, als dass man versucht eine gültige Serial zu finden, auf den Keygen allerdings verzichtet. Oftmals ist dies eine der schnellsten aber auch langweiligsten Methoden. Dennoch geht es manchmal nicht anders, da auch heute oftmals Serials noch "hardcoded" sind. Dies bedeutet, dass überhaupt kein Algorithmus vorhanden sind, sondern der eingegebene Freischaltcode mit einem verglichen wird, der fest in das Programm integriert ist.
Der Vorteil beim Serial sniffen, Keygennen oder bei Keyfiles besteht darin, dass man das eigentliche Programm nicht verändern muss. Dies ist erstens eleganter und zweitens begeht man ein Verbrechen weniger, da das Programm nicht direkt manipuliert wird. Keygens sind höher angesehen, da oftmals ein ganzes Stück mehr Arbeit dazu gehört den Algorithmus zu verstehen und nachzucoden.
Unpacking: Ein immer beliebterer Schutz gegen Patching ist das Pacen von Programmen. Das funktioniert im Prinzip genau, wie das Packen von Dateien mit Winzip, allerdings wird das Programm zur Laufzeit in den Arbeitsspeicher entpackt und anschließend ausgeführt. Wie das genau funktioniert könnt ihr in speziellen Unpacking-Tutorials nachlesen. Gepackte Programm kann man allerdings nicht patchen ohne sie vorher wieder zu entpacken, um die Originaldatei zu erhalten. Unpacking ist eines der kompliziertesten Themen, da es sehr viel Wissen über den Aufbau einer *.exe-Datei erfordert, Stichwort "Portable Executeable" - Format, kurz PE-Format. Eine Ausnahme bildet hier das Inlinepatching, eine sehr elegante Variante des Patchens. Kurz gesagt wartet man, bis das Programm in den Arbeitsspeicher entpackt wurde und macht die Patches, die man sonst in der exe-Datei selbst gemacht hätte im Arbeitsspeicher. Dies geht entweder über ein eigens geschriebenes Programm, dass das Target lädt und patcht, genannt "Loader", oder über einen Inlinepatch, der direkt mit in das Programm eingebaut wird.
Spiele: Da dies die beliebtesten Opfer sind, sind die Kopierschütze hier in der letzten Zeit verstärkt überarbeitet worden. Als Newbie hat man hier keine Chance und muss sich eine ganze Weile gedulden. Kommerzielle Protections wie Laserlok, Safedisc und wie sie alle heißen verhindern, dass jeder Anfänger sofort eine Raubkopier erstellen kann.
|
|
Es gibt Unmengen an Tools, von denen viele nur für spezifische Sachen zu gebrauchen sind. Es gibt allerdings eine gewisse Grundausrüstung, die man immer wieder benötigt. Dazu zählen ein Disassembler, ein Debugger, und ein paar Tools, die Monitoring oder Analyse betreiben. (Registry beobachten, Dateizugriffe überwachen, etc.)
Diese Tools dürften für die meisten Newbiez absolutes Neuland sein, womit allerdings jeder rechnet :)
Assembler:
Assembler ist eine Low-Level-Programmiersprache. Low-Level deswegen, weil sie keine vorgefertigten Konstrukte wie eine "For-Schleife" oder ähnliches kennt, sondern alles von Hand und mit Assembler-Befehlen realisiert werden muss. Low-Level auch deswegen, weil sie wesentlich näher am Prozessor arbeitet. Denn dieser kennt nur Assembler. Alles, was ein Prozessor wirklich kann ist eine in binär kodierte Anweisung zu erhalten und diese auszuführen. (dies soll nicht herabwürdigend gemeint sein)
Ein Compiler einer beliebigen Programmiersprache "übersetzt" eigentlich "nur" die für Menschen besser lesbare Hochsprache in für den Prozessor besser verständliche Assembler-Anweisungen. Die Befehle der Assembler-Sprache sind kurze "sprachverstümmelte" Buchstabenfolgen, die irgendwie immernoch Sinn machen. Diese Befehle nennt man Mnemonics. Beispiele sind "mov, add, sub, div, idiv, loop, etc.". Diese Assembleranweisungen nimmt der Prozessor in Form von "Nullen und Einsen" zu sich. Wir können uns jedes beliebige Programm in der Assemblersprache anzeigen lassen. Jede Assembler-Anweisung hat seinen eigenen Code. Durchaus vergleichbar mit dem Ascii-Code. Und hier kommt der Disassembler ins Spiel. Dieses Programm ist in der Lage den kompletten Code eines Programms einzulesen, indem es einfach alles zurück nach asm dekodiert. Den Code für eine Assembler-Anweisung nennt man OperationCode, kurz OpCode.
Was wir erhalten, wenn wir ein Programm disassemblieren, ist ein verdammt langes Listing von Asm-Instruktionen. All diese Befehle muss der Prozessor ausführen, wenn wir das Programm starten.
Der Disassembler ist für uns wichtig, um interessante Codestellen zu finden. Um auf die alten Beispiele zurückzugreifen können wir beispielsweise mit dem Disassembler nach der Stelle suchen, wo das Programm vergleicht, ob wir gerade versuchen den 21. Eintrag ins Adressbuch zu tätigen, oder ob schon der 30. Tag der Testphase abgelaufen ist, und die Demo daher nicht mehr lauffähig ist. Wie dies im Einzelnen funktioniert und welche Funktionen bestimmte Disassembler haben erfahrt ihr in den Grundsatztutorials zu den Tools und in den Tutorials zu bestimmten Targets.
Der bei Newbiez bekannteste Disassembler ist WDasm. Dieser wird allerdings nicht mehr weiterentwickelt. Dennoch gibt es ein paar Patches, die von Usern entwickelt wurden und die Funktionen des Programms erweitern. IDA Pro ist dann die Profi-Alternative, allerdings meiner Meinung nach auch schwerer zu bedienen.
Ein sehr viel mächtigeres Tool ist der Debugger. Eigentlich wurden diese Programm dafür entwickelt, Fehler in bestehenden Programmen zu beseitigen, bzw. ihnen überhaupt auf die Spur zu kommen. Mit einem Debugger kann man zur Laufzeit eines Programms in dieses einsteigen und Schritt für Schritt, das heißt Assembler-Zeile für Assembler-Zeile mitverfolgen, was genau das Programm macht. Vielleicht versteht ihr jetzt schon, wie man Freischaltcodes findet oder ganze Algorithmen. Der Debugger kann noch sehr viel mehr. Er kann den Arbeitsspeicher des gerade debugten Programms anzeigen und durchsuchen und zeigt den Inhalt der Prozessorregister. Ihr versteht vielleicht noch nicht, wie mächtig dieses Tools ist, werdet dieses aber kennen und lieben lernen.
Die Meinungen über den besten Debugger spalten sich mehr und mehr. Die bisherige Profi-Varianten heißt SoftIce (SoftIce Driversuite 2.7), diese bekommt ständig mehr Konkurrenz von OllyDebug, zumal dieses Programm auch noch Freeware ist, SoftIce dagegen ein kommerzielles Programm ist. Ich selbst bin eingefleischter SoftIce-Vertreter und ich sehe auch keine großen Grund mich da umzugewöhnen. Aber das ist Geschmackssache.
DeDe: DeDe ist ein Komplettanalyse-Tool für mit Delphi entwickelte Programme. Mit DeDe kann jeder Delphi-Dialog angezeigt werden und die Einsprungsadressen der durch Buttons aufgerufenen Prozeduren herausgefunden werden. Ihr versteht wahrscheinlich noch nicht, warum das ungeheuer nützlich ist, aber ihr werdet es lernen.
Hexeditor: Ein kleines aber äußerst nützliches Tool ist ein normaler Hex-Editor, der vielleicht noch ein paar Extras hat. Mit diesem könnt ihr eure patches machen. Die nötigen Informationen habt ihr vielleicht vorher mit WDasm oder SoftIce herausgefunden, jetzt muesst ihr nur noch die Manipulation tätigen. Der Hexeditor zeigt euch die komplette Datei Byte für Byte an und zwar im hexadezimalen Format, daher der Name. Der Hexer Hiew ist in der Lage ein Programm auch in Asm-Anweisungen darzustellen, ist aber dafür noch auf Dosebene entwickelt. HexWorkshop oder WinHex glänzen mit vielen Extras und schöner GUI.
FileMon + RegMon: Diese beiden Programme überwachen Zugriffe eines beliebigen Prozesses auf die Windows-Registrierdatenbank und auf Dateien. Dies ist nützlich, wenn man beispielsweise feststellen möchte, ob ein Programm versucht auf ein keyfile zuzugreifen oder Registrierungsinformationen aus der Registrierungs zu lesen.
Analyse-Tools: File-Analyser informieren Euch darüber, mit welcher Entwicklungsumgebung ein Programm entwickelt wurde und ob es gepackt oder gecrypted wurde, wenn ja, mit welchem Packer/Crypter. Ich empfehle hierfür die beiden Programme peID und Language2000, wobei peID meist die genaueren Ergebnisse liefert.
Diese Tools bieten für den Anfang eine gute Ausrüstung, um sich als Cracker zu versuchen. Bis ihr jedes dieser Tools beherrscht wird eine Menge Zeit vergehen, jedoch werdet ihr immer wieder ein Stück dazulernen.
|
|
Crackmes sind kleine Programme die extra dafür geschrieben wurden, um gecrackt zu werden. So blöd das jetzt klingen mag, es ist eine gute Übung, oftmals sind diese Crackmes wesentlich fieser, als so manche Shareware. Aus den anliegenden Instruktionen erfahrt ihr, wie ihr das Target zu cracken habt, oftmals ist Patching verboten. Meistens sollt ihr anschließend eure Lösung posten, praktisch als Feedback für den Autor. Manchmal sind kleine Gags in den Crackmes versteckt, reinschauen lohnt sich oftmals auf jeden Fall :D
|
|
Im Prinzip könnt Ihr ohne jede Vorkenntnis von Programmiersprachen anfangen zu cracken. Mit ein klein wenig Erfahrung in diesem Bereich werdet ihr es allerdings wesentlich leichter haben. Im Lauft der zeit solltet ihr allerdings auf jeden Fall beginnen programmieren zu lernen. Wie sonst sollt ihr Loader, Patcher, Keygens und eigene Tools programmieren können? Ihr merkt, Cracken greift in viele Bereiche ein. Zum einen benötigt ihr ein größeres Verständnis von der Arbeitsweise eines Durchschnittsusers, zum anderen wisst ihr mehr über Programme und deren Arbeitsweise als viele andere. Und schließlich lernt ihr auch noch programmieren. Es ist klar, dass dies nicht innerhalb von ein paar Monaten zu erlernen ist. Es erfordert Zeit, Zeit die ihr euch so einteilen solltet, wie ihr es für richtig haltet. Vielleicht benötigt ihr auch mal eine längere Pause. Vielleicht steigt ihr ein paar Monate ganz aus, oder beschäftigt euch verschärft mit dem Thema Hardware oder Programmierung. Ein oftgeörter Tipp ist: "fangt nicht s Vielleicht merkt Ihr aber auch, dass euch das Coden eigentlich viel mehr Spaß macht, als alles andere. Hey, in Ordnung, warum nicht? Bleib auf der Schiene, mach das, wozu du am meisten Lust hast.
|
|
Sicherlich seid ihr schon einmal einem Keygen begegnet, der durch sein gutes Design und durch seine XM-Musik auffällt. An diesem Keygen waren in der Regel mehrere Leute beteiligt. Zum einen gibt es da natürlich den Cracker, der dem Ding seine eigentliche Funktionalität einhaucht. Zum anderen wurden die Grafiken und die Musik des Keygens wahrscheinlich von extra Gfxern und Chiptunern erstellt. Ich finde das faszinierend, da der Keygen dadurch nicht einfach ein Programm ist, sondern ein Ausweis, ein Abbild der Skills von mehreren Personen. Mehr über dieses Thema in meinem allgemeinen Keygen-Tutorial.
|
|
| Um nun endlich zu einem Anfangspunkt für Euch zu kommen |
Informiert Euch zunächst ein bisschen über Assembler und die grundlegensten Dinge eines Prozessors. Gutes Material hierfür ist das Buch "Das Assemblerbuch", ebenfalls zu finden bei CIP. Das bedeutet aber nicht, dass ihr jeden FlipFlop des P4s mit Vornamen kennen müsst. Danach solltet Ihr herausfinden, wie die Tools funktionieren, die oben angesprochen worden sind. Dazu sind bei CIP schon einige Grundsatztutorials vorhanden. Hmm, und anschließend, fangt einfach los :D. Schnappt Euch ein Tutorial, lest es und versucht das geschriebene nachzuvollziehen. Programmiert nebenbei ein bisschen, mit ein bisschen Fantasie könnt ihr vielleicht sogar schon richtig nützliche Sachen coden, einen Konverter für Zahlen in Zahlensysteme mit beliebiger Basis, ich bin sicher euch fällt was ein...
Eines jedoch wird ganz sicher passieren: Irgendwann kommt der Zeitpunkt an dem ihr nur noch frustriert seid. Dann werdet ihr wahrscheinlich erst mal aufgeben und die ganze Sache ruhen lassen. Nehmt euch die Zeit, ihr habt ja keine Verpflichtungen. Macht vielleicht ein viertel Jahr mal was anderes, konzentriert euch verstärkt aufs coden, vielleicht entwerft ihr websites oder arbeitet ein bisschen an Euern Grafik-Künsten? Vielleicht stekct auch ein guter XM-Musiker in euch? Bei all diesen Bereichen bleibt ihr doch letztenendes beim Ausgangsthema...
|
|
Bei all diesen neuen Interessensgebieten wird sich einer als euer persönlicher Favourit herauskristallisieren. Ihr solltet jedoch in alle Bereiche einen Einblick tätigen und dann auf eure innere Stimme hören. Diese wird euch mitteilen, in welchen Bereich ihr wirklich gehört.
Es wartet viel Arbeit auf Euch, aber es macht Spaß... Happy Cracking, ZeroJump
|
|
|
|
|