This second day is more focus on Real World module analysis using both static and dynamic techniques. You will analyze famous WebAssembly cryptominers and discover how to perform dynamic binary instrumentation of wasm module. Then, they will learn which anti-debugging and obfuscation techniques exist for WebAssembly and how to bypass them. Finally, student will hack some video games compiled to WebAssembly and create cheats.
Assignment #1 - Real-World: Cryptominers analysis
- Analyze instructions analytics/metrics to find interesting functions.
- Compare call graph of different miners to find similarities.
- Create YARA detection rules specific for WebAssembly cryptominers.
Assignment #2 - Tracing and Dynamic Binary instrumentation
- Trace module execution dynamically
- Modify wasm module to hook functions and instructions.
- Create DBI analysis script to solve challenges.
Assignment #3 - Anti-debugging and (De)-Obfuscation
- Learn how to detect debugger using Javascript and WebAssembly.
- Implement some obfuscation techniques into wasm module.
- Decompile and remove automatically obfuscation inside wasm codes.
Assignment #4 - Real-World: Hacking WebAssembly games
- Discover how advanced modules like video games works.
- Explore running memory and find interesting values.
- Create cheating patch for different targets.