Un opcode è la parte leggibile dalla macchina di un'istruzione che indica a un processore quale operazione eseguire. Nel linguaggio assembly, il mnemonico che si legge o si scrive è la forma comprensibile per gli esseri umani; l'opcode è il byte o il pattern di bit codificato che la CPU interpreta effettivamente. Architetture diverse usano formati di opcode diversi, e la stessa azione di alto livello può essere implementata da più codifiche o da microcodice sottostante.
Nella sicurezza informatica, gli opcode contano perché sia gli attaccanti sia i difensori lavorano molto vicino al livello della macchina. Gli reverse engineer usano l'analisi degli opcode per disassemblare malware, riconoscere shellcode e capire cosa farà davvero il codice dopo la compilazione o il packing. I difensori lo usano nel sandboxing, nell'emulazione, nella strumentazione binaria e nel rilevamento degli exploit. Poiché gli opcode definiscono il comportamento esatto del processore, sono importanti anche per le attività di compatibilità e per individuare i casi in cui le ipotesi del software non corrispondono al vero set di istruzioni dell'hardware.


