An introduction to reverse engineering for beginners