I am trying to reverse engineer a firmkit in a bios, but in general I would like to know how can I debug a bios better.

I found a way to attach IDA to a vmware instance usign a GDB session GDB Debugging With VMware, but it seems like I am always racing to against the bios and boot up of the VM. I am wanting to have it stop in a place that I can follow and make sense of.

In general, What are some better practices when debugging a bios? Is IDA a decent debugger for this task? Is there something more meant for this task? Any other ideas are welcome also, I am really wanting to focus on reversing malware that is written to the bios.


  • UEFI firmware is relatively easy to reverse engineer as most of the protocols are well documented and most implementations are based on the Tianocore reference implementation. A traditional BIOS is harder to reverse engineer as documentation is not readily available
    – fpmurphy
    Dec 22, 2015 at 17:03

1 Answer 1


You can try running your BIOS in QEMU. QEMU's -S option will pause boot until a debugger (gdb) is attached. IDA's debugger apparently works fine with QEMU, according to this article: https://www.hex-rays.com/products/ida/support/tutorials/debugging_gdb_qemu.pdf

  • Same idea, I managed to use VMware 7 and it worked fine.
    – LUser
    Jan 13, 2016 at 23:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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