Comando readelf será implementado no toybox


zmc-link9
Links é o melhor elfo para ser apresentado aqui
 Antes de começar, readelf é um comando que exibe informações sobre arquivos no formato ELF que, apesar de a palavra elf em inglês significar elfo (é; temos elfos, gnomos, anões e magos no Linux. Basicamente o senhor dos aneis), ELF aqui vem de é a abreviação de Executable and Linking Format que é o padrão de binários que temos hoje e que substituiu o antigo padrão a.out. Quando digitamos o comando file seguido de um binário, vemos essas informações
Executando o comando file no binário do toybox, podemos ver a descrição ELF 64-bit bem no inicio.
Executando o comando file no binário do toybox, podemos ver a descrição ELF 64-bit bem no inicio.
Para saber mais sobre o formato ELF, digite man 5 elf no terminal ou simplesmente clique aqui.
 Já o comando readelf é um comando do pacote gnu binutils utilizado para realizar leitura exatamente de arquivos binários neste formato (como o próprio nome sugere). A diferença entre o comando  readelf e o comando strings (que já utilizei no canal sobre o driver do dualshock para mostrar que Linux possui suporte ao joystick do PS4) é que o readelf serve somente para leitura de binários, enquanto que o strings serve para leitura de qualquer tipo de arquivo (menos diretório). Vale também ressaltar que ambos os comandos exibem informações diferentes (mesmo em binários). Esse comando é utilizado para inclusive trabalhar em engenharia reversa.
Para saber mais sobre o comando readelf, digite man 1 readelf no terminal ou clique aqui.
Leitura das informações do binários do toybox utilizando o comando readelf.
Leitura das informações do binários do toybox utilizando o comando readelf.
 A implementação básica inicial do readelf com saída próxima ao binutils será utilizável com scripts e iniciou como uma implementação do comando nm (man 1 nm. Não irei comentar sobre o comando nm aqui para não tornar o assunto muito longo) até que mudaram de ideia e que precisam de muito trabalho no readelf para implementar o nm. Então, pode ser que ao escrever o código para o readelf, automaticamente o código seja aproveitado para a implementação do comando nm.

Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (30) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (31) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (94) gerenciadores de pacotes (4) glaucus (3) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (11) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (165) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (43) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (2) servidores (2) shell (9) shell script (8) sistema operacional (25) skarnet (1) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (7) terminal (89) terminal de comandos (18) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (15) zsh (3)