Reversing and Exploiting Embedded Devices