Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как создать *.txt с помощью Asm

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> Как создать *.txt с помощью Asm
Имя
Сообщение << Старые топики   Новые топики >>
Как создать *.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
Post #: 1
RE: Как создать *.txt с помощью Asm - 2010-07-30 14:47:11.453333   
sbk

Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
Ну это вы создаете файл средствами WinAPI, а в FASM'е есть стандартные возможности по созданию файлов(правда не помню как это делать). А заполнить файл данными можно с помощью того же WinAPI, вот сдесь неплохо написано про ф-ции работы с файлами.
Post #: 2
RE: Как создать *.txt с помощью Asm - 2010-07-30 15:50:46.503333   
Sunzer

Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
CreateFileA + WriteFile + CloseHandle
Post #: 3
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)? На просторах нашел что переносить надо с помощью & _, но у меня не получается. В чём проблема? Спасибо.
Post #: 4
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
Post #: 5
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 тоже не получается. жду советов. Спасибо
Post #: 6
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 - это признак окончания строки.
Post #: 7
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
Post #: 8
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 кол-во строк)
Post #: 9
RE: [Deleted] - 2010-08-11 12:49:28.476666   
TALIB KWELI

Сообщений: 26
Оценки: 0
Присоединился: 2010-07-27 10:53:48.883333
0v3r10rd, спасибо, но Я уже нашел;)
Post #: 10
Страниц:  [1]
Все форумы >> [Прочее] >> Как создать *.txt с помощью Asm







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.