Расшифровка микрокода NEC V20: от фотографии кристалла до нейросети
Decoding the NEC V20 Microcode

Автор проекта MartyPC, эмулятора ПК, делится опытом извлечения микрокода процессора NEC V20 с помощью фотографий кристалла и нейросети. Он заказал съёмку кристалла у InfoSecDJ, получив изображение разрешением 5,6 гигапикселей. Микрокод-ROM содержит 29 928 бит, которые нужно было расшифровать. Автор использовал MaskRomTool для разметки битов, а затем обучил свёрточную нейросеть (CNN) на PyTorch классифицировать изображения битов. После нескольких итераций точность достигла 99%, и удалось извлечь все биты. Далее предстоит декодировать PLA-матрицу, которая сопоставляет опкоды с адресами микрокода.
В итоге я вручную классифицировал чуть более 1000 бит, а затем обучил CNN на PyTorch, что оказалось на удивление простым.