Năm 1995 đánh dấu sự thay đổi về cơ bản trong quá trình phát triển của virus khi hệ điều hành Windows 95 xuất hiện. Một trong những lý do là các kỹ thuật mà virus dựa trên nền DOS sử dụng không còn tương thích với Windows 95 nữa. Dưới đây ta sẽ xem xét một vài thay đổi về mặt kỹ thuật của hai hệ điều hành Windows và MS DOS mà những người viết virus cần quan tâm.
Nguyên lý hoạt động của hệ điều hành chuyển từ đơn nhiệm sang đa nhiệm nên Windows không thể cho phép các chương trình gọi ngắt một cách tùy tiện mà phải thông qua các hàm giao diện lập trình ứng dụng (Application
Programming Interface – API). API thực chất là các hàm thư viện viết sẵn của hệđiều hành nằm trong các file liên kết động (Dynamic Link Library - .DLL). Windows được Microsoft kỳ vọng là hệ điều hành không thể bị lây nhiễm virus nên được bổ sung thêm chế độ bảo vệ (protect mode). Các ứng dụng chạy trong chế độ bảo vệ của Windows thường có bộ nhớ riêng và chạy như một hệ thống khép kín độc lập. Mọi thao tác trực tiếp đến vùng nhớ ngoài ứng dụng đều gây ra lỗi bảo vệ.
Để kiểm soát hệ thống ở cấp thấp Windows sử dụng cơ chế Rings. Bộ vi xử lý có bồn mức đặc quyền Ring 0, Ring 1, Ring 2 và Ring 3. Ring 3 được gọi là mức độ người sử dụng, một chương trình thông thường chạy ở Ring 3 sẽ có rất nhiều hạn chế còn Ring 0 lại là nơi hệ điều hành lưu giữ phần mã lệnh hạt nhân của nó, các tiến trình chạy trên Ring 0 có đặc quyền cao nhất.
Do các thay đổi này, những người viết virus phải nhanh chóng tìm hiểu những khía cạnh của hệ điều hành mới và bắt đầu tạo ra các virus tương thích với môi trường hệđiều hành Windows 95, tuy nhiên do sự phát triển của công nghệ nên quá trình phát triển này bắt đầu rẽ nhánh sang dòng macro virus và dòng worm. Số lượng virus lây file ít dần.