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

посмотрите прогу, Fasm&linux

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

Зашли как: Guest
Все форумы >> [Прочее] >> посмотрите прогу, Fasm&linux
Имя
Сообщение << Старые топики   Новые топики >>
посмотрите прогу, Fasm&linux - 2007-01-03 21:47:13.426666   
MalыШ

Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
народ! нужна небольшая помошь! кому не трудно скомпильте мою прогу, нужно проверить на работаспособность. вот моё детиЩе:
format ELF
 
section '.text' code readable executable
include 'fasmlib.inc'
public start as '_start'
start:
 ;initialize modules
 call stream.init
 jc error
 call mem.init
 jc error
 push fr1
 push stream.stdout
 call text.write
 mov eax,3
 mov ebx,handle1
 mov ecx,2
 mov edx,filename1
 int 0x80
 mov handle1,eax
 
 mov eah,3
 mov ebx,handle1
 mov ecx,199
 lea edx,buf1
 int 0x80
 
 cmp ax,0
 je exit
 mov countb1,eax
 
 mov eax,3
 mov ebx,handle1
 mov ecx,2
 mov edx,filename2
 int 0x80
 jc error_
 mov handle1,eax
 
 mov eah,3
 mov ebx,handle1
 mov ecx,199
 lea edx,buf2
 int 0x80
 
 cmp ax,0
 je exit
 mov countb2,eax
 
 mov eax,3
 mov ebx,handle1
 mov ecx,2
 mov edx,filename3
 int 0x80
 jc error_
 mov handle1,eax
 
 mov eax,3
 mov ecx,2
 lea dx,filename3
 int 0x80
 mov handle2,eax
 
read: mov eah,3
 mov ebx,handle1
 mov ecx,199
 lea edx,buf3
 int 0x80
 cmp eax,0
 je vivod
 mov countb3,eax
 
 call crypt
 
 mov eah,4
 mov ebx, handle2
 mov ecx, countb3
 lea edx,buf3
 int 0x80
 
 jmp read
 
error_:
 push eax
 call err.text
 mov ebx, eax
 push frerr
 push stream.stderr
 call text.write
 
 push ebx
 push stream.stderr
 call text.write
 
 call stream.uninit
 call mem.uninit
 
 push 1
 call process.exit
  
vivod: push fr2
 push stream.stdout
 call text.write
 
exit: push 0                                 
 call process.exit
 
 crypt proc
 
 mov ecx,countb3
 xor esi,esi
 xor edi,edi
 xor ebx,ebx
 
krp: mov eal,buf1[esi]
 mov eal,buf2[edi]
 mov buf3[ebx],eal
 
 inc esi
 inc edi
 inc ebx
 
 cmp ebx,countb3
 je endproc
 cmp esi,countb1
 jne m1
 xor esi,esi
m1: cmp edi,countb2
 jne m2
 xor edi,edi
m2: loop krp
endproc : ret
endp

section '.data' data readable writeable
handle1 dw 0
handle2 dw 0
filename1 db 'file:\home\denis\kluch.txt',0xA
filename2 db 'file:\home\denis\gamma.txt',0xA
filename3 db 'file:\home\denis\text.txt',0xA
buf1 rb 200
buf2 rb 200
buf3 rb 200
countb1 dw 0
countb2 dw 0
countb3 dw 0
frerr db 10,'error,error',0
fr1 db 'shifrovanie gammirovaniem kluchom i signaturoi',10,0
fr2 db 'shifrovanie uspeshno zaversheno',10,0
Post #: 1
RE: посмотрите прогу, Fasm&linux - 2007-01-04 19:10:47.360000   
MalыШ

Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
ладно зададим немного другой вопросик! надо перевести из тасмовского синтаксиса в фасм. такую строчку
mov eal,buf[esi]
транслятор сильно ругается. чёто ничего придумать не могу.
заранее спасибо за помошь. если таковая будет.8D
Post #: 2
RE: посмотрите прогу, Fasm&linux - 2007-01-04 22:31:03.653333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
регистра eal нету. есть al, есть ax, есть eax, есть, по-моему, rax. а eal нету. судя по логике программы, тебе нужен просто al.
Post #: 3
RE: посмотрите прогу, Fasm&linux - 2007-01-06 14:54:52.806666   
MalыШ

Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
эта строчка будет выглядеть так:
mov eax,DWORD[buf1+esi]
p.s. всем спасибо! я дописал кусовую! [&:]
а по поводу rax, так это&nbsp; я встречал при описани буфера:
например в тасме buf db 10 dup (0)
а в фасме&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf rb&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; под *nix или используется 10h для большего
если я понял о чем вы хотели сказать.
Post #: 4
Страниц:  [1]
Все форумы >> [Прочее] >> посмотрите прогу, Fasm&linux







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

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