I need to change a program which updates firmware on a computer. I want to decompile it, make changes in it, then compile it and use it for updating my computer's firmware.

I wonder if it is possible to make it right, I don't want to damage my computer, I also don't want to waste my time. I mean, is it possible to make just one small change, so the code I have after decompilation, change and compilation will be almost the same and safe?

  • Um, yes. Just make a tiny, tiny change. But how could you be sure? – Jongware Nov 7 '15 at 17:21
  • 2
    If you want to make just one small change, patch the existing executable. Decompiling to something that's compilable and works like the original needs a lot of manual work. But, please note that any such change might be disastrous. For example, if the firmware updater updates an ABC-XY-1 type mainboard, and you change the check to work with an ABC-XY-2, your updater will allow you to flash the ABC-XY-1 firmware to the non-matching mainboard, which will possibly result in a board that refuses to boot. – Guntram Blohm Nov 7 '15 at 23:00

The safest way is to have Dual BIOS or BIOS EEPROM in removable socket and appropriate HW programmer with original binary hex file at disposal so if anything goes wrong you have a safe way returning to operational state.

So prior to anything you do make a copy of your EEPROM image and store to safe removable medium in Intels HEX format. So if anything goes wrong you can try flash the EEPROM in a programmer (or seek someone that has one). Do not forget to check the content of the image (if you get wrong version of EEPROM utility the resulting image can be blank !!!)

Also if you by firmware refer to something else then BIOS please specify there are a lot of firmwares in nowadays PC's ...

If you are lucky and have Emulator for the device you want try this on that first. If working well than you should be fine (but you never can be 100% sure with emulators).

If you do not have access to HW programmer you can try HOT-SWAP as a last resort but it is a bit dangerous (if you shortcut anything you can burn out your device) ... for that you need spare EEPROM chip ... so boot from original one ... then swap chips and reprogram ... try if it works if not turn of swap again and you're back ...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.