Abhebungsmethode: Baidu.comInsgesamt [60] AbschnitteVerfügbarkeit von Kursunterlagen: JaSie werden gewinnen
Beherrschen der Grundlagen der Software-Rückwärtsanalyse
Beherrschung der Logik und Struktur der Disassemblierung gängiger C-Funktionen
Ein schrittweiser Leitfaden zur Bedeutung und Verwendung von x84/x64-Bauanleitungen
allmählich die Fähigkeit zu erwerben, die Funktion eines Programms aus dem Assembler-Befehlscode zu erkennen
relevante Bevölkerung
Programmierer, Reverse-Ingenieure oder Personen mit geringen Kenntnissen in Assembler, C/C++ und einer ausgeprägten Neugier auf die interne Implementierung von Software. Kurse
Dieser Kurs beginnt mit dem einfachsten C-Programm, bis hin zur komplexeren Funktionsimplementierung, kombiniert mit der generierten Binärdatei Reverse Disassembly, von einer flachen bis zu einer tiefen schrittweisen Einführung in die Software-Reverse-Analyse basierend auf der X86/X64-Architektur. Es kann als Referenz-Tutorial für Reverse-Ingenieure oder als Einführungs-Tutorial für diejenigen, die sich für die Software-Reverse-Analyse interessieren, verwendet werden.
Kurskatalog
Vorbereitung der Klasse und Installation und Konfiguration der Werkzeuge 16:08 Rückwärtsanalyse und inoffizielle Funktionserweiterungen in Software (1) 20:56 Rückwärtsanalyse und inoffizielle Funktionserweiterungen in Software (2) 17:06 CPU-Befehlssatz & einfachste Funktionen & Debug/Release 14:51 Anatomie eines klassischen Programms in C - Hello World 16:32 Vorwort zu Funktionen, Epilog zu Funktionen 07:24 Rückwärts gewachsene Stapel 04:04 Die Verwendung des Stapels 25:03 Lärm der Schornsteine 16:03 Funktionen und Argumente 18:57 Zeigerübergabe von Integer-Daten (1) 10:35 Zeigerübergabe von Integer-Daten (2) 14:00 Zeigerübergabe von Integer-Daten (3) 11:24 Zeigerübergabe von Ganzzahldaten (4) 27:04 Wie erhält eine Funktion ihre Parameter? 15:48 Wie erhält man den Rückgabewert einer Funktion? 34:20 Verwendung von Zeigern als Argumente für Funktionen 21:04 Veraltete GOTO-Anweisungen 08:00 Bedingte Sprunganweisungen(1) 10:38 Bedingte Sprunganweisungen(2) 07:01 Bedingte Sprunganweisungen(3) 13:54 Bedingte Sprunganweisungen(4) 12:11 SWITCH CASE-Anweisung (1) 16:05 SWITCH CASE-Anweisung (2) 19:32 SWITCH CASE-Anweisung (3) 22:33 SWITCH CASE-Anweisung (4) 13:00 Eine einfache FOR-Schleife 18:11 For-Schleife zum Kopieren von Speicher 11:22 Berechnung der Länge eines C-Strings 12:14 Plugin: Kompilieren von Assembly-Quelldateien mit VC++ 06:27 Ersetzung von Mathe-Rechenanweisungen - Multiplikation 23:23 Ersetzung von Mathe-Rechenanweisungen - Division (Fortsetzung) 06:26 FPU: Multiplizieren und Dividieren von Gleitkommazahlen 22:24 FPU: Parameterübergabe für Fließkommazahlen 10:33 FPU: Fließkommazahlengrößenvergleich 06:41 FPU: Warum werden FPU-Befehle so wenig verwendet? 12:02 Arrays: Speicherstrukturen für Arrays 24:14 Array: Pufferüberlauf 16:07 Array: Schutz vor Pufferüberläufen 10:45 Array: String-Zeiger 14:46 Arrays: Überlauf und Überlaufschutz für Arrays 08:23 Arrays: Mehrdimensionale Arrays 19:39 Arrays: Kapselung von 2D-String-Arrays 08:32 Bit-Manipulation: Bitspezifische Operationen 14:36 Bitmanipulation: Setzen und Löschen bestimmter Bits 07:49 Bitmanipulation: Setzen und Löschen bestimmter Bits auf FPUs 23:35 Bit-Manipulation: Bit-Prüfsumme 10:47 Pseudo-Zufallszahlenfunktion für lineare Kongruenz 10:32 Struktur: SYSTEMTIME Auflösung 11:52 Strukturen: Ersetzen von Strukturen durch Arrays 06:13 Strukturen: Zuweisung von Speicherplatz in einer Struktur mit malloc 10:45 Strukturen: Feldkapselung für Strukturen 12:41 Strukturen: Verschachtelung von Strukturen 15:45 Strukturen: Bitmanipulation in Strukturen 17:17 Strukturen: Aufbau von Fließkommazahlen mit Strukturen 08:31 Commons: Erzeugung einer Pseudo-Zufallszahl 10:55 Commons: Maschinengenauigkeit für Fließkommazahlen 04:36 Funktionszeiger und Rückruf-Funktionen 14:43 Behandlung von 64-Bit-Daten (1) 15:28 Behandlung von 64-Bit-Daten (2) 17:14
Ressourcenerklärung (der Kauf gilt als Zustimmung zu dieser Erklärung): 1. jede Operation in der Website-Plattform gilt als gelesen zu haben und stimmte der Unterseite der Website-Registrierung Vereinbarung und Haftungsausschluss, diese Website Ressourcen wurden ultra-niedrigen Preis, und bietet keine technische Unterstützung (2) Einige Netzwerk-Benutzer teilen sich die Netto-Disc-Adresse kann ungültig sein, wie das Auftreten von Fehlern, senden Sie bitte eine E-Mail an den Kundendienst code711cn#qq.com (ersetzen Sie # mit @) wird bis zu senden gemacht werden 3. diese Website bietet alle herunterladbaren Ressourcen (Software, etc.) Website, um sicherzustellen, dass keine negativen Veränderungen; aber diese Website kann nicht garantieren, die Richtigkeit, Sicherheit und Integrität der Ressourcen, die Benutzer-Downloads nach eigenem Ermessen, kommunizieren wir für die Zwecke der nicht alle den Quellcode zu lernen ist nicht 100% fehlerfrei oder keine Bugs; Sie müssen eine bestimmte Grundlage zu können, lesen und verstehen den Code, um in der Lage, das Debugging zu ändern haben! Code zu ändern und Fehler zu beheben. Gleichzeitig müssen die Nutzer dieser Seite verstehen, dass der Source Code Convenience Store keine Rechte an der zum Download bereitgestellten Software besitzt, das Urheberrecht gehört dem rechtlichen Eigentümer der Ressource. 4. alle Ressourcen auf dieser Website nur für Lern- und Forschungszwecke, bitte müssen innerhalb von 24 Stunden der heruntergeladenen Ressourcen gelöscht werden, verwenden Sie nicht für kommerzielle Zwecke, da sonst die rechtlichen Streitigkeiten, die sich aus der Website und der Herausgeber der Sicherheiten Haftung Website und wird nicht getragen werden! (5) Aufgrund der Reproduzierbarkeit der Ressourcen sind einmal erworbene Beträge nicht erstattungsfähig, und auch das Guthaben wird nicht zurückerstattet.