Introduction to Reverse Engineering Software