Target-Centric Firmware Rehosting with Penguin