Bluff your way in x64 assembler
summary
Quick practical guide to reading x64: common instructions are mostly mov, lea, call and test so learning 20 covers 90–95% and the top three cover ~50–60%; Linux passes six args in registers while Windows reserves four stack slots for debugging; use Compiler Explorer to inspect optimizations, force a function pointer via volatile to prevent inlining, and spot tail-call elimination. Look for leaq used as arithmetic instead of multiplies, rely on .eh_frame or PDATA unwind info and tools like libunwind or RtlVirtualUnwind to walk stacks.
AI-written summary · about
chapters (15)
- 0:00Bluff your way in x64 assembler
- 2:19Where does assembler fit in?
- 8:18x86 introduction
- 17:15Don't Panic!!
- 18:01The stack frame
- 19:45The ideal stack frame
- 22:17A real (Linux) stack frame
- 25:38A real (Windows) stack frame
- 31:01Top three instructions
- 32:41Two different dialects
- 35:10mov addressing
- 37:23Other popular instructions
- 42:33Assembler from source
- 44:34Assembler from binary
- 58:23Compiler Explorer - locally
related talks
31m“Enough x86 Assembly to Be Dangerous”
54mx86 Internals for Fun & Profit
46mWhat C and C++ can do and when do you need Assembly?
20mHow Debuggers Work
01h 21mCPU optimized data structures - more fun with assembler
24m(Ab)using Compiler Tools
01h 05mHow to Write a Heap Memory Profiler
51mAutomation Techniques in C++ Reverse Engineering
