this post was submitted on 04 Feb 2024
276 points (99.3% liked)

Technology

59201 readers
3099 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] 7heo@lemmy.ml 18 points 9 months ago* (last edited 9 months ago) (2 children)

~~Somehow I doubt that manufacturers of 13 years old motherboards are going to update their UEFIs... I would love to be proven wrong, but it was hard enough to find a UEFI able to POST with a 2080 super already.~~

Edit: I apologize for having missed the point entirely. I would like to thank SteveTech@Programming.dev for bringing this to my attention. This is actually a firmware hacking mod that works by flashing an already modified (using the tools documented in the linked page) firmware to the UEFI EEPROM of a motherboard.

However I will take the opportunity of hijacking my own comment to point out a couple (important) facts:

  1. Ron Minnich, one of the coreboot developers, once gave me the following, (hardware) life saving advice:

Do not flash firmware on a UEFI EEPROM without having a mean to rescue your board. Meaning buy another chip, get a programmer and keep the original firmware onto the original EEPROM.

  1. Some UEFI firmwares are signed. Obviously, modifying them will break the cryptographic signature. This might entirely prevent you from flashing them, but if it does not, it will in any way always prevent the motherboard from checking the integrity of the file. Therefore, only modify a verified firmware, in a way that you understand. And ideally, sign it afterwards with your own key (or at least keep a copy of its hash in a separate location). This will not help wrt the motherboard, but it will absolutely help you making sure the firmware has not been modified any further.
[–] SteveTech@programming.dev 10 points 9 months ago (1 children)

That's exactly why this project exists, to allow users to add ReBAR support to their old motherboards.

[–] 7heo@lemmy.ml 3 points 9 months ago
[–] quaff@lemmy.ca 3 points 9 months ago (1 children)

I'm running up against the wall of breaking the signature. I guess my motherboard protects itself from unsigned modifications and idiot tinkerers 😂

[–] 7heo@lemmy.ml 4 points 9 months ago* (last edited 9 months ago) (1 children)

You might be able to drop the manufacturer's keys somehow[^1] but I would not recommend.

If you still really want to do this, I would advise you to:

  1. Unsolder the eeprom
  2. Solder a slot-in socket instead
  3. Get a new blank chip
  4. Get an eeprom programmer
  5. Dump the eeprom to a bin file
  6. Flash that bin file onto the new eeprom
  7. Test that the motherboard POSTs
  8. Search for cryptographic signatures (possibly compressed, possibly obfuscated - rolling XOR, reversed, etc) in the bin file
  9. Hack around that bin file trying to blank the keys, or better yet, replace them with yours.
  10. Go to step 7, repeat.

Of course, you could always flash the modified bin onto the new eeprom directly at step 6, but what's the fun in that? 😅

Also, if you really do this(!), please don't forget to document. 🙏

[^1]: I doubt they went as far as "fusing" them in the factory, it would be perceived as "overkill" for a general public product - which I assume it is - and would run the risk of bricking upgradibility of the board, should the manufacturer lose the keys. Plus, it doesn't help anything (quite the contrary) if the keys are somehow leaked by the manufacturer.

[–] quaff@lemmy.ca 3 points 9 months ago* (last edited 9 months ago) (1 children)

Welp. My skills end at #1. So I guess I'm SOL 😂 Thanks for this though! I like knowing that it's possible, even if it's outside of my current ability 🙂

[–] 7heo@lemmy.ml 3 points 9 months ago* (last edited 9 months ago) (1 children)

Well, technically, if you can do #1, you can probably do #2... 😋

And then the rest doesn't require advanced skills, with the exceptions of point #8. Using a programmer is essentially the same as with any other tool. There is a method, you follow it, and you never, ever get close to the blade with your hands when the machine is running. Oh, no, wait, that is for a different tool. 🙃

[–] quaff@lemmy.ca 3 points 9 months ago (1 children)

For sure haha I meant I don't have soldering skills. I know there's a hardware BIOS programmer device I could get, but I feel like at that point, I may as well get a new motherboard 👀

[–] BeardedGingerWonder@feddit.uk 2 points 9 months ago

If you're getting a new motherboard anyway you might as well give it a go. There are some micro soldering training kits you can pick up for ~£15 to practice.