Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Функция ReadFile
Показать сообщение отдельно

Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


lehha
Цитата:
CreateFile - это CreateFileA и CreateFileW
...значит выгоднее работать с функцией CreateFile ?
Цитата:
а файл вообще открылся???
...да,дескриптор файла возвратился нормальный,на его основе также нормально отработала функция GetFileSize,вернув размер открытого файла в байтах.

Мне кажется,что косяк кроется в работе функции VirtualAlloc,которая,если я правильно понял,должна инициализировать резервируемое пространство нулями.В моём случае,значение возвращаемое ею выглядит в отладчике как:
EAX=01490000
...если же посмотреть,что находится по этому смещению,то наблюдаешь одни знаки вопроса вместо нулей...разве так должно быть ?

Сейчас отлаживал в режиме ручной трассировки - наблюдал следующее:
Код: Выделить весь код
;Значит зайдя внутрь функции ReadFile 
;и очутившись в библиотеке Kernel32...
...
; в стек заносятся необходимые параметры и далее...
call [_imp_NtReadFile]
cmp eax, 00000103 ; а в EAX значение C0000005
jnz ...                   ; тут мы естественно прыгаем к чертям
Вот так вот,в EAX находится "любимое" значение C0000005 - STATUS_ACCESS_VIOLATION .
Как же быть тогда с этой VirtualAlloc - ведь получается,из-за неё тогда выходит такой бедлам ?

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций


Последний раз редактировалось DillerInc, 17-07-2005 в 17:20. Причина: Добавлено информации


Отправлено: 16:43, 17-07-2005 | #6

Название темы: Функция ReadFile