01.01.2013 Views

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

(gdb) disassemble main<br />

Dump of assembler code for function main:<br />

0x8048314 : push %ebp<br />

0x8048315 : mov %esp,%ebp<br />

0x8048317 : sub $0x8,%esp<br />

0x804831a : and $0xfffffff0,%esp<br />

0x804831d : mov $0x0,%eax<br />

0x8048322 : sub %eax,%esp<br />

0x8048324 : mov $0x1,%ebx<br />

0x8048329 : push $0xa<br />

0x804832b : push $0x7362614c<br />

0x8048330 : push $0x44544f4d<br />

0x8048335 : mov %esp,%ecx<br />

0x8048337 : mov $0xa,%edx<br />

0x804833c : mov $0x4,%eax<br />

0x8048341 : int $0x80<br />

0x8048343 : mov $0x0,%ebx<br />

0x8048348 : mov $0x1,%eax<br />

0x804834d : int $0x80<br />

0x804834f : leave<br />

0x8048350 : ret<br />

0x8048351 : nop<br />

0x8048352 : nop<br />

0x8048353 : nop<br />

0x8048354 : nop<br />

0x8048355 : nop<br />

0x8048356 : nop<br />

0x8048357 : nop<br />

0x8048358 : nop<br />

0x8048359 : nop<br />

0x804835a : nop<br />

0x804835b : nop<br />

0x804835c : nop<br />

0x804835d : nop<br />

0x804835e : nop<br />

0x804835f : nop<br />

End of assembler dump.<br />

(gdb)<br />

Hehehe, adoro isso! :)<br />

Pra quem sabe um pouco de assembly, sabe que o começo é o prelúdio,<br />

prólogo ou processo incial, ele também reserva um espaço no stack e<br />

alinha a memória. Eles serão úteis quando falarmos sobre buffer<br />

overflows numa outra oportunidade não distante. :P<br />

Maiores informações, vide os links no fim do arquivo sobre assembly. Lá<br />

vocês encontrarão as respostas para suas perguntas! Voltando...<br />

Repare que nosso código começa somente em e a última<br />

instrução começa em . Então devemos pegar todos os<br />

opcodes em hexadecimal a partir de até .<br />

Mas não seria até ??? Sim, mas repare que a instrução<br />

"começa" em e prossegue até , ou seja, 1 antes<br />

66

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!