• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Использование Wininet Api

  • Автор темы shisik
  • Дата начала
S

shisik

Пишу свою качалку для интернета с возможностью докачки файлов. Использую WinInet API. Для организации докачки есть функция InternetSetFilePointer. Только после её использования файл не начинает качаться с указанной позиции, а качается "вхолостую" до указанной позиции, а потом продолжает качаться нормально. При этом функция InternetReadFile не возвращает управление, пока не дойдёт до позиции, указанной в InternetSetFilePointer.
В интернете я нашел объяснение: проблема в том, что если файла нет в кеше (Temporary Internet Files), то он его скачивает сначала в кеш (целиком), а потом уже дальше. И действительно, пока файл скачан не на 100% в интернет-кеше его нет. Потом, когда скачается полностью, он там появляется.
Возникает вопрос: можно ли это как-нибудь обойти? Можно ли заставить программу (или wininet) писать недокачанные файлы в интернет-кеш? Или ещё лучше создать свой локальный кеш (чтоб при очистке общего кеша не удалялись файлы), в который и будут скачиваться файлы. Или например чтоб кешем считался сам файл, независимо от его местонахождения. Это был бы самый оптимальный вариант :) В конце концов, другие "качалки" это ж умеют...

ЗЫ. Возникает вопрос к Microsoft: какой "умный" человек так реализовал InternetSetFilePointer/InternetReadFile?
 
A

angell

Скажите, пожалуйста, как проверить на ошибки программу, написанную в Microsoft Visual C++ 2005 Express Edition
 
S

shisik

OMG! Зачем же так некропостить? :) Да и какое вопрос имеет отношение к топику?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!