User Tools

Site Tools


labs:disassembly

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

labs:disassembly [2017/03/23 16:57]
manuelei
labs:disassembly [2020/08/31 21:03]
Line 1: Line 1:
-====== Mario Kart Disassembly ====== 
  
-In this lab you learn how code and data are represented in memory and how to make low-level changes to a program in an assembly language. You will create modifications (mods) to a game. 
- 
-===== Exercises ===== 
- 
-   * Download the ZIP file with the the material for this lab from http://​www.disco.ethz.ch/​lectures/​ti2fp/​exercises/​disassembly.zip. Unpack it to some local folder. 
- 
-   * 1) Find the correct input to defuse the "​bomb"​. 
- 
-   * 2) When you run this program, a pop-up will appear that asks you to pay for a license. Disable this pop-up (or postpone it for a long time). 
- 
-   * 3) Now, you are ready to hack into SuperTuxKart! The game is installed on your machines. Show us your abilities by modifying the game in cool ways. For instance, make your kart faster, get better items, etc. Before you start modifying the binary, we recommend you to save a backup copy of it so when you break the game, you always have a clean copy. If you prefer, you can also modify a different game. \\ Hint: Have a look at the %%--%%demangle option of objdump. 
- 
-===== Recommended Tools ===== 
- 
-  * Text editor: Geany 
-  * Hex editor: Bless 
-  * Disassembler:​ objdump 
-  * Web assembler/​disassembler:​ https://​defuse.ca/​online-x86-assembler.htm (Attention: Uses Intel syntax, which has arguments in different order than objdump.) 
- 
-  * IA-32 cheat sheet (GNU format): http://​www.cs.utsa.edu/​~clark/​cs3843/​IA32cheatSheet.pdf 
-  * Intel IA-32 instruction set reference: http://​www.intel.com/​content/​dam/​www/​public/​us/​en/​documents/​manuals/​64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf 
- 
-===== Hints ===== 
-  * 1) Assembly code is not needed. 
- 
-  * 3)  
labs/disassembly.txt ยท Last modified: 2020/08/31 21:03 (external edit)