|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Дек 17, 2002 17:03:47 Как такое можно сделать invoke CreateFile, CreateMap MapViewofFile все с доступом read write, all access и т.д. пишет в файл открытый notepad, в exe функции идут без ошибок но не пишет |
|
|
Дата: Дек 17, 2002 18:29:41 Аноним И славо богу не должно!!! Ответ: Юзайте функции WriteProcessMemory и так далее |
|
|
Дата: Дек 17, 2002 22:59:04 Посмотри функцию FlushViewOfFile. Очень удобно .... |
|
|
Дата: Дек 19, 2002 13:38:04 вот исходники все равно не пишит хотя все функции идут без ошибок ;////FlushView//////////////////////////////////////////// .data er1 db 'createmap',0 er2 db 'mapview',0 er3 db 'noaccess',0 fname db 'b.exe',0 file dd ? mapHndl dd ? lpMap dd ? buff db 'zzzzzzzzzzz',0 sztxt db '%-#lx',0 OldPrt dd ? phand dd ? bytes dd ? .code start: invoke CreateFile, addr fname,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,0 .if eax == 0 invoke MessageBox, 0,addr buff,addr buff,MB_OK invoke ExitProcess, NULL .endif mov file,eax invoke CreateFileMapping,file,0,PAGE_READWRITE,0,20,0 .if eax == 0 invoke MessageBox, 0,addr er1,addr er1,MB_OK invoke CloseHandle, file invoke ExitProcess, NULL .endif mov mapHndl,eax invoke MapViewOfFile, mapHndl,FILE_MAP_ALL_ACCESS,0,0,20 .if eax == 0 invoke MessageBox, 0,addr er2,addr er2,MB_OK invoke CloseHandle, file invoke ExitProcess, NULL .endif mov lpMap,eax xor ecx,ecx mov edx,offset buff _write: mov bl,[edx+ecx] mov [eax+ecx],bl ; eax -> addr lpMap inc ecx cmp ecx,4 jne _write invoke FlushViewOfFile, lpMap,4 .if eax == 0 invoke MessageBox, 0,addr er3,addr er3,MB_OK .endif invoke UnmapViewOfFile,lpMap invoke CloseHandle, mapHndl invoke CloseHandle, file invoke CloseHandle, phand invoke ExitProcess, NULL end start /////////////////////////////////////////////////////////// ;/////////////WriteProcess////////////////////////////////// .data er1 db 'createmap',0 er2 db 'mapview',0 er3 db 'noaccess',0 fname db 'b.exe',0 file dd ? mapHndl dd ? lpMap dd ? buff db 'zzzzzzzzzzz',0 sztxt db '%-#lx',0 OldPrt dd ? phand dd ? bytes dd ? .code start: invoke CreateFile, addr fname,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,0 .if eax == 0 invoke MessageBox, 0,addr buff,addr buff,MB_OK invoke ExitProcess, NULL .endif mov file,eax invoke CreateFileMapping, file,0,PAGE_READWRITE,0,20,0 .if eax == 0 invoke MessageBox, 0,addr er1,addr er1,MB_OK invoke CloseHandle, file invoke ExitProcess, NULL .endif mov mapHndl,eax invoke MapViewOfFile, mapHndl,FILE_MAP_ALL_ACCESS,0,0,20 .if eax == 0 invoke MessageBox, 0,addr er2,addr er2,MB_OK invoke CloseHandle, file invoke ExitProcess, NULL .endif mov lpMap,eax ;заранее определил processID invoke OpenProcess, PROCESS_ALL_ACCESS,1,0fffec505h .if eax == 0 invoke MessageBox, 0,addr er3,addr er3,MB_OK .endif mov phand,eax invoke WriteProcessMemory, phand,lpMap,addr buff,4,addr bytes .if eax == 0 invoke MessageBox, 0,addr er3,addr er3,MB_OK .endif invoke UnmapViewOfFile,lpMap invoke CloseHandle, mapHndl invoke CloseHandle, file invoke CloseHandle, phand invoke ExitProcess, NULL end start |
|
|
Дата: Дек 19, 2002 15:00:35 Попробуй добавит флаг FILE_SHARE_WRITE при вызове CreateFile. |
|
|
Дата: Дек 19, 2002 15:22:47 [Аноним: ...хотя все функции идут без ошибок] CreateFile отличается тем, что в случае облома возвращает INVALID_HANDLE_VALUE (-1). Что в твоем случае и произойдет. Последующий вызов GetLastError даст код ошибки = 20h "Процесс не может получить доступ к файлу, так как этот файл занят другим процессом." [Аноним: вот исходники все равно не пишит...] Не будет такое работать. И не пытайся. |
|
|
Дата: Фев 26, 2003 11:14:14 Для особых извращенцев: [url=]http://z0mbie.host.sk/w9xshare.html[/url] |
|
|
Дата: Фев 26, 2003 17:18:03 c'est fou |
|
|
Дата: Фев 27, 2003 10:52:24 was ist das? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.036 |