Π§Π΅ΠΌΡ Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ
- 1. ΠΡΠ½ΠΎΠ²Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° x86/x64
- Π Π΅Π³ΠΈΡΡΡΡ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΡΠ΅ΠΊ, Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ;
- Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Linux (syscall) ΠΈ Windows (WinAPI);
- Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ: ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅.
- 2. Π Π΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³
- ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (IDA Pro, Ghidra, Radare2);
- ΠΠ½Π°Π»ΠΈΠ· Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ² Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;
- ΠΠΎΠΈΡΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ (ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°, format strings, UAF).
- 3. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π»Π»ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠΎΠ²
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ position-independent ΠΊΠΎΠ΄Π° (PIC);
- ΠΠ±Ρ ΠΎΠ΄ DEP, ASLR, Stack Canaries;
- ROP-ΡΠ΅ΠΏΠΎΡΠΊΠΈ (Return-Oriented Programming).
- 4. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π°
- Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ;
- ΠΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠ΄Π° (Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ);
- ΠΠ΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡ (SIMD: SSE, AVX).
- 5. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
- ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ (GPIO, ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, DMA);
- ΠΠ½Π°Π»ΠΈΠ· Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΠ;
- ΠΠ·Π»ΠΎΠΌ CTF-Π·Π°Π΄Π°Ρ ΠΈ crackme.
Π ΠΊΡΡΡΠ΅
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
π° ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
-
ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° C ΠΈΠ»ΠΈ Python (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ)
-
ΠΠ½Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ (ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ CPU, RAM, ΡΡΠ΅ΠΊ)
-
ΠΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ΅ΠΌΠ°Ρ
ΠΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
-
ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠΌ (Π½Π°ΡΡΠΈΠΌ Ρ Π½ΡΠ»Ρ)
-
ΠΠΎΡΠΎΠ³ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ Π²Π°ΡΠΈΡ ΠΠ Ρ Linux/Windows)
ΠΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΠΈ ΠΊΡΡΡΠ°
Π§ΡΠΎ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅
- β ΠΠΎΡΠΎΠ²ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ:
- Π Π΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π° (Π°Π½Π°Π»ΠΈΠ· Π²ΠΈΡΡΡΠΎΠ², ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΠ)
- ΠΠ΅Π½ΡΠ΅ΡΡΠ° (ΠΏΠΎΠΈΡΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ°Ρ )
- ΠΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, firmware, embedded)
- β ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ:
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ΅Π»Π»ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ROP-Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ²
- ΠΠ°Π·Π° crackme Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ
- ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π°
- β Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ (Π΄Π»Ρ ΡΠ΅Π·ΡΠΌΠ΅)