Giải mã vi mã NEC V20 từ ảnh chụp die bằng CNN
Tác giả MartyPC giải mã vi mã của NEC V20 từ ảnh chụp die 5,6 gigapixel, sử dụng mạng nơ-ron tích chập để phân loại 29.928 bit ROM—một cột mốc cho việc mô phỏng chính xác theo chu kỳ CPU V20.

Năm 2020, việc reenigne tháo rời vi mã 8088 đã mở ra cánh cửa cho việc mô phỏng cực kỳ chính xác CPU nền tảng của Intel. Giờ đây, cách tiếp cận tương tự đang được áp dụng cho NEC V20—một con chip nhanh hơn, tương thích 8088 từng cung cấp sức mạnh cho nhiều bản sao và thậm chí cả người kế nhiệm của IBM PC gốc. Tác giả MartyPC, người trước đó đã mô phỏng V20 như một 8088 với các lệnh bổ sung, muốn có độ chính xác theo chu kỳ thực sự. Điều đó đòi hỏi vi mã của V20, thứ mà NEC chưa từng công bố.
Để có được nó, tác giả đã đặt hàng InfoSecDJ chụp ảnh die V20 (một phiên bản nguồn thứ hai của Sharp). Ảnh ghép kết quả là một bức tranh khổng lồ 5,6 gigapixel—70.478 × 80.672 pixel—quá lớn so với định dạng JPEG. ROM vi mã chính xuất hiện như một khối hình chữ nhật ngay dưới trung tâm của die. Mảng ROM là 258 × 116, chứa 29.928 bit—chia hết cho 29, độ dài từ vi mã của V20, ngụ ý 1.032 từ thay vì 1.024 như dự kiến. Sự khác biệt đó vẫn cần được giải thích.
Việc đọc các bit bằng mắt thường sẽ rất tẻ nhạt, vì vậy tác giả đã chuyển sang MaskRomTool để xác định vị trí bit. Tuy nhiên, phương pháp phát hiện dựa trên ngưỡng của nó đã thất bại do độ tương phản không đủ giữa bit và không-bit, gây ra bởi lớp kim loại sáng. Công cụ vẫn có thể xuất vị trí bit sang JSON, mà tác giả đã dùng để viết một tập lệnh Python trích xuất các PNG 42×42 pixel cho mỗi bit—một tệp ZIP 105MB chứa các ảnh nhỏ.
Kế hoạch là huấn luyện một mạng nơ-ron tích chập (CNN) để phân loại mỗi ảnh là 0 hoặc 1. Tác giả không có kinh nghiệm CNN trước đó nhưng đã hoàn thành nhiệm vụ trong một buổi chiều bằng PyTorch. Sau khi phân loại thủ công khoảng 1.000 bit bằng một công cụ tkinter nhanh, họ đã huấn luyện một CNN đạt độ chính xác xác thực 99,56% và điểm F1 là 0,9891 chỉ trong mười epoch—vài phút trên GPU CUDA. Điểm tin cậy của mô hình đã đánh dấu các bit mơ hồ để xem xét thủ công.
Công trình này là minh chứng cho việc học sâu đã trở nên dễ tiếp cận đến mức nào. Nó cũng làm nổi bật giá trị của việc chụp ảnh die trong việc kỹ thuật đảo ngược phần cứng cũ. Vi mã được trích xuất sẽ cho phép mô phỏng V20 chính xác theo chu kỳ trong MartyPC, mang lại lợi ích cho những người đam mê máy tính cổ điển và các nhà nghiên cứu.
Chúng ta chỉ cần phân loại ảnh vào hai nhóm, 0 hoặc 1. Vấn đề đúng nghĩa là 'Hotdog hay Không phải Hotdog.'
Thảo luận
0 bình luận
Hãy là người đầu tiên thảo luận.