· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› ZwCreateFile

Посл.отвђт Сообщенiе


Дата: Июн 30, 2003 23:07:17

люди - подскажите как функцией ZwCreateFile пользоваться! читал читал и нехрена не понял


Дата: Июл 1, 2003 02:58:47

Muzzi
читал читал
А где читал?


Дата: Июл 1, 2003 12:02:31 · Поправил: Безпощадный даос

Например так: (макросы и инклуды из KmdKit)
.386
.model flat, stdcall
option casemap:none

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::
;                                  I N C L U D E   F I L E S                                        
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::

include \masm32\include\kernel32.inc
include \masm32\include\w2k\ntdll.inc
include \masm32\include\w2k\ntddk.inc
include \masm32\include\w2k\ntstatus.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\w2k\ntdll.lib

include \masm32\Macros\Strings.mac

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::
;                                       C O D E                                                     
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::

.code

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::
;                                         start                                                     
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::

start proc

local usFile:UNICODE_STRING
local oa:OBJECT_ATTRIBUTES
local hFile:HANDLE
local iosb:IO_STATUS_BLOCK

	invoke RtlInitUnicodeString, addr usFile, $CTW0("\\??\\C:\\File.txt")

	.if eax == STATUS_SUCCESS

		; InitializeObjectAttributes
		lea eax, oa
		assume eax:ptr OBJECT_ATTRIBUTES
		mov [eax].dwLength, sizeof OBJECT_ATTRIBUTES
		mov [eax].RootDirectory, NULL
		lea ecx, usFile
		mov [eax].ObjectName, ecx
		mov [eax].Attributes, 0
		mov [eax].SecurityDescriptor, NULL
		mov [eax].SecurityQualityOfService, NULL
		assume eax:nothing

		invoke ZwCreateFile, addr hFile, GENERIC_WRITE + SYNCHRONIZE, addr oa, addr iosb, 0, \
				FILE_ATTRIBUTE_NORMAL, 0, FILE_SUPERSEDE, FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0

		lea ecx, iosb
		.if ( eax == STATUS_SUCCESS ) || ( [IO_STATUS_BLOCK ptr [ecx]].Status == STATUS_SUCCESS )
			; Work with file
			invoke ZwClose, hFile
		.endif

	.endif

	invoke ExitProcess, 0
	ret

start endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::
;                                                                                                   
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ::::::::::::::::::::::::::::::

end start


Дата: Июл 8, 2003 10:28:30

2Four-F
Не обновляли вы свои .inc файлы?
А то вдруг появилось что-то новее,чем на сайте.


Дата: Июл 8, 2003 12:05:22 · Поправил: Four-F

http://www.masmforum.com/website/tutorials/kmdtute/index.html

Имеет смысл слить только апдейт. Где-нить к дню знаний подготовлю вторую версию. Там будут большие изменения... наверное ;-)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.082