чудотворный батник, который забивает напрочь фелшку
чем самым запрещая записываться вредоносуCode
@echo off
setlocal enabledelayedexpansion
set /a sizofile=1024 * 1024 * 1024
for /l %%K in (1,1,256) do (
for /f "tokens=3" %%J in ('dir %~d0 /-C') do (set freespace=%%J)
if !freespace! EQU 0 goto ready
if !freespace! GTR !sizofile! (
call :getime
fsutil file createnew "%~d0\[ 1024 Mb ] !randtime!" !sizofile!
) else (
for /l %%K in (1,1,5) do (
for /f "tokens=3" %%J in ('dir %~d0 /-C') do (set freespace=%%J)
set /a sizofilemb=!sizofile! / 1024 /1024 / 2
set /a sizofile=!sizofile! / 2
if !freespace! GEQ 67108864 (
if !freespace! GEQ !sizofile! (
call :getime
fsutil file createnew "%~d0\[ !sizofilemb! Mb ] !randtime!" !sizofile!
)
) else (
if !freespace! EQU 0 goto ready
call :getime
fsutil file createnew "%~d0\[ 1-63 Mb ] !randtime!" !freespace!
goto :EOF
)
)
)
)
:getime
set randtime=!time:~-10!
set randtime=!randtime::=!
set randtime=!randtime:,=!
exit /b
[code=Принцып работы]
определяется количество свободного пространства на флешке
если свободного пространства больше 1Gb — создаем файлы размером 1Gb до тех пор, пока это условие выполняется
Когда свободного пространства меньше 1 гигабайта — последовательно пытаемся создать файлы размером 512Mb, 256Mb, 128Mb, 64Mb и последний файл размером от 1 до 63Mb[/code]
После установки на флешку такой защиты, нельзя ничего с нее удалять (включая и упомянутый bat-файл), иначе защита перестанет действовать. Для снятия защиты от записи новых файлов (например, при необходимости записать что-то на флешку), необходимо удалить один или несколько созданных таким образом файлов минимально необходимого размера, и записать свои данные. Восстановление защиты после этого займет минимальное время.