Välj ditt språk
Software Reverse Engineering kurs
Över 2 miljoner studenter världen över

Software Reverse Engineering kurs

Bli skicklig på hela arbetsflödet för reverse engineering — från att läsa rå assembler till att övervinna obfuskering och avslöja verkliga sårbarheter. Den här kursen ger dig det tekniska djup som krävs för att analysera kompilerade binärer på Windows, Linux eller macOS. Oavsett om du inriktar dig på skadlig kod, firmware eller proprietär programvara får du de färdigheter som branschen faktiskt efterfrågar.

Dedika för företag

Vad du kommer att lära dig:

Du bygger en solid grund inom x86- och x86-64-assembler, binära filformat och CPU-arkitektur innan du går vidare till praktisk statisk och dynamisk analys. Du använder branschstandardiserade disassemblerare, felsökningsverktyg och dekompilatorer för att granska och återskapa programlogik på hög nivå från riktiga binärer. Kursen täcker obfuskeringstekniker, packeranalys och förbikopplingar av antifelsökning så att härdade mål inte stoppar dig. Du tillämpar även reverse engineering direkt på sårbarhetsforskning, där du identifierar minneskorruptionsbuggar, autentiseringsbrister och svag kryptografi. Avancerade moduler introducerar symbolisk exekvering, binär diffning, dynamisk instrumentering och automatiseringsarbetsflöden för storskalig analys.

Hur du studerar praktiskt Software Reverse Engineering kurs

Hur du övar Software Reverse Engineering kurs

För dig som är företag och vill utbilda ditt team

På Dedika för företag anpassas kursen med övningar och exempel från just din verksamhet, på det sätt som ditt företag behöver.

Klicka här

Kursinnehåll

8 Kapitlen • 40 LektionerVaraktighet mellan 4 och 360 timmar (du bestämmer)

Kapitel 1Se detaljer

Grunderna i reverse engineering

  • Lektion 1 • Installera RE-labbet

    Vägleder dig genom att bygga en isolerad analysmiljö med virtuella maskiner och nödvändiga verktyg. Säkerställer en säker, reproducerbar arbetsyta för alla övningar.

  • Lektion 2 • Juridiska och etiska gränser

    Behandlar auktorisationskrav, normer för ansvarsfullt avslöjande och etiskt uppförande. Grundar dig i professionella standarder innan det praktiska arbetet börjar.

  • Lektion 3 • Vad är reverse engineering

    Definierar reverse engineering, dess mål och dess roll inom säkerhetsforskning och programvaruanalys. Fastställer terminologin som används genom hela kursen.

  • Lektion 4 • Datorarkitekturens grunder

    Går igenom CPU-register, minneslayout och fetch-decode-execute-cykeln. Ger den hårdvarumentala modell som krävs för att tolka disassemblerad kod.

  • Lektion 5 • Översikt över binära filformat

    Introducerar strukturerna PE, ELF och Mach-O samt hur laddare mappar in dem i minnet. Kopplar kunskap om filformat till senare disassemblerings- och patchuppgifter.

Kapitel 2Se detaljer

Assemblyspråk för reverse engineers

  • Lektion 1 • Skillnader och utökningar i x86-64

    Belyser registerexpansion, RIP-relativ adressering och SIMD-grunder i 64-bitarsläge. Förbereder dig för moderna 64-bitars binärer som påträffas i praktiken.

  • Lektion 2 • Grunder i x86-instruktionsuppsättningen

    Behandlar instruktioner för dataöverföring, aritmetik och logik med kommenterade exempel. Bygger det läsvokabulär som behövs för allt kommande disassembleringsarbete.

  • Lektion 3 • Stacken och anropskonventioner

    Detaljerar hur funktioner skickar argument, bevarar register och returnerar värden enligt de stora anropskonventionerna. Avgörande för att förstå dekompilerad utdata korrekt.

  • Lektion 4 • Instruktioner för kontrollflöde

    Förklarar villkorliga och ovillkorliga hopp, loopar samt CALL/RET-mekanik. Du lär dig att rekonstruera programlogik från råa instruktionssekvenser.

  • Lektion 5 • Identifiera högnivåkonstruktioner

    Mappar assemblymönster tillbaka till C-nivåkonstruktioner som if-else, loopar och struct:ar. Snabbar upp analys genom att du lär dig läsa avsikter snarare än råa opkoder.

Kapitel 3Se detaljer

Statiska analystekniker

  • Lektion 1 • Kommentera och byta namn på symboler

    Behandlar systematisk namngivning av funktioner, variabler och datastrukturer för att bygga en läsbar modell. Förbättrar analyshastigheten direkt och minskar den kognitiva belastningen.

  • Lektion 2 • Navigera i kodgrafer

    Lär ut användning av kontrollflödesgrafer, anropsgrafer och korsreferenser för att orientera analysen. Möjliggör effektiv navigering i stora, okända kodbaser.

  • Lektion 3 • Sträng- och importanalys

    Extraherar meningsfulla strängar, importerade API:er och bibliotekssignaturer för att sluta sig till programbeteende. Ger snabb sortering innan djupare kodanalys påbörjas.

  • Lektion 4 • Skripta statiska analysuppgifter

    Introducerar automatisering av repetitiva statiska uppgifter med hjälp av disassemblerings-skript-API:er. Du skriver skript som byter namn, kommenterar och extraherar data i stor skala.

  • Lektion 5 • Disassemblerare och deras interna funktion

    Jämför linjär svep- och rekursiv nedstigningsalgoritm för disassemblering samt deras avvägningar. Du väljer rätt verktygsläge för varje analysscenario.

Kapitel 4Se detaljer

Dynamisk analys och felsökning

  • Lektion 1 • Upptäckt och förbigång av anti-felsökning

    Identifierar vanliga anti-felsökningstrick och demonstrerar tillförlitliga metoder för att kringgå dem. Förbereder dig för härdade mål som påträffas i verklig analys.

  • Lektion 2 • Spårning och loggning av exekvering

    Använder instruktionsnivåspårning och API-loggning för att fånga fullständiga exekveringshistoriker. Kompletterar brytpunktsanalys för icke-deterministiska eller flertrådade mål.

  • Lektion 3 • Felsökarens arkitektur och koncept

    Förklarar hur felsökare ansluter till processer, hanterar undantag och kontrollerar exekvering. Ger den konceptuella modell som krävs för att använda vilken felsökare som helst effektivt.

  • Lektion 4 • Inspektera programtillstånd

    Lär ut att läsa register, minne och anropsstacken vid körningstid för att verifiera statiska fynd. Du korrelerar aktivt tillstånd med disassemblering för att bekräfta kodens beteende.

  • Lektion 5 • Brytpunktsstrategier

    Behandlar villkorliga, hårdvaru- och minnesåtkomstbrytpunkter för riktad analys. Effektiv brytpunktsplacering minskar tiden till insikt för komplexa mål.

Kapitel 5Se detaljer

Dekompilering och kodåterskapande

  • Lektion 1 • Hantera kompilatoroptimeringar

    Identifierar inlining, loopavrullning och styrkereduktionsartefakter i dekompilerad utdata. Du lär dig att mentalt ångra optimeringar för att återskapa den ursprungliga logiken.

  • Lektion 2 • Återskapa datastrukturer

    Rekonstruerar structar, unioner och klasslayouter från åtkomstmönster i dekompilerad kod. Noggrann strukturåterskapning är avgörande för att förstå objektorienterade mål.

  • Lektion 3 • Dekompilera objektorienterad kod

    Behandlar C++ name mangling, virtuell dispatch och RTTI för att återskapa klasshierarkier. Utökar dekompileringsfärdigheterna till merparten av modern kompilerad programvara.

  • Lektion 4 • Hur dekompilatorer fungerar

    Förklarar lyftning till mellanrepresentation, typåterskapning och generering av pseudokod. Skapar korrekta förväntningar på dekompilatorns utdatakvalitet och begränsningar.

  • Lektion 5 • Arbeta med dekompilatorns utdata

    Lär ut att läsa, korrigera och kommentera dekompilatorns pseudokod för att producera korrekta modeller. Du jämför dekompilatorns fel mot den sanna disassembleringen.

Kapitel 6Se detaljer

Obfuskering och anti-analystekniker

  • Lektion 1 • Virtualiseringsbaserad obfuskering

    Introducerar anpassade VM-skydd, bytecode-dispatchloopar och identifiering av hanterare. Du utvecklar en metodik för att delvis reversa VM-skyddad kod.

  • Lektion 2 • Sträng- och dataobfuskering

    Behandlar XOR-kodning, stackbaserad strängkonstruktion och anpassade dekrypteringsrutiner. Du extraherar klartextsträngar från obfuskerade prover automatiskt och manuellt.

  • Lektion 3 • Automatiserade metoder för av-obfuskering

    Tillämpar symbolisk exekvering och taint-analys för att automatisera av-obfuskering i stor skala. Överbryggar manuella tekniker med verktygsstödda arbetsflöden för komplexa mål.

  • Lektion 4 • Taxonomi för kodobfuskering

    Katalogiserar införande av skräpkod, opaka predikat, kontrollflödesplattning och substitution. Ger dig ett klassificeringsramverk för att identifiera obfuskering direkt.

  • Lektion 5 • Packare och skydd

    Förklarar runtime-uppackningsstubbar, importrekonstruktion och arbetsflöden för minnesdumpar. Du återskapar den ursprungliga körbara filen från packade eller skyddade prover.

Kapitel 7Se detaljer

Sårbarhetsupptäckt genom RE

  • Lektion 1 • Integrering av fuzzing med RE-fynd

    Använder RE-härledd kunskap för att bygga riktade fuzzing-harnessar och frökorpusar. Kombinerar statisk insikt med dynamisk fuzzing för att maximera sårbarhetsupptäckt.

  • Lektion 2 • Identifiering av kryptografiska svagheter

    Identifierar svaga algoritmer, felaktig nyckelhantering och egenutvecklad krypto genom statisk analys. Du bedömer kryptografisk säkerhet utan tillgång till källkod.

  • Lektion 3 • Logik- och autentiseringsbrister

    Lokaliserar autentiseringsförbigångar, felaktiga tillståndsövergångar och tävlingstillstånd genom kodgranskning. Demonstrerar hur logikfel är lika farliga som minnesbuggar.

  • Lektion 4 • Dokumentera och rapportera sårbarheter

    Strukturerar sårbarhetsrapporter med reproduceringssteg, grundorsaksanalys och konsekvensbedömningar. Producerar professionella leveranser lämpliga för ansvarsfullt avslöjande.

  • Lektion 5 • Sårbarhetsmönster för minneskorruption

    Identifierar buffertöverskridningar, use-after-free och heltalsöverskridningsmönster i disassemblering. Kopplar lågnivåkodmönster till deras säkerhetspåverkan.

Kapitel 8Se detaljer

Avancerade RE-arbetsflöden och automatisering

  • Lektion 1 • Utforma en strukturerad RE-metodik

    Etablerar ett repeterbart arbetsflöde från sortering till djupdykning för okända binärer. Minskar bortkastad ansträngning och säkerställer enhetlig täckning över stora mål.

  • Lektion 2 • Symbolisk och konkolisk exekvering

    Tillämpar villkorslösning för att utforska exekveringsvägar och generera riktade indata automatiskt. Utökar manuell analys till problem med vägtäckning som är för stora för manuell granskning.

  • Lektion 3 • Binär diffning och patchanalys

    Jämför binära versioner för att isolera patchade funktioner och sluta sig till åtgärdade sårbarheter. Avgörande för patch-gap-analys och regressionssäkerhetstestning.

  • Lektion 4 • Ramverk för dynamisk instrumentering

    Använder dynamisk binär instrumentering för att infoga analyslogik vid körningstid utan källkod. Möjliggör täckningsmätning, taint-spårning och anpassad spårning i stor skala.

  • Lektion 5 • Bygga återanvändbara RE-verktyg

    Utformar modulära skript, plugins och pipelines som består bortom ett enskilt uppdrag. Du producerar delbara verktyg som snabbar upp framtida analysarbete.

Certifiering

Ditt giltiga slutförandecertifikat

Den här kursen är för dig:

  • Penetrationstestare: vill gå bortom automatiserade skannrar och över till arbete på binärnivå.

  • Datavetenskapsexaminerad: redo att överbrygga akademisk kunskap och verklig säkerhetsövning.

  • Malwareanalytiker: behöver strukturerad metodik för att självsäkert dissekera okända sampel.

  • CTF-deltagare: seriös med att knäcka reverse engineering-utmaningar på högre svårighetsgrader.

  • Utvecklare av inbyggda system: nyfiken på säkerhetsläget hos sin egen kompilerade fasta programvara.

  • Karriärbytare: övergår från IT-stöd till offensiv säkerhet eller sårbarhetsforskning.

Vad våra elever säger

Era lektioner är perfekta. Jag köpte årspaketet och har äntligen möjlighet att följa olika ämnen som intresserar mig utan att behöva byta plattform... tack för allt ni gör, jag har redan rekommenderat er till andra...
Giulio Carlo
Giulio CarloStudent inom Digital marknadsföring
Jag gillar hur lektionerna går rakt på sak och hur jag kan byta kapitel och hoppa över innehåll som jag inte behöver.
Mariana Ferres
Mariana FerresStudent inom Fotografi
Jag gillar innehållet och presentationssättet samt transkriptionen av videorna, vilket påskyndar processen!
Luciana Alvarenga
Luciana AlvarengaStudent inom Nageldesign
Plattformen är snabb och enkel att använda. Mångfalden av innehåll och de kompletterande videorna hjälper mycket i inlärningen.
André Felipe
André FelipeStudent inom Prompt Engineering

Viktigaste kompetenserna

FAQ

Vem är Dedika?

Är intyget giltigt i Sverige?

Är kurserna gratis?

Vad är kursens arbetsinsats?

Hur ser kurserna ut?

Hur fungerar kurserna?

Hur lång tid tar kurserna?

Vad kostar kurserna?

Vad är en EAD- eller onlinekurs och hur fungerar den?

PDF-kurs