Ethical Hacking Academy · Les

Basisprincipes van disassembly

Ghidra en IDA

Les 3 van 413 stappen

Basisprincipes van disassembly is een gratis Ethical Hacking Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Ethical Hacking Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Ethical Hacking Academy bevat in totaal 4 lessen.

Wat is disassembly?

Disassembly zet de machinecode van een binair bestand terug om in voor mensen leesbare assembly-instructies. Zo kun je precies lezen wat de CPU zal uitvoeren.

Dit is essentieel wanneer de broncode niet beschikbaar is, zoals bij malware altijd het geval is.

Disassembly versus decompilatie

Disassembly produceert assembly. Decompilatie gaat verder en reconstrueert bij benadering pseudocode op hoog niveau, vergelijkbaar met C.

Pseudocode leest sneller; assembly is nauwkeurig. Analisten gebruiken beide en wisselen zo nodig tussen de twee.

Ghidra

Ghidra is een gratis, opensourcepakket voor reverse engineering van de NSA. Het disassembleert veel architecturen en bevat een krachtige decompiler.

Dankzij de prijs en mogelijkheden is het voor de meeste analisten het aangewezen startprogramma.

IDA Pro

IDA Pro is al lange tijd de commerciële standaard, bekend om zijn krachtige disassembler en decompiler (met de Hex-Rays-plug-in).

IDA Free en andere hulpmiddelen zoals Binary Ninja en radare2/Cutter zijn populaire alternatieven.

Het binaire bestand laden

Je importeert het voorbeeld in het hulpmiddel, dat het automatisch analyseert: het identificeert functies, kruisverwijzingen en tekenreeksen.

Het hulpmiddel bouwt een kaart van het programma die je kunt doorlopen, te beginnen bij het ingangspunt of interessante imports.

Assembly lezen

Assembly-instructies verplaatsen gegevens en voeren er bewerkingen op uit. Enkele veelgebruikte x86-instructies:

  • mov: gegevens kopiëren.
  • push / pop: stackbewerkingen.
  • call / ret: functieaanroep en terugkeer.
  • cmp / jmp / je: vergelijken en vertakken.
mov eax, [ebp-4]
cmp eax, 0
je  short loc_401050

Kruisverwijzingen

Kruisverwijzingen (xrefs) tonen waar een functie of tekenreeks wordt gebruikt. Als je xrefs naar een verdachte API zoals CreateRemoteThread vindt, ga je rechtstreeks naar de relevante code.

Zo kun je navigeren op basis van gedrag in plaats van de code van boven naar beneden te lezen.

API-aanroepen volgen

Geïmporteerde Windows API-aanroepen onthullen de bedoeling. Het zien van VirtualAlloc, gevolgd door WriteProcessMemory en vervolgens CreateRemoteThread, is een klassieke reeks voor procesinjectie.

Het herkennen van deze patronen vormt de kern van het reverse-engineeren van malware.

Grafiekweergave

Disassemblers bieden een grafiekweergave met basisblokken en de vertakkingen daartussen. Hiermee wordt de besturingsstroom van een functie gevisualiseerd, zodat lussen en voorwaarden gemakkelijk te volgen zijn.

Voor complexe logica is dit veel leesbaarder dan een lineaire instructielijst.

Combineren met debuggen

Statische disassembly werkt goed samen met een debugger. Wanneer code geobfusceerd is of zichzelf wijzigt, kun je onderbrekingspunten instellen en er tijdens runtime stap voor stap doorheen gaan om de echte instructies te bekijken.

Deze verbinding met dynamische analyse is cruciaal voor ingepakte samples, die in de volgende les worden behandeld.

Hernoemen en annoteren

Naarmate je functies en variabelen beter begrijpt, kun je ze in de disassembler hernoemen en opmerkingen toevoegen. Door sub_401000 te veranderen in decrypt_config, wordt de rest van de analyse veel eenvoudiger.

Met deze stapsgewijze labels reconstrueren analisten geleidelijk de volledige logica van een malwaresample.

Korte controle

Haal het verschil tussen de twee belangrijkste uitvoerformaten van Ghidra terug.

Samenvatting

Je begrijpt nu de basis van disassembly:

  • Disassembly levert assembly op; decompilatie levert pseudocode op.
  • Ghidra (gratis) en IDA Pro zijn de belangrijkste hulpmiddelen.
  • Gebruik kruisverwijzingen en patronen van API-aanroepen (zoals injectiereeksen) om op basis van gedrag door de code te navigeren.
  • De grafiekweergave visualiseert de besturingsstroom; combineer deze met een debugger voor geobfusceerde code.

In de volgende les versla je packers door ze uit te pakken.

Gratis beginnen

Leer Ethical Hacking Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
31
Lessen
111

Veelgestelde vragen

Is de les “Basisprincipes van disassembly” gratis?

Ja — de volledige tekst van “Basisprincipes van disassembly” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Ethical Hacking Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Ethical Hacking Academy bevat in totaal 4 lessen.

Wat leer ik in “Basisprincipes van disassembly”?

Ghidra en IDA Je oefent met Ethical Hacking Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Ethical Hacking Academy te beginnen?

Ervaring vooraf is niet nodig. Ethical Hacking Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Basisprincipes van disassembly”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Ethical Hacking Academy?

Ja. Elke les over Ethical Hacking Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Statische analyse
  2. Dynamische analyse
  3. Basisprincipes van disassembly
  4. Uitpakken
← Terug naar Ethical Hacking Academy