Здравствуйте! В некоторых исходниках вирей, которые заражают файл расширением последней секции, используется файловый мэппинг. А после MapViewOfFile/UnmapViewOfFile идут SetFilePointer & SetEndOfFile. Объясните, зачем это нужно? Вроде бы, там урезать ничего не надо.
Это зависит от кривизны рук программиста CreateFileMapping в качестве одного из параметров принимает размер файла. Если заданный размер файла больше реального, то мэппируемый файл автоматически будет расширен до необходимого размера. Как правило, в CreateFileMapping загоняют выровненый (размер файла + размер вируса) Однако Если заражение провалилось, - размер файла нужно вернуть на место. Вот для этого и служит SetEndOfFile
Ага, я все понял. То есть можно либо ремэппинг длЯ отката размера, либо через SetEndOfFile. Спасибо большое