Вирус вызовет у вас проблемы только в том случае, если он запущен на сервере (т.е. файл открыт). Вы можете обойти это, переименовав все загруженные файлы с расширением .resources
. Все запросы для этого типа файлов отправляются IIS в ASP.NET, который отклоняет их. Так эффективно, файлы хранят данные, но не могут быть открыты / запущены вообще. Затем вы все равно можете отправить их обратно, прочитав их содержимое на странице / модуле ASP.NET и вернув данные в виде файла с правильным расширением.
Преобразование данных, как вы предлагаете, также обеспечит уровень защиты, хотя я бы, вероятно, сделал бы больше, чем просто добавил бы байт в конец. Возможно, запустить весь поток через обратимый алгоритм (например, быстрое шифрование или что-то в этом роде).
Конечно, это не защищает клиента от любого вируса.