Chạy các tệp nhị phân MIPS Windows cũ trên máy tính x86 hiện đại
Mô phỏng các lệnh MIPS R4000 trong khi tải các tệp nhị phân PE MIPS gốc, ánh xạ các cuộc gọi hệ thống và duy trì trạng thái CPU theo từng luồng cho các ứng dụng đa luồng. WoWMIPS, được tạo ra bởi x86matthew, là một công cụ tiện ích Windows sử dụng chuyển hướng API động và Xử lý Ngoại lệ Được Định hướng để định tuyến các cuộc gọi lại MIPS vào các API của máy chủ. Các khả năng chính bao gồm tải PE nhận thức về di chuyển, trạng thái CPU theo luồng và thực thi nhẹ nhàng, trong quy trình. Nó phù hợp với các kỹ sư đảo ngược, những người đam mê máy tính cổ điển và các nhà nghiên cứu an ninh cần thực hiện mã MIPS Windows NT cũ mà không cần một trình giả lập máy đầy đủ.
WoWMIPS thực sự làm gì khi bạn chạy một chương trình MIPS
WoWMIPS dịch các lệnh MIPS R4000 sang x86 ngay lập tức và tải các tệp Portable Executable định dạng MIPS với xử lý di dời, vì vậy các nhị phân được biên dịch cho Windows NT có thể thực thi trong quy trình chủ. Bộ tải tạo ra các stub API tại thời điểm tải để chuyển hướng các cuộc gọi hệ thống MIPS đến các API Windows gốc, và công cụ giữ các thanh ghi CPU và trạng thái theo từng luồng để các nhị phân MIPS đa luồng duy trì các ngữ cảnh thực thi riêng biệt.
Nó ảnh hưởng đến hệ thống chủ như thế nào trong quá trình thực thi
Dự án chạy trong quy trình để giảm chi phí, cung cấp quyền truy cập bộ nhớ trực tiếp cho mã giả lập thay vì chạy một máy ảo riêng biệt. Thiết kế đó giảm sử dụng tài nguyên so với các trình giả lập hệ thống đầy đủ, và Xử lý Ngoại lệ Vectored chặn các callback mà không cần các móc thủ công lâu dài. Bởi vì việc thực thi diễn ra bên trong không gian địa chỉ của máy chủ, công cụ này đánh đổi sự cách ly để lấy hiệu suất và sự đơn giản theo thiết kế.
An toàn, giới hạn tương thích và ai nên sử dụng nó
WoWMIPS hoạt động như một bằng chứng về khái niệm với các giới hạn rõ ràng: nó thiếu hỗ trợ Đơn vị Điểm Nổi, điều này hạn chế khả năng tương thích cho các ứng dụng phụ thuộc vào FPU, và nó nhắm đến các nhị phân MIPS-I/R4000 ở chế độ người dùng được xây dựng ban đầu cho các bản phát hành Windows NT cũ hơn. Nhà phát triển cung cấp mã nguồn để xem xét, điều này hỗ trợ các nhà nghiên cứu và kỹ sư đảo ngược cần có cái nhìn vào ánh xạ lệnh và cơ chế chuyển hướng API.
Công cụ thực tiễn cho các chuyên gia, với sự đánh đổi tương thích rõ ràng
WoWMIPS là một thí nghiệm thực tiễn cho các nhà nghiên cứu và người dùng máy tính retro cần chạy các tệp nhị phân Windows từ thời MIPS đơn giản trong quá trình trên các máy tính để bàn hiện đại. Việc chuyển hướng API không tốn kém, không cần thunk và các callback dựa trên VEH là những điểm mạnh, trong khi việc thiếu hỗ trợ FPU là một hạn chế kỹ thuật duy nhất ngăn cản khả năng tương thích ứng dụng rộng rãi.