This course can be registered as a 1 day course or a 2 day course.
Day 1: A Hands-on Introduction to Hardware Hacking - $350
In this 1 day of training, you'll learn the basics of introductory hardware hacking. You'll learn practical skills, tool usage, and also learn some underlying theory. Specifically, time permitting, you'll learn:
- Basic electronics theory.
- How to solder. You'll implement this basic skill to build a small toy electronics kit.
- How to interface with UART. You'll disassemble an ADSL router and interface with it.
- How to desolder ICs and dump serial flash using the BusPirate.
- Simple Arduino circuits and programming, with applications in security.
Day 2: More Hands-on Hacking - $600
In this course students will extend their knowledge from a Hands on Introduction to Hardware Hacking to reverse engineer and directly interface with SPI and I2C using ESP8266-based NodeMCU circuits and programming. Many of the techniques in the prerequisite course using the Bus Pirate will be replicated and improved upon by students developing their own similar tools from the ground up.
More specifically, time permitting, students will:
- Learn basic Arduino development on the NodeMCU and implement simple circuits such as using PWM and Low Pass Filters to generate analog waveforms.
- Develop their own SPI Flash memory dumper by developing an SPI driver and building the hardware based around the NodeMCU. They will then desolder and dump the Flash memory of an ADSL router.
- Implement an SPI interface by Bit Banging using the NodeMCU without requiring SPI hardware support.
- Reverse engineer a consumer device to identify the communications protocol exposed via test points and develop their own I2C EEPROM dumper similar to the SPI Flash dumper.
Prerequisites for Day 2: Completion of “A Hands on Introduction to Hardware Hacking” or equivalent (with confirmation before registering by InfoSect - experience interfacing with SPI and dumping flash, desoldering using hot air, basic Arduino, simple electronics) as well as proficiency in the C programming language.
Format: Lectures and Labs
Time: 9am - 5pm each day
Tea, coffee, and biscuits provided.
Required to bring a laptop with Linux installed.