Упаковщики исполняемых файлов в LINUX-BSD


         

судя по адресу, это возможно


из call main

0xbffffafc:     0x080482e1               ; судя по адресу, это возможно так и есть

(gdb) x $esp+0xC                         ; должен быть указатель на main

0xbffffb00:     0x08048390               ; судя по адресу это так и есть

(gdb) disassemble

0x80482e1              ; проверяем наше предположение

Dump of assembler code for function _start:     ; дизассемблер

показывает типичный

0x080482c0 <_start+0>:  xor %ebp,%ebp     ; стартовый код, значит, приложение

0x080482c2 <_start+2>:  pop %esi          ; уже распаковано!

0x080482c3 <_start+3>:  mov %esp,%ecx

0x080482c5 <_start+5>:  and $0xfffffff0,%esp

0x080482c8 <_start+8>:  push      %eax

0x080482c9 <_start+9>:  push      %esp

0x080482ca <_start+10>: push      %edx

0x080482cb <_start+11>: push      $0x8048410

0x080482d0 <_start+16>: push      $0x80483b0

0x080482d5 <_start+21>: push      %ecx

0x080482d6 <_start+22>: push      %esi

0x080482d7 <_start+23>: push      $0x8048390

0x080482dc <_start+28>: call      0x80482b0 <_init+56>

0x080482e1 <_start+33>: hlt

End of assembler dump.


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий