Re: lug-bg: C/C++ + binary executable file
- Subject: Re: lug-bg: C/C++ + binary executable file
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Thu, 30 Sep 2004 13:26:44 +0300
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 roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
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:
pgpurFqRZGrRb.pgp
Description: PGP signature
|