On Thu, Sep 30, 2004 at 12:53:24PM +0300, Vasil Kolev wrote:
> На чт, 2004-09-30 в 12:33, Aleksander Valchev записа:
> > Възможно ли е програмно (С/С++) да определиш дали даден файл е "binary 
> > executable"?
> > Имам на предвид нещо като file(1). В `man file` пише, че всеки "binary 
> > executable" файл има "magic number" някъде в началото на файла и по това се  
> > определя дали е изпълним. Ако някой може да даде някакъв линк...
> 
> Има един файл, magic (man 5 magic), който поне при мен стои в
> /usr/share/misc/magic,  в който можеш да прочетеш различните признаци,
> по които file разпознава файла и за какво се бори. Също така можеш да
> пробваш да свалиш source на file и съпътстващите го неща, и да го
> разровиш.
> 
> Самия ELF executable си има бая документи, които го описват, питай
> директно google за нещо като "ELF executable format".

Само като допълнение, правилният начин да разпознаеш един файл като
изпълним файл във формат ELF е първите му четири символа да са 0x7F,
'E', 'L', 'F'.  Иначе идеята за разглеждаме на magic-файла на file(1),
на различните файлове в сорса на file(1), от които се построява в крайна
сметка файла magic, и на стандартите за ELF, е много, много добра :)

Поздрави,
Петър

-- 
Peter Pentchev  [EMAIL PROTECTED]    [EMAIL PROTECTED]    [EMAIL PROTECTED]
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
What would this sentence be like if pi were 3?

Attachment: pgp1xQU0ZFx7z.pgp
Description: PGP signature

  • ... Peter Pentchev
    • ... Виктор Василев

Reply via email to