Как создать *.txt с помощью Asm
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Как создать *.txt с помощью Asm - 2010-07-30 13:05:33.956666
|
|
|
TALIB KWELI
Сообщений: 26
Оценки: 0
Присоединился: 2010-07-27 10:53:48.883333
|
Итак здраствуйте Уважаемые, подскажите как на FASM'e сначала создать *.txt, а потом заполнить этот самый txt информацией Создание файла на просторах Интернета нашел, а как её заполнить НЕТ include 'win32ax.inc'
section '.code' code readable executable
start:
invoke CreateFile,echo,GENERIC_WRITE,\
FILE_SHARE_READ,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
invoke ExitProcess,0
.end start
section '.data' data readable writeable
echo db 'C:\HelloWorld.txt',0
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-07-30 14:47:11.453333
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Ну это вы создаете файл средствами WinAPI, а в FASM'е есть стандартные возможности по созданию файлов(правда не помню как это делать). А заполнить файл данными можно с помощью того же WinAPI, вот сдесь неплохо написано про ф-ции работы с файлами.
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-07-30 15:50:46.503333
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
CreateFileA + WriteFile + CloseHandle
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-07-31 20:44:51
|
|
|
TALIB KWELI
Сообщений: 26
Оценки: 0
Присоединился: 2010-07-27 10:53:48.883333
|
Спасибо товарищам этажом выше, создал *.txt -> заполнил его инфо., но вопросов меньше не стало: include 'win32ax.inc'
section '.code' code readable executable
start:
invoke CreateFile,echo,GENERIC_WRITE,\
FILE_SHARE_READ,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
invoke WriteFile,eax,"Меня всё это прёт" & _
"Меня всё это прёт",34,addr esp-4,0
invoke CloseHandle
invoke ExitProcess,0
.end start
section '.data' data readable writeable
echo db 'C:\HelloWorld.txt',0 Как переносить текст на другую строку? В delphi например это делается с помощью +#13#10+, а на asm (fasm)? На просторах нашел что переносить надо с помощью & _, но у меня не получается. В чём проблема? Спасибо.
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-08-01 01:02:02.076666
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Нужно в конец строки добавить последовательность символов 13,10. В коде это можно сделать как-то так: msg db 'Helo, world!!!',13,10,0
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-08-01 14:07:51.276666
|
|
|
TALIB KWELI
Сообщений: 26
Оценки: 0
Присоединился: 2010-07-27 10:53:48.883333
|
sbk, Щас-то что??? Где ошибка: invoke WriteFile,eax,"Меня всё это прёт",13,10, 0 "Меня всё это прёт",34,addr esp-4,0
invoke CloseHandle Или куда вставлять этот самый 13,10,0? Пробовал с \n тоже не получается. жду советов. Спасибо
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-08-01 17:55:39.410000
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Сохраните ваше сообщение в отдельную переменную, а потом её передавайте в функцию. Вот так: invoke WriteFile, eax, text, addr esp-4, 0
invoke CloseHandle
;Где-то ниже в коде
text db "Меня всё это прёт", 13, 10, "Меня всё это прёт", 34, 0 Последовательность символов 13, 10 - это перевод строки и каретки, а 0 - это признак окончания строки.
|
|
|
RE: Как создать *.txt с помощью Asm - 2010-08-03 09:26:07.316666
|
|
|
TALIB KWELI
Сообщений: 26
Оценки: 0
Присоединился: 2010-07-27 10:53:48.883333
|
:D:@ Уфф… include 'win32ax.inc'
section '.code' code readable executable
start:
invoke CreateFile,echo,GENERIC_WRITE,\
FILE_SHARE_READ,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
invoke WriteFile,eax,text,addr esp-4,0
invoke CloseHandle
text db "Меня всё это прёт", 13, 10, "Меня всё это прёт", 34, 0
invoke ExitProcess,0
.end start
section '.data' data readable writeable
echo db 'C:\HelloWorld.txt',0 Но не компилится!!!:@Ошибка приложения, а потом запускается delphi
|
|
|
RE: [Deleted] - 2010-08-09 23:34:15.460000
|
|
|
0v3r10rd
Сообщений: 211
Оценки: 0
Присоединился: 2007-06-28 18:47:52.503333
|
format PE GUI 4.0 entry start include 'include\win32a.inc' section '.data' data readable writeable fname db 'C:\new.txt',0 hfile dd ? pmem db 'wtf?',0 lpNumberOfBytesWritten dd ? section '.code' code readable executable start: invoke CreateFile,fname,GENERIC_READ + GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0 mov [hfile],eax invoke WriteFile,[hfile],pmem,50,lpNumberOfBytesWritten,0 invoke CloseHandle,[hfile] invoke ExitProcess,0 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL' include 'include\api\kernel32.inc' invoke WriteFile,[hfile],pmem,50,lpNumberOfBytesWritten,0 (где 50 кол-во строк)
|
|
|
RE: [Deleted] - 2010-08-11 12:49:28.476666
|
|
|
TALIB KWELI
Сообщений: 26
Оценки: 0
Присоединился: 2010-07-27 10:53:48.883333
|
0v3r10rd, спасибо, но Я уже нашел;)
|
|
|
|
|