Różne osoby odpowiedziały na niektóre aspekty zapytania, ale nie na wszystkie.
Wszystkie pliki na komputerach są przechowywane jako 1 i 0. Obrazy, pliki tekstowe, muzyka, aplikacje wykonywalne, pliki obiektowe itp.
Wszystkie są zerami i jedynkami. Jedyna różnica polega na tym, że są one interpretowane różnie w zależności od tego, co je otwiera.
Gdy przeglądasz plik tekstowy przy użyciu cat
, plik wykonywalny ( cat
w tym przypadku) odczytuje wszystkie jedynki i zera oraz przedstawia je, konwertując je na znaki z odpowiedniego alfabetu lub języka.
Kiedy przeglądasz plik za pomocą przeglądarki obrazów, bierze wszystkie jedynki i zera i zamienia je w obraz, w zależności od formatu pliku i pewnej logiki, aby wszystko wypracować.
Skompilowane pliki binarne nie różnią się, są przechowywane jako 1 i 0.
Odpowiedź arzyfex daje narzędzia do przeglądania tych plików na różne sposoby, ale czytanie pliku jako pliku binarnego dla dowolnego pliku na komputerze, podobnie jak wyświetlanie go w postaci ósemkowej, szesnastkowej lub ASCII, może nie mieć sensu w każdym tych formatów.
Jeśli chcesz zrozumieć, co robi wykonywalny plik binarny, musisz go wyświetlić w sposób pokazujący język asemblera (na początek), który możesz zrobić, używając:
objdump -d /path/to/binary
który jest deasemblerem, pobiera zawartość binarną i konwertuje ją z powrotem na asembler (który jest językiem programowania na bardzo niskim poziomie). objdump
nie zawsze jest instalowany domyślnie, więc może być konieczne zainstalowanie go w zależności od środowiska Linux.
Niektóre zewnętrzne czytanie.
Uwaga: jak wskazuje @Wildcard, należy pamiętać, że pliki nie zawierają znaków 1 i 0 (jak widać na ekranie), zawierają rzeczywiste dane liczbowe, poszczególne fragmenty informacji, które są albo na (1) lub wyłączone (0). Nawet ten opis jest jedynie przybliżeniem prawdy. Kluczową kwestią jest to, że jeśli znajdziesz przeglądarkę, która pokazuje jedynki i zera, nawet to nadal interpretuje dane z pliku, a następnie pokazuje znaki ASCII dla 0 i 1. Dane są przechowywane w formacie binarnym ( patrz link Numer binarny powyżej). Wpis wiki społeczności Pierre-Oliviera opisuje to bardziej szczegółowo.