Skip to content

A FREE comprehensive step-by-step embedded hacking course covering Embedded Software Development to Reverse Engineering.

License

Notifications You must be signed in to change notification settings

mytechnotalent/Embedded-Hacking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

FREE Reverse Engineering Self-Study Course HERE


Embedded Hacking

A FREE comprehensive step-by-step embedded hacking course covering Embedded Software Development to Reverse Engineering.

VIDEO PROMO HERE


FREE Book Download


Hardware

Raspberry Pi Pico 2 w/ Header BUY

USB A-Male to USB Micro-B Cable BUY

Raspberry Pi Pico Debug Probe BUY

Complete Component Kit for Raspberry Pi BUY

10pc 25v 1000uF Capacitor BUY

10% PiShop DISCOUNT CODE - KVPE_HS320548_10PC



Schematic

image


Syllabus

Week 1

Introduction and Overview of Embedded Reverse Engineering: Ethics, Scoping, and Basic Concepts

Week 1 Notebook HERE

Exercise 1: Explore in Ghidra HERE

Exercise 2: Find Strings in Ghidra HERE

Exercise 3: Find Cross-References in Ghidra HERE

Exercise 4: Connect GDB & Basic Exploration HERE

Chapter 1: hello, world

This chapter covers the basics of setting up a dev environment and basic template firmware for the Pico 2 MCU in addition to printing hello, world.

-> Click HERE to read the FREE pdf book.

Chapter 2: Debugging hello, world

This chapter covers the debugging of our firmware for the Pico 2 MCU hello, world program.

-> Click HERE to read the FREE pdf book.

Week 2

Hello, World - Debugging and Hacking Basics: Debugging and Hacking a Basic Program for the Pico 2

Week 2 Notebook HERE

Exercise 1: Change the Message HERE

Exercise 2: Use a Different SRAM Address HERE

Exercise 3: Examine Memory Around Your String HERE

Exercise 4: Automate the Hack HERE

Chapter 3: Hacking hello, world

This chapter covers the hacking of our firmware for the Pico 2 MCU hello, world program.

-> Click HERE to read the FREE pdf book.

Week 3

Embedded System Analysis: Understanding the RP2350 Architecture w/ Comprehensive Firmware Analysis

Chapter 4: Embedded System Analysis

This chapter covers a comprehensive embedded system analysis reviewing parts of the RP2350 datasheet and helpful firmware analysis tools.

-> Click HERE to read the FREE pdf book.

Week 4

Variables in Embedded Systems: Debugging and Hacking Variables w/ GPIO Output Basics

Chapter 5: Intro To Variables

This chapter covers an introduction to variables as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 6: Debugging Intro To Variables

This chapter covers debugging an introduction to variables as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 7: Hacking Intro To Variables

This chapter covers hacking an introduction to variables as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 8: Uninitialized Variables

This chapter covers uninitialized variables as well as an intro to GPIO outputs as we blink an LED as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 9: Debugging Uninitialized Variables

This chapter covers debugging uninitialized variables as well as an intro to GPIO outputs as we blink an LED as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 10: Hacking Uninitialized Variables

This chapter covers hacking uninitialized variables as well as an intro to GPIO outputs as we blink an LED as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Week 5

Integers and Floats in Embedded Systems: Debugging and Hacking Integers and Floats w/ Intermediate GPIO Output Assembler Analysis

Chapter 11: Integer Data Type

This chapter covers the integer data type in addition to a deeper assembler dive into GPIO outputs as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 12: Debugging Integer Data Type

This chapter covers debugging the integer data type in addition to a deeper assembler dive into GPIO outputs as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 13: Hacking Integer Data Type

This chapter covers hacking the integer data type in addition to a deeper assembler dive into GPIO outputs as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 14: Floating-Point Data Type

This chapter covers the floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 15: Debugging Floating-Point Data Type

This chapter covers debugging the floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 16: Hacking Floating-Point Data Type

This chapter covers hacking the floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 17: Double Floating-Point Data Type

This chapter covers the double floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 18: Debugging Double Floating-Point Data Type

This chapter covers debugging the double floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 19: Hacking Double Floating-Point Data Type

This chapter covers hacking the double floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Week 6

Static Variables in Embedded Systems: Debugging and Hacking Static Variables w/ GPIO Input Basics

Chapter 20: Static Variables

This chapter covers static variables as well as an intro to GPIO inputs as we work with push buttons as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 21: Debugging Static Variables

This chapter covers debugging static variables as well as an intro to GPIO inputs as we work with push buttons as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 22: Hacking Static Variables

This chapter covers hacking static variables as well as an intro to GPIO inputs as we work with push buttons as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Week 7

Constants in Embedded Systems: Debugging and Hacking Constants w/ 1602 LCD I2C Basics

Chapter 23: Constants

This chapter covers constants as well as an intro to I2C as we work a 1602 LCD as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 24: Debugging Constants

This chapter covers debugging constants as well as an intro to I2C as we work a 1602 LCD as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 25: Hacking Constants

This chapter covers hacking constants as well as an intro to I2C as we work a 1602 LCD as it relates to embedded development on the Pico 2.

Week 8

Midterm Project: The InfuSafe Pro Incident

In the aftermath of a catastrophic medical device failure, you are thrust into the role of an FDA forensic investigator facing an impossible crisis: 23 patients dead, 100 million recalled insulin pumps sitting in warehouses worldwide, and 2.3 million lives hanging in the balance all while the only evidence remaining is raw binary firmware after a rogue engineer destroyed every line of source code before fleeing to Montenegro. Armed only with GDB, Ghidra, and the reverse engineering skills honed over the first seven weeks of this course, you must excavate the truth from machine code, identify the lethal bugs spawned by an AI code generator called "OopsieGPT," and determine whether these devices can be salvaged to save millions in underserved communities or if $4.7 billion in humanitarian medical technology must be incinerated. This is not a simulation; this is triage at the intersection of embedded systems security and human survival.

Week 9

Operators in Embedded Systems: Debugging and Hacking Operators w/ DHT11 Temperature & Humidity Sensor Single-Wire Protocol Basics.

-> Click HERE to read the FREE pdf book.

Chapter 26: Operators

This chapter covers operators as well as an intro to single-wire protocol as we work a DHT11 temperature and humidity sensor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 27: Debugging Operators

This chapter covers debugging operators as well as an intro to single-wire protocol as we work a DHT11 temperature and humidity sensor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 28: Hacking Operators

This chapter covers hacking operators as well as an intro to single-wire protocol as we work a DHT11 temperature and humidity sensor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Week 10

Conditionals in Embedded Systems: Debugging and Hacking Conditionals w/ SG90 Servo Motor PWM Basics

Chapter 29: Static Conditionals

This chapter covers static conditionals as well as an intro to PWM as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 30: Debugging Static Conditionals

This chapter covers debugging static conditionals as well as an intro to PWM as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 31: Hacking Static Conditionals

This chapter covers hacking static conditionals as well as an intro to PWM as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 32: Dynamic Conditionals

This chapter covers dynamic conditionals as well as additional PWM examples as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 33: Debugging Dynamic Conditionals

This chapter covers debugging dynamic conditionals as well as additional PWM examples as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 34: Hacking Dynamic Conditionals

This chapter covers hacking dynamic conditionals as well as additional PWM examples as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Week 11

Functions in Embedded Systems: Debugging and Hacking Structs & Functions w/ Infrared Receiver & Transmitter Basics and the Final Project Intro.

Chapter 35: Structures

This chapter covers structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 36: Debugging Structures

This chapter covers debugging structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 37: Hacking Structures

This chapter covers hacking structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 38: Functions, w/ Param, w/ Return

This chapter covers functions, w/ params and w/ a return value as well as additional infrared examples as we work a infrared receiver and infrared remote controller it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 39: Debugging Functions, w/ Param, w/ Return

This chapter covers debugging functions, w/ params and w/ a return value as well as additional infrared examples as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Chapter 40: Hacking Functions, w/ Param, w/ Return

This chapter covers hacking functions, w/ params and w/ a return value as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Week 12

Unknown Firmware Debugging and Hacking

Week 13

Final Review – Embedded Debugging and Hacking Techniques w/ Advanced Firmware Analysis Q&A

Week 14

Final Project: Operation Dark Eclipse

Forty-two stories beneath frozen tundra, a shadow intelligence alliance called Dark Eyes operates centrifuges enriching weapons-grade material for a first strike against Washington, D.C. and Agent NIGHTINGALE gave her life to extract the single firmware file that now sits before you. Conventional warfare cannot reach this fortress buried beneath rock and concrete, but you can: as the architect of a precision cyber weapon in the tradition of Stuxnet, you must reverse engineer the RP2350-based centrifuge controller, craft binary patches that double the spin speed while falsifying every sensor readout to show nominal operation, and execute the sabotage that will cascade-destroy their enrichment program and set their nuclear ambitions back a decade. Every skill from the entire semester ARM assembly, Ghidra analysis, IEEE-754 floating-point manipulation, branch modification, log desynchronization converges in this final mission. Agent NIGHTINGALE's seven-year-old daughter still watches the driveway, waiting for a mother who will never return. Honor that sacrifice. Complete the mission. Do not fail.


License

Apache License, Version 2.0