Skip to main content

This project allows decoding the password from the SPI NOR flash chip dump of an IBM ThinkPad 365XD. It might work on different models as well. Shorting the pins of the EEPROM at the right time during boot might also work for bypassing the supervisor password, but this is relatively hard to due to the position of the EEPROM. If you have a programmer and can desolder a chip, I recommend this method.

Location of the EEPROM

The code has only been tested with the IBM ThinkPad 365XD, which has an ST93C46C Microwire (SPI) EEPROM. It has also only been tested on a US int keyboard and will likely break on something else.

Prerequisites

You need to dump the EEPROM before using this program. I used the TL866+ after desoldering the chip. Attaching the wires with a SOIC-8 clip did not work for me. For this particular ThinkPad model, the command was:

sudo minipro --device "ST93C46C(x8)@SOIC8" --read password.rom

Python 3 is also needed.

Installation and usage

The following assumes that ~/.local/bin is part of your PATH variable and that python3-pip is installed. Install this tool using Pip:

pip3 install ibmsupervisor
ibmsupervisor --file password.rom

You can also run this tool without utilizing setuptools:

git clone https://gitlab.com/eloydegen/ibmsupervisor
cd ibmsupervisor/ibmsupervisor
chmod +x ./password.py
./password.py --file password.rom

Common problems

  • If the ThinkPad prints "178" when booting, the EEPROM is very likely not making contact after you have soldered it back on the PCB.
  • If the TL866 gives a file full of 0xFF bytes, the pins haven't made good contact.
  • In case the ThinkPad gives a CRC error after reading the data but you have not changed anything, you can flash the okeee.rom to the chip. This has been tested on another ThinkPad 365XD and is known to work. As the filename implies, the supervisor password that is contained in this rom is "okeee" without the quotes. Note that you should keep the dump you made, because that one very likely contains the HDD password that you will need to boot from it.

Notes

In the bin folder, the abcdefdg.rom has been extracted from a machine and okeee.rom is known to work on a different machine as well. 44keee.rom is a broken test example. nzhnzh.rom is likely broken as well, with a corrupt CRC.

Links

Metadata

Release files for ibmsupervisor 0.26

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ibmsupervisor 0.26
File Size Uploaded
ibmsupervisor-0.26.tar.gz 4.5 kB Details

Release files / ibmsupervisor-0.26.tar.gz

Download URL ibmsupervisor-0.26.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
96cf43f222a024165fe5dca449535521b27b2f715854a2780133fa296963198d
BLAKE2b-256 checksum
How to use checksums
2107258964d689560cea8b6d120c3a3affe56b1600f6258ac280b5b00d86e47f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.26 This release

1 release file

0.25

1 release file

0.24

1 release file

0.23

1 release file

0.22

1 release file

0.21

1 release file

0.20

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page