Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alainiamburg/sniffrom
A tool for passive data capture and reconnaissance of serial flash chips. It is used in conjunction with a Saleae logic analyzer to reconstruct flash memory contents and extract contextual information about device operations.
https://github.com/alainiamburg/sniffrom
flash-memory hardware-hacking i2c logic-analyzer python reverse-engineering saleae saleae-logic sniffer spi
Last synced: 22 days ago
JSON representation
A tool for passive data capture and reconnaissance of serial flash chips. It is used in conjunction with a Saleae logic analyzer to reconstruct flash memory contents and extract contextual information about device operations.
- Host: GitHub
- URL: https://github.com/alainiamburg/sniffrom
- Owner: alainiamburg
- License: gpl-3.0
- Created: 2017-03-08T23:56:12.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-07T07:06:51.000Z (about 1 year ago)
- Last Synced: 2024-10-26T11:33:47.228Z (about 2 months ago)
- Topics: flash-memory, hardware-hacking, i2c, logic-analyzer, python, reverse-engineering, saleae, saleae-logic, sniffer, spi
- Language: Python
- Homepage:
- Size: 19.5 MB
- Stars: 281
- Watchers: 20
- Forks: 34
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-network-stuff - **191**星
README
**NOTE:** Saleae Logic version 2 breaks the built-in SPI analyzer export feature, meaning sniffROM currently only works with data exported from Logic version 1.x
As of 12/6/2023 it is unknown when this will be fixed.
* https://discuss.saleae.com/t/logic-2-2-11/436/9
* [Logic2 low-level analyzer export - transaction and packet missing](https://discuss.saleae.com/t/logic2-low-level-analyzer-export-transaction-and-packet-missing/1387)
* [Packet ID always shows up as '0' in Logic 2 #12](https://github.com/saleae/i2c-analyzer/issues/12)# sniffROM
A tool for passive data capture and reconnaissance of serial flash chips. It is used with a Saleae logic analyzer to reconstruct flash memory contents and extract contextual information about device operations.
* Supports SPI and I²C flash chips.
* Preserves the actual memory addresses of captured data.
* Generates a visual map of the reconstructed binary image.
* Generates a timing plot of reads/writes to memory addresses.
* Recognizes 100+ (and currently parses 12) SPI flash commands from the following manufacturers:
* Atmel
* Eon
* Fidelix
* GigaDevice
* Macronix
* Numonyx
* Spansion
* SST
* WinbondSee the [Wiki](https://github.com/alainiamburg/sniffROM/wiki) for documentation
```
usage: sniffROM_new.py [-h] [--addrlen [{2,3,4}]] [--endian [{msb,lsb}]]
[--filter [{r,w}]] [-o [O]] [--summary] [--data-map]
[--timing-plot] [-v]
input_filesniffROM - Reconstructs flash memory contents and extracts other data from
passively sniffed commands in a Saleae logic analyzer capture file. Currently
supports SPI and I2C flash chips.positional arguments:
input_file Saleae Logic SPI or I2C Analyzer Export File (.csv)optional arguments:
-h, --help show this help message and exit
--addrlen [{2,3,4}] set length of SPI memory address in bytes (default: 3)
--endian [{msb,lsb}] set endianness of SPI memory bytes (default: msb)
--filter [{r,w}] analyze only Read or Write commands (default: both)
-o [O] flash image output file name (default: output.bin)
--summary print summary of sniffed commands and metadata
--data-map show visual data map
--timing-plot show timing analysis
-v increase verbosity (up to -vvv)
```