> For the complete documentation index, see [llms.txt](https://security.navidnaf.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://security.navidnaf.com/anything-mobile-iot/firmware.md).

# Firmware

Firmware is a type of a specialized software that provides low-level control for a device's specific hardware. It is typically embedded directly into the hardware components of a device, such as microcontrollers, chips, or read-only memory (ROM).&#x20;

To be concise and easy going - A firmware is a small piece of software that makes hardware work and do what its manufacturer intended it to do. Without the firmware, the device wouldn't work.

## How to Obtain Firmware

* From the Vendors Website
* Searching for it
* Reversing the Mobile Application
* Sniffing the Over the Air (OTA) update mechanism
* Dumping it from the device

## Characteristics

* **Permanent Software:** Unlike regular software that can be easily changed or updated, firmware is stored in non-volatile memory (like ROM, EEPROM, or Flash Memory) and remains intact even when the device is powered off.
* **Low-Level Operations:** Firmware operates at a lower level than most software, interacting directly with hardware to control basic functions and operations.&#x20;
* **Specific to Hardware:** It is tailored to the specific hardware of the device, providing the necessary instructions for how the device communicates with other hardware components and software systems.

## Examples of Firmware

* **BIOS (Basic Input/Output System)**: Found in computers, it initializes and tests hardware during the booting process before handing control over to the operating system.
* **Embedded Systems**: Found in various devices like smartphones, cameras, and household appliances, controlling specific functionalities of these devices.
* **Network Devices**: In routers and modems, firmware manages network protocols and data traffic handling.
