AmJano (22.10.2012), Dbzfreak1337 (13.10.2012), DnL (02.10.2012), FBI America (17.06.2013), Gangstersheep (04.10.2012), iToxic (02.10.2012), Mentos (02.10.2012), milchbubix (04.11.2012), Minecraft (02.10.2012), Saad (02.10.2012), Snees (02.10.2012), Sploxfreak (06.12.2012), uncopyable (02.10.2012)
- 
	02.10.2012, 01:51 #1U-Labs Plus-Mitglied  
 - Registriert seit
- 06.11.2011
- Beiträge
- 418
 Thanked 686 Times in 246 Posts [Tutorial] Reverse Engineering - Teil I - Grundlagen [Tutorial] Reverse Engineering - Teil I - Grundlagen
 
 Hallo,
 
 schön, dass ihr zu meiner Tutorialreihe über Reverse Engineering gefunden habt. In diesem ersten Teil möchte ich darauf eingehen was Reverse Engineering ist, wofür es eingesetzt wird, wie man vorgeht, welche Voraussetzungen gefordert werden und womit wir zukünftig arbeiten.
 
 
 Was ist Reverse Engineering und wofür wird es eingesetzt?
 
 Bevor wir ein Produkt (hier eine Software) anfertigen, entwickeln wir für gewöhnlich erst einmal einen Plan. Reverse Engineering (engl. für umgekehrt entwickeln, rekonstrurieren) bezeichnet in der Informatik den Vorgang, einen Plan für ein bereits bestehendes Produkt zu entwickeln. Dafür kann es verschiedene Anlässe geben:
 
 - Plan und Source Code eines möglicherweise schon älteren Projektes, das nun wieder aufgegriffen werden soll, sind nicht mehr vorhanden. Um fortzufahren, müssen wir den bisherigen Fortschritt erst einmal rekonstrurieren.
- Eine bereits bestehende, nicht mehr funktionierende Software, deren Source Code uns nicht zur Verfügung steht, soll aufgearbeitet werden. Wir kennen möglicherweise schon die Ursache des Problems und wollen die Software entsprechend manipulieren (patchen, cracken), um sie wieder zum Laufen zu kriegen. Bevor wir das Programm manipulieren können, müssen wir gewisse Teile aber erst einmal rekonstruieren.
- Ein Produkt soll nachgeahmt werden (in der Informatik sprechen wir von Emulation), hierzu müssen gewisse Vorgänge wie z. B. Verschlüsselungen rekonstruriert werden.
 
 Ersteres ist eher selten der Fall, meist hängt Reverse Engineering tatsächlich mit Cracking und Emulation zusammen. Cracking wird auch Thema des nächsten Teils sein.
 
 
 Wie geht man vor und welche Voraussetzungen sind gefordert?
 
 Zum Rekonstrurieren eines Plans haben wir zwei Möglichkeiten:
 
 - Wir analysieren das Produkt durch Ausprobieren.
- Wir zerlegen das Produkt in seine Einzelteile, beim Zerlegen einer Software sprechen wir von Dekompilieren.
 
 Die erste Möglichkeit fordert keine Voraussetzungen, höchstens ein paar hunderte Tests, die sehr viel Zeit in Anspruch nehmen. Leider ist diese Möglichkeit aber oft nicht Erfolg versprechend, wenn man bspw. ein Passwort oder eine Verschlüsselung rekonstruieren will kommt man hier meist nicht weit und muss zur zweiten Möglichkeit greifen, welche grundlegende Kentnisse in einer Programmiersprache voraussetzt. Welche Programmiersprache beherrscht werden muss hängt davon ab was für ein Produkt wir zerlegen, ob bspw. eine .NET- oder eine Java-Applikation. Wenn wir uns im nächsten Teil mit Cracking beschäftigen werden grundlegende C#-Kentnisse vorausgesetzt (vorerst wirklich nur einfache Dinge wie Variablen, Methoden-Aufrufe und Bedingungen).
 
 
 Womit arbeiten wir in Zukunft?
 
 Wie schon gesagt wollen wir uns im nächsten Teil mit Cracking von .NET-Anwendungen beschäftigen, dazu benötigen wir folgende Programme:
 
 - Visual C# 2010 Express - Download | Microsoft Visual Studio 2012
 Dank Visual C# 2010 Express und Trick 93 (dazu komm ich dann noch) brauchen wir Bytecode so gut wie gar nicht verstehen, um eine Methode auszutauschen.
- Redgate .NET Reflector 7.6.0.808 - Zippyshare.com - Redgate .NET Reflector 7.6.0.808.rar
 Mit .NET Reflector können wir eine Anwendung dekompilieren und erhalten einigermaßen gut verständlichen Source Code.
- Reflexil - Reflexil - Browse Files at SourceForge.net
 Mit diesem .NET Reflector Add-In können wir eine Anwendung manipulieren.
 
 
 
 Ich hoffe ich konnte euch im ersten Teil Grundlegendes über Reverse Engineering näher bringen und euer Interesse wecken. Anfangs scheint es natürlich noch etwas trocken, aber Theorie gehört nunmal dazu und im nächsten Teil gehen wir ja auch schon zur Praxis über.Geändert von Flav (04.10.2012 um 02:41 Uhr)  
 
- 
	The Following 13 Users Say Thank You to Flav For This Useful Post:
 
- 
	02.10.2012, 07:30 #2 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenFind ich richtig gut, dass du Tutorials schreibst, ich wollte das schon immer mal lernen, habe aber bei Google nichts anständiges gefunden :/ 
 
 PS: Freue mich schon auf den 2. Teil 
 LG
 
- 
	02.10.2012, 13:08 #3 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenIch persönlich arbeite auch sehr gerne und öfter mit SAE(simple-assembly-explorer - Simple Assembly Explorer - Google Project Hosting), dieser ersetzt den Reflector und das Plugin dafür  . .
 
 Dort wird zum Ansehen des Codes ILSpy verwendet. 
 
 
 P.S. SChönes Tutorail, hoffe da folgen noch mehrere.  
 
 
- 
	02.10.2012, 16:17 #4 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenKannst du ja dann auch mal in einem kurzen Tutorial vorstellen und evtl. Vor- und Nachteile deutlich machen   
 
- 
	02.10.2012, 18:13 #5U-Labs Plus-Mitglied  
 - Registriert seit
- 06.11.2011
- Beiträge
- 418
 Thanked 686 Times in 246 Posts AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenSchau ich mir die Tage mal an, .NET Reflector ist aber bekannter, kann man mehr Support für erwarten. Nach .NET und Java folgen vielleicht noch Native RE Tutorials, da bin ich aber selbst noch am Lernen. 
 
 Edit: Der von mir hier bereitgestellte .NET Reflector enthält übrigens einen Keygen und eine Anleitung zum Aktivieren.Geändert von Flav (02.10.2012 um 21:50 Uhr)  
 
- 
	The Following 3 Users Say Thank You to Flav For This Useful Post:AmJano (22.10.2012), Gangstersheep (04.10.2012), iToxic (02.10.2012) 
 
- 
	22.10.2012, 13:40 #6 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenHallo Flav, 
 
 ich kann den .NET Reflector nicht Installieren! :/
 Schau mal hier:
 
 
 
- 
	26.10.2012, 17:23 #7 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenTut mir jetzt Wirklich Leid wegen dem DoppelPost! 
 
 Habe Windows XP Pro2
 4GB Arbeitsplatz
 
 --------------------------
 
 Woran kann es denn liegen wieso ich es nicht Installieren kann?
 Danke.
 
 
 Mfg
 
- 
	28.10.2012, 14:28 #8 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenDu benötigst "Microsoft Visual Studio 2010 oder Dev11 Professional, Premium oder Ultimate" um die Extension zu installieren.   
 
 
- 
	28.10.2012, 15:09 #9 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenHabe ich doch. 
 Microsoft Visual Studio 2010 Express
 
 ?
 
- 
	28.10.2012, 15:10 #10 AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen AW: [Tutorial] Reverse Engineering - Teil I - GrundlagenDu brauchst aber: Professional, Premium oder Ultimate   
 
 
- 
	The Following User Says Thank You to iToxic For This Useful Post:Gangstersheep (28.10.2012) 
 
Ähnliche Themen
- 
  [Tutorial] Reverse Engineering - Teil II - Cracking (.NET)Von Flav im Forum TutorialsAntworten: 12Letzter Beitrag: 25.10.2015, 23:12
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.
 
									 
														 
														 
					
					
					
						 Zitieren
  Zitieren 
			 
			 
			 BILD ANZEIGEN
 BILD ANZEIGEN