reverse engineering skills