Practical Reverse Engineering:x86, x64, ARM, Windows Keel, Reversing Tools, and Obfuscation