|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Grishka Chervonets 2:5020/400 24 Aug 2006 14:08:44 To : "Dmitry A. Nikitin" Subject : Re: получить чистый бинарник -------------------------------------------------------------------------------- Dmitry A. Nikitin <dmitry@sbor.spb.su> wrote: >> $ ll test.bin >> -rwxr-xr-x 1 chg chg 18 2006-08-19 12:47 test.bin >> ^^ >> $ objdump -d test.elf >> >> test.elf: формат файла elf32-i386 >> >> Диассемблирование раздела .text: >> >> 08048094 <main>: >> 8048094: 55 push %ebp >> 8048095: 89 e5 mov %esp,%ebp >> 8048097: 83 ec 08 sub $0x8,%esp >> 804809a: 83 e4 f0 and $0xfffffff0,%esp >> 804809d: b8 00 00 00 00 mov $0x0,%eax >> 80480a2: 29 c4 sub %eax,%esp >> 80480a4: eb fe jmp 80480a4 <main+0x10> >> DAN> Хы, проделал тоже самое. Только получилось короче. :) DAN> dmitry:~ $ objdump -d test.elf DAN> DAN> test.elf: формат файла elf64-x86-64 DAN> DAN> Диассемблирование раздела .text: DAN> DAN> 00000000004000e8 <main>: DAN> 4000e8: 55 push %rbp DAN> 4000e9: 48 89 e5 mov %rsp,%rbp DAN> 4000ec: eb fe jmp 4000ec <main+0x4> в общем-то, все что нужно, это: 1: jmp 1b всего 2 байта. очевидно, разные версии gcc генерируют код по-разному DAN> dmitry:~ $ DAN> DAN> А этот длинее :\ DAN> dmitry:~ $ ll test.bin DAN> -rwxrwxr-x 1 dmitry dmitry 64 Авг 24 02:40 test.bin к сожалению у меня нет под рукой x86-64 машины. может быть заполнение. попробуй диасемблить с ключем -z. что говорим objdump -h test.o ? -- http://chg.fatal.ru Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: CHG (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/117154fe4bd8d.html, оценка из 5, голосов 10
|