mirror of
https://github.com/mohitmishra786/amILearningEnough.git
synced 2025-12-18 12:54:42 +03:00
133 lines
5.1 KiB
Markdown
133 lines
5.1 KiB
Markdown
# 🖥️ From Zero to Assembly Programming Master: The Binary Expedition
|
|
|
|
## Phase 1: Foundational Knowledge
|
|
### 1. Computer Architecture Understanding
|
|
#### Books
|
|
- 📘 "Computer Organization and Design" by Patterson and Hennessy
|
|
- 📘 "Computer Architecture: A Quantitative Approach" by Hennessy and Patterson
|
|
|
|
#### Online Courses
|
|
- 🌐 [Coursera: Computer Architecture](https://www.coursera.org/learn/comparch)
|
|
- 🌐 [edX: Computer Architecture Fundamentals](https://www.edx.org/course/computer-architecture)
|
|
|
|
#### Documentation & Resources
|
|
- 📄 [Intel Architecture Manuals](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)
|
|
- 📄 [AMD Developer Guides](https://developer.amd.com/resources/developer-guides-manuals/)
|
|
|
|
### 2. Number Systems and Representation
|
|
#### Books
|
|
- 📘 "Digital Design" by Morris Mano
|
|
- 📘 "Numerical Methods for Engineers" by Steven Chapra
|
|
|
|
#### Online Tutorials
|
|
- 🌐 [Binary and Hexadecimal Tutorial](https://www.electronics-tutorials.ws/binary/bin.html)
|
|
- 🌐 [Khan Academy: Binary](https://www.khanacademy.org/computing/computer-science/digital-info-2)
|
|
|
|
#### Video Resources
|
|
- 📺 Ben Eater's Digital Logic Series on YouTube
|
|
- 📺 Computerphile YouTube Channel - Number Systems Playlist
|
|
|
|
## Phase 2: Low-Level Programming Foundations
|
|
### 1. C Programming Fundamentals
|
|
#### Books
|
|
- 📘 "C Programming Absolute Beginner's Guide" by Perry and Miller
|
|
- 📘 "The C Programming Language" by Kernighan and Ritchie
|
|
|
|
#### Online Courses
|
|
- 🌐 [CS50 Introduction to Programming](https://cs50.harvard.edu/x/)
|
|
- 🌐 [Udacity: Introduction to C Programming](https://www.udacity.com/course/introduction-to-c--cd0261)
|
|
|
|
#### Practice Platforms
|
|
- 🖥️ [HackerRank C Programming](https://www.hackerrank.com/domains/c)
|
|
- 🖥️ [LeetCode C Problems](https://leetcode.com/problemset/all/?difficulty=Easy&page=1&topicSlugs=bit-manipulation)
|
|
|
|
### 2. System-Level Programming Concepts
|
|
#### Books
|
|
- 📘 "Computer Systems: A Programmer's Perspective"
|
|
- 📘 "Advanced Programming in the UNIX Environment"
|
|
|
|
#### Online Resources
|
|
- 🌐 [MIT OpenCourseWare: Computer System Engineering](https://ocw.mit.edu/courses/6-828-operating-systems-engineering-fall-2012/)
|
|
- 📄 [Linux Kernel Documentation](https://www.kernel.org/doc/)
|
|
|
|
## Phase 3: x86 Assembly Introduction
|
|
### 1. Assembly Language Basics
|
|
#### Books
|
|
- 📘 "Professional Assembly Language" by Richard Blum
|
|
- 📘 "Assembly Language Step-by-Step" by Jeff Duntemann
|
|
|
|
#### Online Tutorials
|
|
- 🌐 [NASM Tutorial Official](https://www.nasm.us/doc/)
|
|
- 🌐 [Assembly Language Programming Tutorials](https://www.assemblylanguagetuts.com/)
|
|
|
|
#### Video Courses
|
|
- 📺 Udemy: x86 Assembly Language Programming
|
|
- 📺 YouTube: "x86 Assembly Crash Course" series
|
|
|
|
### 2. Practical Assembly Programming
|
|
#### Practice Platforms
|
|
- 🖥️ [HackThisSite Assembly Challenges](https://www.hackthissite.org/)
|
|
- 🖥️ [WarGames: Bandit Challenges](https://overthewire.org/wargames/bandit/)
|
|
|
|
#### Online Coding Environments
|
|
- 🌐 [Compiler Explorer](https://godbolt.org/)
|
|
- 🌐 [Online x86 Assembler](https://www.onlinegdb.com/online_x86_assembler)
|
|
|
|
## Phase 4: Advanced Assembly Techniques
|
|
### 1. Optimization and Advanced Techniques
|
|
#### Books
|
|
- 📘 "Performance Optimization in Assembly"
|
|
- 📘 "Agner Fog's Optimization Manuals"
|
|
|
|
#### Research Resources
|
|
- 📄 [Intel Optimization Manuals](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)
|
|
- 📄 [Academic Papers on Compiler Optimization](https://scholar.google.com/scholar?q=assembly+optimization+techniques)
|
|
|
|
### 2. Specialized Domains
|
|
#### Reverse Engineering
|
|
##### Books
|
|
- 📘 "Practical Malware Analysis"
|
|
- 📘 "Practical Reverse Engineering"
|
|
|
|
##### Platforms
|
|
- 🖥️ [Crackmes](https://crackmes.one/)
|
|
- 🖥️ [Reverse Engineering Challenges](https://challenges.re/)
|
|
|
|
#### Exploit Development
|
|
##### Books
|
|
- 📘 "The Shellcoder's Handbook"
|
|
- 📘 "Practical Malware Analysis"
|
|
|
|
##### Training Platforms
|
|
- 🌐 [Offensive Security PWK Course](https://www.offensive-security.com/pwk-oscp/)
|
|
- 🌐 [VulnHub Exploit Challenges](https://www.vulnhub.com/)
|
|
|
|
## Phase 5: Mastery and Specialization
|
|
### 1. Operating System Internals
|
|
#### Books
|
|
- 📘 "Operating Systems: Three Easy Pieces"
|
|
- 📘 "Linux Kernel Development" by Robert Love
|
|
|
|
#### Online Courses
|
|
- 🌐 [MIT Operating Systems Course](https://pdos.csail.mit.edu/6.828/2018/overview.html)
|
|
- 🌐 [Linux Foundation Kernel Courses](https://training.linuxfoundation.org/training/linux-kernel-internals-and-development-lfd420/)
|
|
|
|
### 2. Advanced Specializations
|
|
#### Resources
|
|
- 📄 [Embedded Systems Programming Resources](https://www.embedded.com/)
|
|
- 📄 [Device Driver Development Guides](https://www.linuxjournal.com/content/writing-linux-device-drivers)
|
|
|
|
## Recommended Learning Communities
|
|
- 🌐 Reddit: r/ReverseEngineering
|
|
- 🌐 Stack Overflow: Assembly Language Tag
|
|
- 🌐 Discord: Reverse Engineering Servers
|
|
|
|
## Final Wisdom 🚀
|
|
1. Consistency is key
|
|
2. Practice daily
|
|
3. Build small projects
|
|
4. Contribute to open-source
|
|
5. Never stop learning
|
|
|
|
**The journey of a thousand lines of Assembly begins with a single instruction!** 💻
|