HardICE‎ > ‎


For so long we have been restricted or obscured access to the ubiquitous hardware we rely on. This project intends to resolve that.

Hardice is a tool in the making. Its mission is to create an open source "In Circuit Emulator". A robust and reliable hardware debugger, that interfaces with the JTAG debugging port of several devices (IA32, AMD64).


  • Operating system, driver and software developers can test/diagnose/optimize problems from an external system in a controlled manner.
  • People developing on the architecture can gain a better understanding of their code and timing.
  • Driver reverse engineers could get some serious work done.
  • Tweakers can play with the clocks and get more reliable test/performance datas
  • Able to debug code in CPU modes such as SMM, VMX and TXT in addition to ordinary real, protected and long mode.

Project Objectives

  • Debug support of target x86 devices
    • Intel x86 CPUs after the P6 (Pentium Pro)
    • AMD K6+
  • Extensive documentation of device debug (electrical, programming, etc).
  • User-friendliness
  • Able to debug BIOS, SMM handlers, Trusted Computing code, Debuggers, Virtual Machine Monitors, AMT code, Operating Systems, Drivers, Anti-cheat protections, Software protections, Viruses (even if it has debugger detection code), Code that interfaces with special CPU transitions such as C6 power state transitions.
  • Make device debug interfaces easier to access