Trovare gli exploit che ti permettono di eseguire il tuo codice su piattaforme come queste è molto difficile. Avresti bisogno di essere fluente nella lingua madre della piattaforma, quasi certamente oltre a essere fluente nell'assemblaggio per qualsiasi architettura fosse in esecuzione. In caso contrario, avresti bisogno di una buona comprensione dell'hardware eseguendo il reverse engineering di quello che avevi, così come il kit giusto per modificare il codice su FPGA o chip flash per caricare le tue cose.
Il percorso del software in genere comporta il download del firmware del sistema e la ricerca di exploit di overflow del buffer . Questi ti permettono di caricare il tuo codice in memoria e far eseguire un programma altrimenti inerte per te.
L'instradamento hardware di solito comporta l'estrazione di chip e la riprogrammazione o l'utilizzo di un tipo di "difetto" di progettazione che consente di ingannare il software esistente sulla piattaforma per fare qualcosa che si desidera che altrimenti non avrebbe. Un buon esempio di questo è l'exploit PS3 originale di geohot , dove ha usato un interruttore per interrompere i messaggi di deallocation della memoria del kernel, permettendogli di accedere alle pagine del kernel che poteva leggere e scrivere ed eseguire con anello 0 privilegi !