Код (Text): dirs equ [ebp-304] ;сюда выплевывается путь к найденному файлу ................................................. outf proc push 0 push FILE_ATTRIBUTE_ARCHIVE push OPEN_EXISTING push 0 push FILE_SHARE_WRITE push GENERIC_WRITE push dirs ; Если передать типа "123" -- ошибка, если dirs -- вылетает переполнение call CreateFileA@28 ................................................. Умный народ подскажите что не так. Если мало инфы написал-- что еще дать?
Спасиб, так даже удобней) сорри что не все привел в логе сразу, бага дальше. SetFilePointer@16 возвращает 0(ошибка) -- Что ей не нравится? хендл рабочий, а остальные параметры по нулям -- указатель ставим в начало файла. Код (Text): hFile DWORD ? .................................. push 0 push 0 push OPEN_EXISTING push 0 push FILE_SHARE_WRITE push GENERIC_WRITE lea eax, [ebp-304] push eax call CreateFileA@28 mov hFile,eax cmp eax,INVALID_HANDLE_VALUE je errorr ; НЕ прыгает на ошибку--все ок. mov edi,1 lea eax,MASKA call write ;выводит push 0 push 0 push 0 push hFile call SetFilePointer@16 cmp eax,0 je errorr ;прыгает на ошибку mov edi,1 lea eax,text call write ; уже не выводит push 0 push SizeWrite push 1 push offset new_text push hFile call WriteFile@20 push hFile call CloseHandle@4 errorr:
СПС! Если бы не вы, никогда б не справился! Особенно спасиб rmn! Дело в том что у меня книжка замечательная "Справочник по функциям Win32 API", там вот написано что в случае ошибки вернет 0. =)