Το πρόβλημα με την «ανακατασκευή του κώδικα» είναι ότι δεν περιέχει την έννοια της επιστροφής στον πηγαίο κώδικα (μπορεί να σημαίνει ότι τον χάσαμε, οπότε κάτσαμε και τον ξαναφτιάξαμε). Το πρόβλημα με την ακριβή μετάφραση, «ανάστροφη κατασκευή του πηγαίου κώδικα», είναι ότι είναι απαίσια.
Το reverse engineering, η «ανάστροφη μηχανίκευση», είναι ο γενικός όρος της επιστροφής στα αρχικά σχέδια μιας μηχανής ή στον αρχικό κώδικα ενός προγράμματος.
Ο αρχικός κώδικας, ο πηγαίος (source code), είναι αυτός που μπορεί να γράψει και να καταλάβει ο άνθρωπος. Όταν γράφουν σε νομικές διατυπώσεις «not to disassemble, decompile or reverse engineer any software», αυτό που λένε είναι να μη χρησιμοποιήσεις χακεριά για να πας από τον κώδικα στον οποίο δουλεύει τώρα το πρόγραμμα (τον εκτελέσιμο, αυτόν που προέκυψε μετά από compilation, μεταγλώττιση ή συμπίληση) και που καταλαβαίνει η μηχανή και όχι ο άνθρωπος, για να περάσεις σε πηγαίο κώδικα (αυτόν που γράψανε οι προγραμματιστές) και να μου τον αλλάξεις ή να μου τον κλέψεις. Και οι τρεις όροι (και τώρα το reverse assemble) σημαίνουν χοντρικά το ίδιο πράγμα, να μη μου σπάσεις το πρόγραμμα. Ένας καλός όρος είναι η αποσυμπίληση (που δεν καταλαβαίνει κανείς τι σημαίνει αν δεν το έχει ξαναδεί). Όλα μαζί θα μπορούσε ίσως να τα πει κανείς: «να μην προβεί σε αποσυμπίληση ή ανάστροφη μηχανίκευση του λογισμικού με σκοπό την [παράνομη] ανάκτηση του πηγαίου κώδικα». Αλλά το λέω τώρα εδώ προκλητικά, για να έρθουν άλλοι να πουν κάτι καλύτερο.