REbejs
Contents
Předpoklady
Začneme od základů na Windows. Pokud máš jenom 32-bit Windows, nevadí, budeme probírat i 32-bit věci. Začneme s OllyDbg pro 32-bit aplikace a x64dbg pro 64-bit aplikace.
Stáhni si a zkus, jestli jde spustit:
Užitečný odkazy
- x86asm.net/links: Manuály procesorů, specifikace formátu spustitelných souborů
- ref.x86asm.net/coder32.html: rychlá specifikace 32-bit instrukcí
- ref.x86asm.net/coder64.html: rychlá specifikace 64-bit instrukcí
Workshop
Každej workshop by měl být co nejvíc praktickej. Scházíme se jednou za 14 dnů, protože to bude výživný a budou domácí úkoly.
První workshop: analýza crackme, základní pojmy, základní instrukce
Slidy: REbejs1 draft
Budeme postupovat podle výbornýho RubberDuckova seriálu. Před prvním workshopem si přečti následující díly a zkus si do OllyDbg natáhnout aspoň jedno zmíněný crackme:
- Nebojte se reverzního inženýrství I.
- Nebojte se reverzního inženýrství II.
- Nebojte se reverzního inženýrství III.
Stáhněte si 64bitovou verzi crackme #1: crackme1_x64.zip
Tyhle informace navíc rozšíříme o:
- opkódy instrukcí
- 64-bit verzi crackme, základní rozdíly oproti 32-bit verzi
- základy 64-bit architektury
Druhej workshop: teorie a další praxe
Těžce nedokončený slidy, nestíhám, tak aspoň něco: REbejs1 draft0
Konečný slidy sem nahodím co nejdřív.
Získaný znalosti z 1. workshopu podepřeme teorií (Windows) a budeme pokračovat dalšíma praktickýma věcma:
Praxe
Stáhněte si 64bitovou verzi crackme #2: crackme2_x64.zip
Teorie
- stack
- binární formát instrukce
Spíkr
Témata workshopu se budou hodně odvíjet od zkušeností spíkra (MazeGen), ty jsou:
- hodně Win32 assembler, debugging (OllyDbg), disassembling (IDA)
- o něco míň to stejný na Win64
- trochu ARM assembler a disassembling
- nějaký další, který ale asi nebudou tématem workshopu, jako Android reverzing, dekompilace C/C++/C#/Java, Unity game engine reverzing