Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Firestarter is an application for the Relatively-Universal-ROM-Programmer
Get one here Relatively-Universal-ROM-Programmer
Arduino PlatformIO project is found here Firestarter
Firestarter in action watch the video
Anders S Nielsen creator of the Relatively-Universal-ROM-Programmer talks about Firestarter watch the video
Support and discustions forum at Discord
To install the Firestarter Python program and the firmware on the Arduino, follow the steps below:
Use the package manager pip to install Firestarter.
pip install firestarter
This command installs the Firestarter application, which allows you to interact with EPROMs using the Relatively-Universal-ROM-Programmer.
First, a few things to remember. #1 Don't attach the Programmer shield while power is on.
#2 Don't turn on power if the controller (Arduino) isn't programmed with appropriate firmware.
#3 Don't insert a ROM in the socket until you're ready to write it. Don't leave a ROM in the socket during reset or programming.
To install the firmware on the Arduino, use the fw command with the --install
option. This command installs the latest firmware version on the Arduino.
-p, --avrdude-path <path>
: Full path to avrdude (optional), set if avrdude is not found.--port <port>
: Serial port name (optional), set if the Arduino is not found.The fw --install
command installs the latest firmware on the Arduino. The process typically involves the following steps:
avrdude
using the --avrdude-path
option if it is not found automatically.--port
option.avrdude
.To install the firmware on the Arduino, you can run:
firestarter fw --install
Firestarter provides several commands to interact with EPROMs using the Relatively-Universal-ROM-Programmer. Available commands: read, write, blank, erase, list, search, info, vpp, vcc, fw, config
firestarter [options] {command}
-h, --help
: Show help message-v, --verbose
: Enable verbose mode--version
: Show the Firestarter version and exit.Reads the content from an EPROM.
firestarter read <eprom> [output_file]
<eprom>
: The name of the EPROM.[output_file]
: (Optional) Output file name, defaults to <EPROM_NAME>.bin
.The read command reads the data from the specified EPROM and optionally saves it to a file. The process typically involves the following steps:
<EPROM_NAME>.bin
.Writes a binary file to an EPROM.
firestarter write <eprom> <input_file> [options]
<eprom>
: The name of the EPROM.<input_file>
: Input file name.-b, --ignore-blank-check
: Ignore blank check before write (and skip erase).-f, --force
: Force write, even if the VPP or chip ID don't match.-a, --address <address>
: Write start address in decimal or hexadecimal.The write command writes the contents of a specified binary file to the EPROM. The process typically involves the following steps:
--ignore-blank-check
option.--ignore-blank-check
is used.Checks if an EPROM is blank.
firestarter blank <eprom>
<eprom>
: The name of the EPROM.Erases an EPROM, if supported.
firestarter erase <eprom>
<eprom>
: The name of the EPROM.Lists all EPROMs in the database.
firestarter list [options]
-v, --verified
: Only shows verified EPROMs.Searches for EPROMs in the database.
firestarter search <text>
<text>
: Text to search for.Displays information about an EPROM.
firestarter info <eprom>
<eprom>
: EPROM name.The info command retrieves and displays detailed information about the specified EPROM. This information typically includes:
Displays the VPP voltage.
firestarter vpp
Displays the VCC voltage.
firestarter vcc
Checks or installs the firmware version.
firestarter fw [options]
-i, --install
: Try to install the latest firmware. (Do this without a chip in the socket or without the shield attached)-p, --avrdude-path <path>
: Full path to avrdude (optional), set if avrdude is not found.--port <port>
: Serial port name (optional).Handles configuration values.
firestarter config [options]
-v, --vcc <voltage>
: Set Arduino VCC voltage.-r1, --r16 <resistance>
: Set R16 resistance, resistor connected to VPE.-r2, --r14r15 <resistance>
: Set R14/R15 resistance, resistors connected to GND.To read an EPROM named W27C512 and save the output to output.bin:
firestarter read W27C512 output.bin
To write a binary file input.bin to an EPROM named W27C512:
firestarter write W27C512 input.bin
To get information about an EPROM named W27C512:
firestarter info W27C512
This command will output detailed information about the W27C512 EPROM, showing package layout and the jumper configuration for the RURP shield.
Eprom Info
Name: W27C512
Manufacturer: WINBOND
Number of pins: 28
Memory size: 0x10000
Type: EPROM
Can be erased: True
Chip ID: 0xda08
VPP: 12
Pulse delay: 100µS
28-DIP package
-----v-----
A15 -| 1 28 |- VCC
A12 -| 2 27 |- A14
A7 -| 3 26 |- A13
A6 -| 4 25 |- A8
A5 -| 5 24 |- A9
A4 -| 6 23 |- A11
A3 -| 7 22 |- OE/Vpp
A2 -| 8 21 |- A10
A1 -| 9 20 |- CE
A0 -| 10 19 |- D7
D0 -| 11 18 |- D6
D1 -| 12 17 |- D5
D2 -| 13 16 |- D4
GND -| 14 15 |- D3
-----------
Jumper config
JP1 5V [ ●(● ●)] A13 : A13
JP2 5V [(● ●)● ] A17 : VCC
JP3 28pin [ ● ● ● ] 32pin : NA
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
FAQs
EPROM burner software for the Relatively Universal ROM Programmer
We found that firestarter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.