I know this is a controversial question... but before you answer, keep in mind that this is both legal and there are scenarios where this is needed.
In our case we want to decompile an app, so we can look at some secrets that we need to call a public API.
The problem I have is that I'm not even able to get access to the .XAP file. It can be downloaded from the Windows Phone store, but it's signed, and I guess it requires a Jailbreaked WP to get access to the file system on the phone.
So maybe the question should be "How do reverse engineer a signed Windows Phone App?"