mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-05-29 10:41:27 +02:00
Updated WEEK05
This commit is contained in:
+19
-19
@@ -1,6 +1,6 @@
|
||||
?# Week 10: Conditionals in Embedded Systems: Debugging and Hacking Static & Dynamic Conditionals w/ SG90 Servo Motor PWM Basics
|
||||
# 📘 Week 10: Conditionals in Embedded Systems: Debugging and Hacking Static & Dynamic Conditionals w/ SG90 Servo Motor PWM Basics
|
||||
|
||||
## ? What You'll Learn This Week
|
||||
## 🎯 What You'll Learn This Week
|
||||
|
||||
By the end of this tutorial, you will be able to:
|
||||
- Understand the difference between static and dynamic conditionals in C
|
||||
@@ -468,7 +468,7 @@ Embedded-Hacking/
|
||||
|
||||
---
|
||||
|
||||
## ? Part 9: Hands-On Tutorial - Static Conditionals Code
|
||||
## 🔧 Part 9: Hands-On Tutorial - Static Conditionals Code
|
||||
|
||||
### Step 1: Review the Source Code
|
||||
|
||||
@@ -572,7 +572,7 @@ one
|
||||
|
||||
---
|
||||
|
||||
## ? Part 10: Debugging with GDB (Static Conditionals)
|
||||
## 🐛 Part 10: Debugging with GDB (Static Conditionals)
|
||||
|
||||
### Step 5: Start OpenOCD (Terminal 1)
|
||||
|
||||
@@ -704,7 +704,7 @@ quit
|
||||
|
||||
---
|
||||
|
||||
## ? Part 11: Setting Up Ghidra for Static Conditionals
|
||||
## 🔧 Part 11: Setting Up Ghidra for Static Conditionals
|
||||
|
||||
### Step 17: Start Ghidra
|
||||
|
||||
@@ -750,7 +750,7 @@ Wait for analysis to complete.
|
||||
|
||||
---
|
||||
|
||||
## ? Part 12: Resolving Functions in Ghidra (Static)
|
||||
## 🔍 Part 12: Resolving Functions in Ghidra (Static)
|
||||
|
||||
### Step 22: Navigate to Main
|
||||
|
||||
@@ -827,7 +827,7 @@ bl FUN_xxxxx ; sleep_ms
|
||||
|
||||
---
|
||||
|
||||
## ? Part 13: Hacking Static Conditionals
|
||||
## ✏️ Part 13: Hacking Static Conditionals
|
||||
|
||||
### Step 28: Open the Bytes Editor
|
||||
|
||||
@@ -882,7 +882,7 @@ Find the sleep_ms delay value:
|
||||
Convert and flash:
|
||||
|
||||
```powershell
|
||||
cd C:\Users\assem.KEVINTHOMAS\OneDrive\Documents\Embedded-Hacking\0x001d_static-conditionals
|
||||
cd C:\Users\flare-vm\Desktop\Embedded-Hacking-main\0x001d_static-conditionals
|
||||
python ..\uf2conv.py build\0x001d_static-conditionals-h.bin --base 0x10000000 --family 0xe48bff59 --output build\hacked.uf2
|
||||
```
|
||||
|
||||
@@ -901,7 +901,7 @@ fun
|
||||
|
||||
---
|
||||
|
||||
## ? Part 14: Dynamic Conditionals - The Source Code
|
||||
## 📌 Part 14: Dynamic Conditionals - The Source Code
|
||||
|
||||
### Step 34: Review the Dynamic Code
|
||||
|
||||
@@ -972,7 +972,7 @@ int main(void) {
|
||||
|
||||
---
|
||||
|
||||
## ? Part 15: Debugging with GDB (Dynamic Conditionals)
|
||||
## 🐛 Part 15: Debugging with GDB (Dynamic Conditionals)
|
||||
|
||||
### Step 37: Start OpenOCD (Terminal 1)
|
||||
|
||||
@@ -1103,7 +1103,7 @@ quit
|
||||
|
||||
---
|
||||
|
||||
## ? Part 16: Setting Up Ghidra for Dynamic Conditionals
|
||||
## 🔧 Part 16: Setting Up Ghidra for Dynamic Conditionals
|
||||
|
||||
### Step 49: Create New Project
|
||||
|
||||
@@ -1159,7 +1159,7 @@ This confirms it's a UART initialization function!
|
||||
|
||||
---
|
||||
|
||||
## ? Part 17: Understanding Branch Instructions
|
||||
## 🔬 Part 17: Understanding Branch Instructions
|
||||
|
||||
### ARM Branch Instructions
|
||||
|
||||
@@ -1207,7 +1207,7 @@ skip_printf:
|
||||
|
||||
---
|
||||
|
||||
## ? Part 18: Advanced Hacking - Creating Stealth Commands
|
||||
## ✏️ Part 18: Advanced Hacking - Creating Stealth Commands
|
||||
|
||||
### The Goal
|
||||
|
||||
@@ -1302,7 +1302,7 @@ Little-endian: 00 00 f0 41
|
||||
2. Convert to UF2:
|
||||
|
||||
```powershell
|
||||
cd C:\Users\assem.KEVINTHOMAS\OneDrive\Documents\Embedded-Hacking\0x0020_dynamic-conditionals
|
||||
cd C:\Users\flare-vm\Desktop\Embedded-Hacking-main\0x0020_dynamic-conditionals
|
||||
python ..\uf2conv.py build\0x0020_dynamic-conditionals-h.bin --base 0x10000000 --family 0xe48bff59 --output build\hacked.uf2
|
||||
```
|
||||
|
||||
@@ -1314,7 +1314,7 @@ python ..\uf2conv.py build\0x0020_dynamic-conditionals-h.bin --base 0x10000000 -
|
||||
|
||||
---
|
||||
|
||||
## ? Part 19: Summary and Review
|
||||
## 📊 Part 19: Summary and Review
|
||||
|
||||
### What We Accomplished
|
||||
|
||||
@@ -1380,7 +1380,7 @@ python ..\uf2conv.py build\0x0020_dynamic-conditionals-h.bin --base 0x10000000 -
|
||||
|
||||
---
|
||||
|
||||
## ? Key Takeaways
|
||||
## 💡 Key Takeaways
|
||||
|
||||
1. **Static conditionals have fixed outcomes** - The same path always executes
|
||||
|
||||
@@ -1404,7 +1404,7 @@ python ..\uf2conv.py build\0x0020_dynamic-conditionals-h.bin --base 0x10000000 -
|
||||
|
||||
---
|
||||
|
||||
## ? Glossary
|
||||
## 📖 Glossary
|
||||
|
||||
| Term | Definition |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
@@ -1422,7 +1422,7 @@ python ..\uf2conv.py build\0x0020_dynamic-conditionals-h.bin --base 0x10000000 -
|
||||
|
||||
---
|
||||
|
||||
## ? Additional Resources
|
||||
## 📚 Additional Resources
|
||||
|
||||
### ASCII Reference Table
|
||||
|
||||
@@ -1464,7 +1464,7 @@ python ..\uf2conv.py build\0x0020_dynamic-conditionals-h.bin --base 0x10000000 -
|
||||
|
||||
---
|
||||
|
||||
## ? Real-World Implications
|
||||
## 🌍 Real-World Implications
|
||||
|
||||
### Why Stealth Commands Matter
|
||||
|
||||
|
||||
Reference in New Issue
Block a user