cs-pub-ro / operating-systems

Teaching resources (OER) for Operating Systems
https://cs-pub-ro.github.io/operating-systems/
Other
7 stars 52 forks source link

chapters/data/memory-security/drills/tasks: Add solutions and checkers #134

Open teodutu opened 2 days ago

teodutu commented 2 days ago

The tasks in the memory-security subchapter [1] require students to make small changes and notice various behaviours. These can be verified via scripts for each individual task.

Each task (except for exec-shellcode [2]) requires the following changes:

  1. Add solution.
  2. Remove the support/ folder and add the generate_skels.py infrastructure to generate the skeletons from the solutions.
  3. Add checker scripts similar to exec-shellcode [3] to each task. Make sure to only place these checkers in the solution/ folder and have them copied to support/ when running make skels.

[1] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/data/memory-security/drills/tasks [2] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/data/memory-security/drills/tasks/exec-shellcode [3] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/data/memory-security/drills/tasks/exec-shellcode/support/tests

teodutu commented 2 days ago

Also, add instructions about running objdump specifically about using the -M intel arguments to display the Assembly code in the Intel syntax as opposed to the default AT&T.