; tiny.asm
BITS 32
org 0x00001000
db 0x7F, "ELF" ; e_ident
dd 1 ; p_type
dd 0 ; p_offset
dd $$ ; p_vaddr
dw 2 ; e_type ; p_paddr
dw 3 ; e_machine
dd filesize ; e_version ; p_filesz
dd _start ; e_entry ; p_memsz
dd 4 ; e_phoff ; p_flags
_start:
mov bl, 42 ; e_shoff ; p_align
xor eax, eax
inc eax ; e_flags
int 0x80
db 0
dw 0x34 ; e_ehsize
dw 0x20 ; e_phentsize
db 1 ; e_phnum
; e_shentsize
; e_shnum
; e_shstrndx
filesize equ $ - $$
Сей код был надыбан мной на одном из сайтов посвящённых кодингу на асме под пингвином. Целью той странички было показать насколько возможно сделать файл маленьким.
Этот код демонстрирует это, он копилиться на насме и занимает 45 байт.
nasm -f bin -o prog prog.asm
Но вот тут встал вопрос а куда вставляется рабочий код, т.е. между какими строками. Пробовал ставить перед:
xor eax, eax
inc eax ; e_flags
int 0x80
но не получилось в ответ на это получил сообщение:
bash: ./prog: Cannot allocate memory
Пробовал в конец, но тот же пень.
Буду признателен за помощь в разгадке.
Заранее спасибо!!!
Ответ на:
комментарий
от cyclon
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Бинарники (2009)
- Форум Бинарники (2005)
- Форум бинарники (2002)
- Форум бинарники (2002)
- Форум Реально ли определить алгоритм шифровки и декриптовать маленький бинарник? (2015)
- Форум Автозапуск бинарника (2017)
- Форум перелинковать бинарник (2011)
- Форум компилирование бинарников (2013)
- Форум Бинарники Inkscape (2018)
- Форум Бинарники мимикрирующие (2021)