Machine code is code like any other code. Sure, often not easy to read or modify, but not impossible. I'd start with a disassembler, a debugger, possibly a decompiler and lots of patience. Given appropriate time and pay I might even consider it a fun job.