Welcome to the Assembly Tutor project! This project is designed to help you learn assembly language programming through a series of interactive lessons and practice exercises. It covers everything from basic concepts like binary math and registers to advanced topics like anti-debugging techniques and ROP chains.
The project is organized into various lessons and topics. Each lesson includes an explanation, code samples, and interactive exercises to help solidify your knowledge.
assembly-tutor
├── launcher.py # Main script to launch the tutor
├── lessons # Folder containing all lessons categorized by topics
│ ├── advanced # Advanced topics like anti-debugging, optimizations, etc.
│ ├── digital_world # Topics related to digital systems, networking, and protocols
│ ├── intermediate # Intermediate level lessons on assembly concepts
│ ├── intro # Introductory lessons covering basics
│ ├── number_system # Topics on binary, hexadecimal, and number systems
│ └── practice # A variety of practice problems for skill development
├── __pycache__ # Cached Python files
└── README.md # Project documentation
To run the project, you’ll need Python 3.x installed on your machine. This tutor is designed to work in a Unix-like environment, such as Linux or macOS. On Windows, a WSL (Windows Subsystem for Linux) setup is recommended.
You also need to have a basic understanding of assembly language, but the project includes explanations and examples to help you along the way.
To start the tutor, simply run the launcher.py
script:
python launcher.py
This will prompt you to select a lesson and guide you through it. Each lesson will have its own set of instructions and examples, along with quizzes or practice problems for reinforcement.
If you would like to contribute to this project, feel free to fork the repository, create a new branch, and submit a pull request. We welcome contributions in the form of bug fixes, new lessons, or enhancements to the existing content.
This project is licensed under the MIT License. See the LICENSE file for more details.