# FOR610 Course Book & Workbook Index > Line numbers refer to book_clean.md. "L" prefix = Lab number in workbook. ## Section Map | Section | Topic | Book Lines | Labs | |---------|-------|-----------|------| | **S1** | Malware Analysis Fundamentals | 43–2400 | L1.1–L1.8 | | **S2** | Reversing Malicious Code | 2452–5100 | L2.1–L2.8 | | **S3** | Beyond Traditional Executables | 5192–7800 | L3.1–L3.12 | | **S4** | In-Depth Malware Analysis | 7866–10100 | L4.1–L4.9 | | **S5** | Examining Self-Defending Malware | 10453–13300 | L5.1–L5.10 | --- ## A | Topic | Book | Lab | |-------|------|-----| | accept-all-ips (httpd) | 1269 | L1.3 | | AMSI monitoring | 6704 | L3.6 | | AMSIScriptContentRetrieval | 6704 | L3.6 | | Android analysis | — | — | | Anti-debugging | 10485–10674 | L5.1, L5.6 | | Anti-sandbox | 11657 | L5.5 | | Anti-VM detection | 10740 | L5.6 | | Any.run (sandbox) | 239 | — | | API hashing | 6286 | — | | API Monitor | 1844–1860 | — | | ASLR / DynamicBase | 8151–8190 | L4.2 | | Assembly.Load (.NET) | 9677, 10047 | L4.8 | | AutoOpen (VBA trigger) | 5771 | L3.3 | ## B | Topic | Book | Lab | |-------|------|-----| | base64dump.py | 5988–6035 | L3.4, L4.5 | | Beaconing | 304, 1298–1313 | L1.3, L1.6 | | bbcrack | 10813–10815 | L5.2 | | Behavioral analysis | 72, 896–1380 | L1.2, L1.6 | | Binary Ninja | 1429 | — | | BlockInput API | 11842–11878 | L5.6 | | box-js | 6687 | — | | brbbot.exe (sample) | 39, 662–1823 | L1.1–L1.6, L4.1–L4.4 | | brxor.py | 10799–10801 | L5.2 | ## C | Topic | Book | Lab | |-------|------|-----| | C2 communication | 304, 3233–3353 | L1.3, L1.5, L1.6 | | Calling conventions | 3477–3725 | L2.3, L2.4 | | capa | 1558–1589 | L1.4, L5.4 | | cdecl convention | 3671–3714 | L2.3 | | CFF Explorer | 8174–8190 | — | | chatroom.exe (sample) | 9597–9797 | L4.8 | | checkbox.doc (sample) | 5883–6135 | L3.4 | | CheckRemoteDebuggerPresent | 10669 | — | | CMP instruction | 3153 | L2.5, L2.6 | | Cobalt Strike beacon | 6060–6077 | L3.4 | | Code analysis | 1390, 2452+ | L2.1–L2.8 | | Code injection | 10074–10387 | L4.9, L5.4 | | Compound expressions | 4474–4620 | L2.6 | | Conditional jumps (Jcc) | 3153–3167 | L2.1, L2.5 | | Control flow | 3137–3204 | L2.5, L2.6 | | CreateFileA/W | 1521–1527 | L1.5 | | CreateProcess | 3891–4028 | L2.7, L5.4 | | CreateRemoteThread | 10098–10105 | L4.9 | | CreateToolhelp32Snapshot | 10116–10123 | L4.9, L5.6 | | CryptDecrypt | 1776–1860 | L1.5 | | CSharpCodeProvider | 7462, 7625 | L3.12 | | Cutter | 1428 | — | | CyberChef | 1897, 7407–7625 | L1.5, L3.8, L3.12 | ## D | Topic | Book | Lab | |-------|------|-----| | de4dot | 10002–10004 | L4.8 | | Decompilation | 73, 2643 | L2.1 | | Detect It Easy (diec) | 860–865 | L4.1 | | Disassembly | 73, 2643 | L2.1 | | DLL injection | 7105–7172 | L3.10 | | DLL side-loading | 7105–7172 | L3.10 | | dnSpyEx | 9612–9797 | L4.8 | | Document_Open (VBA) | 5771 | L3.3 | | Dropper pattern | 4765–4835 | L2.7 | | drtg.exe (sample) | 11161–11227 | L5.3 | ## E | Topic | Book | Lab | |-------|------|-----| | Emulation | 1450–1589 | L1.4 | | Entropy | 8035–8050 | L4.1 | | EBP register | 3874, 3990 | L2.3 | | EIP register | 6270–6275 | — | | ESP register | 3714, 3740 | L2.3 | | ExeInfo PE | 863 | L3.12 | ## F | Topic | Book | Lab | |-------|------|-----| | fakedns | 1186–1195 | L1.3, L1.7, L1.8 | | fastcall convention | 3692–3699 | — | | fgg.js (sample) | 6668 | L3.7 | | Fiddler | 2239–2245, 7042 | L3.2, L3.8–L3.12 | | FindResource | 4766–4791 | L2.7 | | FindWindow API | 11730 | L5.6 | | FLOSS | 10914–10919 | L5.2, L5.3 | | FS:[0] (SEH chain) | 12240–12307 | L5.7 | | FS:[30h] (PEB) | 10556 | L5.1, L5.9 | | Function epilogue | 3874, 3990 | L2.3 | | Function prologue | 3839–3860 | L2.3 | ## G | Topic | Book | Lab | |-------|------|-----| | GetEIP technique | 6270–6275 | — | | getdown.exe (sample) | 2322, 10501–10674 | L1.8, L5.1, L5.2 | | GetModuleHandle | 11730, 11946 | L5.6 | | GetProcAddress | 6286–6306 | L5.4, L5.6 | | GetTickCount | 10708–10715 | — | | Ghidra | 73, 1418, 2643–2705 | L2.1–L2.8, L4.9, L5.2, L5.4, L5.5 | | ghyte.exe (sample) | 1174–2210 | L1.7 | | great.exe (sample) | 10134–10387 | L4.9 | ## H | Topic | Book | Lab | |-------|------|-----| | Hook injection (SetWindowsHookEx) | 11671–11730 | L5.5 | | httpd (web server) | 1269–1279 | L1.3, L1.6, L1.8 | | HTTP C2 pattern | 3233–3353 | L1.3, L2.2 | | HttpSendRequest | 3338–3353 | L2.2 | | Hybrid Analysis | 239 | — | | hubert.dll (sample) | 10799 | L5.2 | ## I | Topic | Book | Lab | |-------|------|-----| | IAT (Import Address Table) | 836, 7937–7942, 8221 | L4.2, L4.3 | | IDA | 1426 | — | | ILSpy / ilspycmd | 7475–7480, 9677 | L3.12, L4.8 | | INetSim | 2158–2172 | L1.7 | | InternetOpen / InternetConnect | 3247–3296 | L2.2 | | InternetReadFile | 1589, 3250, 6051 | L1.4, L2.2 | | iptables | 2322–2359 | L1.8 | | IsDebuggerPresent | 10556–10674 | L5.1, L5.9 | | iviewers.dll (sample) | 7007–7172 | L3.10 | ## J–K | Topic | Book | Lab | |-------|------|-----| | JavaScript deobfuscation | 6407–6700 | L3.6, L3.7 | | JE/JZ, JNE/JNZ (jumps) | 3153–3167 | L2.1, L2.5 | | jq (JSON processing) | 1562 | L1.4 | ## L | Topic | Book | Lab | |-------|------|-----| | lansrv.exe (sample) | 11260 | L5.9 | | LEA instruction | 4910 | L2.8 | | LoadLibrary | 6286–6288, 7153 | L3.10, L5.10 | | Local variables | 3613–3643 | L2.3 | | Loops (assembly) | 4309–4488 | L2.5 | | loveyou.js (sample) | 6496–6533 | L3.6 | ## M | Topic | Book | Lab | |-------|------|-----| | Multi-stage malware | 6076–6080, 7042 | L3.8–L3.12 | | mydoc.docm (sample) | 5755–5771 | L3.3 | ## N | Topic | Book | Lab | |-------|------|-----| | .NET analysis | 7475–7793, 9597–9797 | L3.12, L4.8 | | .NET reflective loading | 9677, 10047 | L4.8 | | NOP sled | 6220 | L3.5 | | NtGlobalFlag check | 10656 | — | | NtQueryInformationProcess | 11163–11227 | L5.3 | | NtUnmapViewOfSection | 11411–11558 | L5.4 | | numbers-to-string.py | 5788 | L3.3 | ## O | Topic | Book | Lab | |-------|------|-----| | objects.js (SpiderMonkey) | 6496 | L3.6, L3.7 | | OEP (Original Entry Point) | 8226 | L4.3, L5.8, L5.10 | | oledump.py | 5755–5771 | L3.3, L3.4, L4.5 | | OllyDumpEx | 8277 | L4.3, L5.4, L5.8 | | OpenProcess | 10220–10241 | L4.9 | | OutputDebugString | 10673 | — | ## P | Topic | Book | Lab | |-------|------|-----| | Package.exe (sample) | 7007–7172 | L3.10 | | Packed binaries | 7937–8050 | L4.1 | | Parameters (function) | 3671–3725 | L2.3, L2.4 | | PDF analysis | 5280–5500 | L3.1 | | pdf-parser.py | 5310–5500 | L3.1 | | pdfid.py | 5310–5336 | L3.1 | | PDFXCview.exe (sample) | 7866–8044 | L4.5–L4.7 | | PE file format | 861, 7939 | L1.1, L4.1 | | pe_unmapper | 13440–13444 | L5.10 | | PEB (Process Environment Block) | 10556, FS:[30h] | L5.1, L5.9 | | peframe | 846–850 | L1.1, L4.8 | | Persistence | 800, 1065, 2720, 5047 | L1.2, L2.8 | | PeStudio | 816–837 | L1.1, L4.1, many others | | pestr | 779–788 | L1.1, L4.8 | | PowerShell encoded commands | 5988, 6997 | L3.4, L3.9, L3.11 | | PowerShell ISE | 6997–7033 | L3.9, L3.11, L4.5 | | Process hollowing | 11398–11558 | L5.4 | | Process Monitor | 911, 954–1084 | L1.2, L4.5 | | Process32First/Next | 10346–10386 | L4.9, L5.6 | | ProcDOT | 911, 1110–1150 | L1.2, L4.5 | | PUSHAD / POPAD | 8140 | L4.3 | ## Q | Topic | Book | Lab | |-------|------|-----| | qa.doc (sample) | 6148–6371 | L3.5 | | QueryPerformanceCounter | 10715 | — | ## R | Topic | Book | Lab | |-------|------|-----| | raas.exe (sample) | 10676 | L5.6 | | radare2 | 1428 | — | | RDTSC timing check | 10710–10716 | — | | ReadFile | 1521–1787 | L1.5 | | Reflective loading (.NET) | 9677, 10047 | L4.8 | | Registers (32-bit) | 2837–2845 | L2.1 | | Registers (64-bit) | 4900–4936 | L2.8 | | Registry Run keys | 786, 1065, 2720 | L1.2, L2.1 | | RegOpenKeyEx | 2750–2768 | L2.1 | | Regshot | 912, 969–1068 | L1.2 | | REP MOVSB | — | — | | Resource extraction | 4766–4791 | L2.7 | | Return values (EAX/RAX) | 2838, 3860 | L2.3 | | roomsvisitor.saz (sample) | 7042 | L3.8 | | rtfdump.py | 6148–6222 | L3.5 | | runsc / runsc32 | 6306–6337 | L3.5, L4.6 | | rwvg1.exe (sample) | 7407–7793 | L3.12 | ## S | Topic | Book | Lab | |-------|------|-----| | Scylla | 8243–8277 | L4.2, L4.3, L5.8, L5.10 | | ScyllaHide | 10727–10736 | L5.3, L5.6 | | scdbgc / scdbg | 6046–6052 | L3.4, L3.5, L4.6 | | SEH (Structured Exception Handling) | 12240–12307 | L5.7, L5.8 | | setdllcharacteristics | 8177–8190 | L4.2 | | SetWindowsHookExA | 11671–11730 | L5.5 | | Shellcode | 6046–6371 | L3.4, L3.5, L4.6, L4.7 | | ShellExecute | 5014, 6533 | L2.8 | | Sleep API | — | — | | SpiderMonkey | 6488–6668 | L3.6, L3.7, L4.5 | | speakeasy | 1469–1527 | L1.4 | | Stack frame | 3613–3643 | L2.3 | | Stack strings | 10898, 16342 | L5.2 | | Static analysis | 165, 616–880 | L1.1 | | stdcall convention | 3675–3682 | L2.3 | | steel1.pdf (sample) | 5310–5500 | L3.1 | | strdeob.pl | 10898–10900 | L5.2 | | strings (tool) | 782–787 | L1.1, L3.4, L5.2 | | String obfuscation | 10485, 10799 | L5.2 | | svchost.exe (sample) | 2750–2783 | L2.1–L2.8 | | System Informer | 911, 1025 | L1.2, L1.6–L1.8, L4.2, L5.1 | ## T | Topic | Book | Lab | |-------|------|-----| | TEST instruction | 1780 | L2.1, L5.1 | | thiscall convention | 3695–3700 | — | | TLS callbacks | 11260 | L5.9 | | Tool detection (malware) | 10727, 11946 | L5.6 | | translate.py | 6035 | L3.4 | | trid | — | L3.3, L3.4 | ## U | Topic | Book | Lab | |-------|------|-----| | Unpacking | 8090–8312, 7937 | L4.1–L4.4, L5.3, L5.8, L5.10 | | UPX | 7962–8140 | L4.1, L4.2 | ## V | Topic | Book | Lab | |-------|------|-----| | vbprop.exe (sample) | 11657 | L5.5 | | VirtualAlloc | 6015–6018 | L4.7 | | VirtualAllocEx | 10303–10311 | L4.9, L5.4 | | VirtualProtect | 13264 | L5.10 | | VirusTotal | 236–264 | — | ## W | Topic | Book | Lab | |-------|------|-----| | want.exe (sample) | 12191–12247 | L5.7, L5.8 | | WH_MOUSE_LL (hook) | 11671 | L5.5 | | WinDbg | 1427 | — | | WinHost32.exe (sample) | 11270–11557 | L5.4 | | Wireshark | 910, 987–1030 | L1.2, L1.3, L1.6–L1.8, L5.1 | | WriteFile | 1521, 4791 | L1.5, L2.7 | | WriteProcessMemory | 11398 | L5.4 | ## X | Topic | Book | Lab | |-------|------|-----| | x64 calling convention | 4900–5103 | L2.8 | | x64dbg / x32dbg | 1613–1706 | L1.5, L4.3–L4.4, L5.1–L5.10 | | XOR encoding / loop | 6035, 10799 | L3.4, L5.2, L5.9 | | XORSearch | 6252–6260 | L3.5, L5.2 | ## Y | Topic | Book | Lab | |-------|------|-----| | YARA / yara-rules | 6060–6063 | L3.4 | | yep.exe (sample) | 13264 | L5.10 | ## Z | Topic | Book | Lab | |-------|------|-----| | ZwUnmapViewOfSection | 11427, 11554 | L5.4 |