[ MasterShadow @ 17.04.2001. 14:50 ] @
Na www.zastita.co.yu ima text o "buffer overflow" gde koristi assembler inctruction:
movl %esp,%eax
subl ...
koliko ja znam o assembleru postoje instrukcija "mov" i "sub" a ne movl i subl.
[ Gojko Vujovic @ 17.04.2001. 21:36 ] @
Nek neko odgovori konkretno na ovu poruku, u vezi sa temom, bez odgovora tipa 'nemas pojma', 'ti si moj idol' i slicno.
[ Mikky @ 17.04.2001. 21:42 ] @
ma sta ima da mu odgovaram kad covek nema pojma
salim se
postoje 2 sintakse asemblera
jedna je intel i koristi se u dos-u i windows-u i to je ono sto si ti video (znaci sub, add, mov itd)
a druga je AT&T sintaksa koja se koristi na *nix platformama i to gore je primer instrukcija iz te AT&T sintakse
sto znaci da je taj buffer overflow pisan za *unix sistem tj za linux posto je to pisao predator kolko mi se cini
toliko
[ Vojislav Milunovic @ 18.04.2001. 17:09 ] @
Ne znam za druge ali AT&T je mnogo logicinja i lepsa sintaksa
[ Mikky @ 19.04.2001. 09:52 ] @
ja jos nisam radio sa at&t vec samo sa intel pa zbog toga mi se svaka druga cini bezveze... ali mi se cini da je at&t komplikovanija .....
[ Vojislav Milunovic @ 19.04.2001. 14:10 ] @
cini ti se , uostalom ako budes radio sa njom zavoleces je :o) Kao i ja
[ Mikky @ 19.04.2001. 22:09 ] @
pa cek jesi ti prvo radio sa asm u dosu ili si odmah poceo sa asm u linuxu
ako je ovo drugo onda te razumem
znas kako je tesko odvici se jedne navike i preci na drugu
[ Vojislav Milunovic @ 19.04.2001. 22:52 ] @
Pa radio sam prvo sa Intel sintaksom jer moras prvo sa njom da pocnes posto je sva dokumentacija za intel a posle uz pomoc gomile textova i gdb-a sam skapiras razlike i shvatis da je citljivija :o)
[ glorfindel @ 22.04.2001. 09:30 ] @
Ali jos Shadow nije dobio odgovor na svoje pitanje. Evo ovako ´l´ predstavlja long, sa long moze se samo
pomicati 32 bitni registri,dok sa mov mozemo 16 bitne i 32 bitne. Samo u at&t jos imamo i movw sto znaci word
i movb sto znaci byte. Onda vjerovatno bi mogli napisati ´mov %esp,%eax´ ali get_esp() funkcija
vraca long broj.
[ Vojislav Milunovic @ 23.04.2001. 12:12 ] @
Pa ovaj je postavio isto ovo pitanje na www.zastita.co.yu tako da sam mu tamo vec odgovorio :o)
Inace zbog navike valja se pisati movl,movb,movw...ti mozes da npises uvek :
movw %ax,%bx = mov %ax,%bx
movb %al,%bh = mov %al,%bh
movl %eax,%ebx = mov %eax,%ebx

Znaci stvar je samo navike jel ces kod pomeranja vrednosti na neku adresu morati to da koristis :
movl $0x0,(%eax) ili movb $0x0,(%eax) ... A iskreno da kazem kod je bas citljiviji sa tim b,w,l jer se lakse snalazis odma znas sta gde i kako se kopira :o)