🍗 Wiki

Hardware

Hacking your target machines just for fun

Hardware: Hacking your target machines just for fun

I started learning electronic engineering at my university because I really know how computer works in detail and wanted to hack hardwares in several way. I wanted to know what is that small black things on the green boards, and more, I wanted to make my own machines, so called Internet of Things, to make my life easier.

In January 2018, a serious vulnerability was unveiled: the Meltdown and Spectre. I was shocked(and feel happiness) because there are another field that I never knew. My shallow knowledge only knows about how to write a ROP gadgets and what is Linux and so on.

I think hackers like you readers really know how to do or start hardware hacking, but it is more than just hacking; requires advanced computer science knowledge. And because the computer science is derived from electronic engineering, you hardware hackers should know basics of it. But don’t hesitate, learn them by doing. Dismantle gadgets and routers in your home, and follow the lines on board.

This document would be mixture of practical and theoretical backgrounds because of the reasons above.

1. Hardware Level

1.2. ROMs

ROM(Read Only Memory) can store important data like Firmware and bootloader.

1.4. Desoldering and Getting firmware

Desoldering, more often Chip-off, is to get off the chips that you might want to analyze from a PCB board.

Modern chips are vary; but there are standards.

2. Software Level

Related docs: Emulation

2.1. Dissecting firmware images

There are two way to get firmwares(AFAIK): Downloading firmwares from the official site of manufacturers, and getting the dump of firmware from the ROM. Latter was introduced above.

2.2. Hardware Emulation

There are a few attempts let you build a firmware emulated environment automatically.

Unicorn Engine is an ultimate CPU emulator. Many frameworks and tools are based on Unicorn Engine, impacting on the cybersecurity field.

Qiling Framework offers full system emulation on the top of Unicorn Emulator.