Abhebungsmethode: Baidu.comInsgesamt [60] AbschnitteVerfügbarkeit von Kursunterlagen: NeinSie 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
Bei diesem Kurs handelt es sich um die Kursreihe "x86/x64 Software Reverse Analysis" der "Verbesserung", auf der Grundlage der "Einführung", ergänzt um tiefer gehende und komplexere Reverse-Analyse-Inhalte. Dieser Kurs kann als Referenz-Tutorial für Reverse-Ingenieure verwendet werden, oder als "Verbesserung" Tutorial für diejenigen, die in der Software-Reverse-Analyse interessiert sind.
Wenn Sie ein Exe-Programm sehen, um eine bestimmte Funktion zu erreichen, Sie aber nicht wissen, wie Sie diese Funktion erreichen können, können Sie durch Disassemblierung, Dekompilierung und dynamische Verfolgungsmethoden den spezifischen Implementierungsprozess analysieren und dann auf diesen Prozess "verweisen", um diese bestimmte Funktion zu erreichen. Dieses Verhalten ist Reverse Engineering. Reverse bedeutet nicht nur dekompilieren, sondern auch das Design zurückzuschieben und zu dokumentieren, damit die Software besser gewartet werden kann.
In der Arbeit, festgestellt, dass die aktuelle Software einen Fehler hat, aber die Software-Entwickler nicht mehr existiert, wie zu tun? Meistern Sie die Software Reverse-Analyse-Technologie, geben Sie es eine "Reparatur".
Legenden der geheimnisvollen "Hacker", "Gott", nur gemeistert einige der Fähigkeiten, die Sie nicht gemeistert haben, wissen, dass Sie nicht wissen, einige spezielle Kenntnisse nur. Master "x86/x64 Software Reverse-Analyse", Sie von diesen geheimnisvollen "Hacker", "Gott" ist nur einen Schritt entfernt.
"Gibt es irgendetwas auf der Welt, das schwierig oder leicht ist? Wenn du es tust, ist auch das Schwierige leicht; wenn du es nicht tust, ist auch das Leichte schwer!"
Die umgekehrte Analyse ist wie ein Ratespiel: Wenn sich die Antwort auf ein Rätsel langsam herauskristallisiert, können nur diejenigen, die mittendrin sind, die Spannung und den Spaß daran genießen. Als Zuschauer werden Sie nie die Chance haben, diesen Spaß zu erleben.
Kurskatalog
Vorbereitung der Klasse, Installation und Konfiguration der Werkzeuge (1) 17:06 Vorbereitung der Klasse, Installation und Konfiguration der Werkzeuge (2) 10:31 Umwandlung von Maschinencode in Assemblercode (1) 12:50 Umwandlung von Maschinencode in Assemblercode (2) 18:34 Optimale Kompilierung von Programmen mit SIMD-Befehlen (1) 12:36 Optimale Kompilierung von Programmen mit SIMD-Befehlen (2) 17:56 Compiler eingebaute SIMD-Befehlsunterstützung (1) 12:21 Compiler integrierte SIMD-Befehlsunterstützung (2) 17:49 Verwendung von Registern in X86X64-Plattformen (1) 13:34 Verwendung von Registern in X86X64-Plattformen (2) 09:35 Fließkommaberechnungen auf X86X64-Plattformen(1) 11:42 Fließkommaberechnungen auf X86X64-Plattformen (2) 12:46 Speicherung und inhaltliche Auflösung von Zahlen (1) 11:39 Speicherung und inhaltliche Auflösung von Zahlen (2) 11:54 Unumkehrbare Algorithmen und Hash-Funktionen (1) 11:42 Unumkehrbare Algorithmen und Hash-Funktionen (2) 08:46 Klassische Programmzerlegung: "Temperaturumrechnung" (1) 10:44 Klassische Programmzerlegung: "Temperaturumrechnung" (2) 08:29 Anatomie eines klassischen Verfahrens: "Fibonacci-Reihe" 09:17 Klassische Programmzerlegung: "Cyclic Redundancy Checksum" 12:43 Klassische Programmanalyse: "Cyclic redundancy check code" Prinzip und Handrechnung (1) 09:50 Klassische Programmanalyse: "Cyclic redundancy check code" Prinzip und Handrechnung (2) 11:28 Anatomie eines klassischen Programms: CRC-8 Software-Codierung 17:58 Klassische Programmzerlegung: CRC-32 MPEG-2 Softwarekodierung 16:42 Klassische Programmzerlegung: CRC-32 Softwarekodierung 16:02 Klassisches Programmprofiling: Berechnung der Netzwerkadresse (1) 12:02 Klassisches Programmprofiling: Berechnung der Netzwerkadresse (2) 14:32 Optimierung von Schleifen und Iteratoren 12:07 Anatomie eines klassischen Programms: Das erstaunliche Duff-Gerät 17:18 Anatomie eines klassischen Programms: Division in Multiplikation 15:38 Anatomie eines klassischen Programms: String bis Nummer 21:14 Inline-Funktionen vs. Dekompilierer (1) 17:50 Inline-Funktionen vs. Dekompilierer (2) 09:53 Verwendung von eingeschränkten Zeigern (1) 10:48 Verwendung von eingeschränkten Zeigern (2) 14:22 Mechanismus zur Implementierung von Parameterfunktionen mit variabler Länge (1) 16:04 Mechanismus zur Implementierung von Funktionen mit Argumenten variabler Länge (2) 11:22 Klassische Programmzerlegung: String Pruning (1) 10:37 Klassische Programmzerlegung: String Pruning (2) 09:43 Anatomie eines klassischen Programms: Zeichenkoffer-Konvertierung (1) 09:43 Anatomie eines klassischen Programms: Zeichenkoffer-Konvertierung (2) 09:43 Wie man einen fehlerhaften Disassemblierungscode identifiziert 07:17 Code-Verschleierung: Techniken zur String-Transformation 18:27 Code-Verschleierung: Störung von Assembler-Code (1) 16:19 Code-Verschleierung: Störung des Assembler-Codes (2) 18:10 Aufbau von C++-Klassen (1) 12:21 Aufbau von C++-Klassen (2) 15:01 Aufbau von C++-Klassen (3) 06:57 Speicherspeicherung von C++-Klasseninstanzen 15:49 Disassemblierung von C++-Klassenbeispielen (1) 13:30 Disassemblierung von C++-Klassenbeispielen (2) 10:42 C++ Klassenvererbung (1) 16:03 C++ Klassenvererbung (2) 13:40 Mehrfache Vererbung von C++-Klassen 14:22 Virtuelle Methoden für C++-Klassen (1) 20:45 Virtuelle Methoden für C++-Klassen (2) 07:32 Vererbung von virtuellen Methoden der C++-Klasse 16:20 Mehrfache Vererbung von virtuellen Methoden der C++-Klasse (1) 16:41 Mehrfache Vererbung von virtuellen Methoden der C++-Klasse (2) 12:15 Verwendung von virtuellen C++-Funktionen 12:33
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.