To jest polecenie scanelf, które można uruchomić w darmowym dostawcy hostingu OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
scanelf - narzędzie przestrzeni użytkownika do skanowania plików ELF
STRESZCZENIE
skanelf [Opcje] ELFy or katalogi
OPIS
skanelf to narzędzie w przestrzeni użytkownika do szybkiego skanowania danych ELF, katalogów lub wspólnego systemu
ścieżki dla różnych informacji. Może to obejmować typy ELF, ich oznaczenia PaX, TEXTREL,
itp...
OPCJE
-A, --archiwa
Skanuj archiwa (pliki .a)
-a, --wszystko
Wydrukuj wszystkie przydatne/proste informacje
-B, --nobaner
Nie wyświetlaj nagłówka
-b, --wiązać
Drukuj informacje o powiązaniach symboli (leniwy lub teraz)
-D, --endian
Drukuj endianizm ELF (duży/mały/...)
-E, --etyp ETYP
Drukuj tylko pliki ELF pasujące do określonego typu (np. ET_DYN, ET_EXEC itp.)
-e, --nagłówek
Wydrukuj oznaczenia GNU_STACK
-F, --format FORMAT
Użyj określonego formatu danych wyjściowych; zobacz FORMAT aby uzyskać więcej informacji
-f, --z FILE
Odczyt strumienia wejściowego z pliku o podanej nazwie
-g, --match
Użyj strncmp, aby dopasować biblioteki (użyj z -N). Lub wyrażenie regularne z dopasowywaniem symboli
-h, --help
Pokaż skrócone użycie i wyjdź
-I, --osabi
Drukuj OSABI
-i, --interp
Wydrukuj informacje o tłumaczu (.interp/PT_INTERP)
-k, --Sekcja SEKCJA
Znajdź ELF z określoną sekcją. Można określić wiele razy, aby dopasować
wiele sekcji jednocześnie. Widzieć SEKCJA PASUJĄCY więcej informacji.
-L, --ldcache
Wykorzystaj informacje ld.so.cache (użyj z -r/-n)
-l, --ldścieżka
Przeskanuj wszystkie katalogi w /etc/ld.so.conf
-M, --bity BITS
Drukuj tylko pliki ELF pasujące do określonych bitów numerycznych (np. 32/64)
-m, --uchwyt
Nie krzyżuj rekurencyjnie punktów montowania
-N, --lib NAZWA SONA
Znajdź ELF, które potrzebują określonej SONAME. Można określić wiele razy, aby dopasować
jednocześnie wiele SONAME. Widzieć NAZWA SONA PASUJĄCY więcej informacji.
-n, --potrzebne
Biblioteki druku, z którymi powiązany jest ELF (DT_NEEDED)
-O, --trwała Perms
Drukuj tylko pliki ELF z pasującymi określonymi bitami ósemkowymi (np. 755)
-o, --plik FILE
Zapisz strumień wyjściowy do pliku o określonej nazwie
-p, --ścieżka
Przeskanuj wszystkie katalogi w środowisku PATH
-q, --cichy
Wyprowadzaj tylko „złe” rzeczy
-R, - rekurencyjny
Skanuj katalogi rekurencyjnie
-r, --rścieżka
Wydrukuj ścieżki działania zakodowane w ELF (DT_RPATH/DT_RUNPATH)
-S, --nazwisko
Wydrukuj nazwę udostępnionej biblioteki ELF (DT_SONAME)
-s, --symbol SYMBOL
Znajdź określony symbol; Widzieć SYMBOL PASUJĄCY więcej informacji
-T, --tekstrele
Zlokalizuj przyczynę TEXTREL za pomocą objdump
-t, --tekstrel
Wydrukuj informacje TEXTREL
-V, --wersja
Wydrukuj wersję i wyjdź
-v, --gadatliwy
Bądź gadatliwy (może być użyty więcej niż raz)
-X, --naprawić
Spróbuj „naprawić” złe rzeczy (użyj z -r/-e)
-x, --patena
Wydrukuj oznaczenia PaX
-Y, --eabi
Drukuj EABI (ma znaczenie tylko dla kilku architektur)
-y, --link symboliczny
Nie skanuj dowiązań symbolicznych
-Z, --rozmiar ROZMIAR
Wydrukuj rozmiar pliku ELF
-z, --setpak FLAGI
Ustawia EI_PAX/PT_PAX_FLAGS na określone flagi (użyj z -Xx)
--use-ldpath
Użyj ścieżek ld.so.conf, aby znaleźć pełną ścieżkę do bibliotek (użyj w połączeniu z
--potrzebne).
--źródło PATH
Przeszukaj określone drzewo główne zamiast /. Zwykle w połączeniu z opcjami takimi jak -l lub
-P. To niejawnie traktuje wszystkie ścieżki określone w wierszu poleceń jako względne względem pliku
root, więc pamiętaj, aby go pominąć, jeśli jawnie wymieniasz ELF-y.
FORMAT
Ciąg formatu jest bardzo podobny do ciągu printf, ponieważ jest to dosłowny ciąg znaków z flagami
prosząc o różne informacje. Na przykład możesz użyć ciągu formatującego i oczekiwać
następujące wyniki.
# skanelf -BF „plik %f potrzebuje %n; fajny czas” / bin / bash
plik bash wymaga libncurses.so.5,libdl.so.2,libc.so.6; fajny czas
Zauważ, że kiedy używasz ciągu formatującego, ogólnie flagi związane z informacjami powinny być
pominięty. Innymi słowy, nie chcesz próbować żądać danych wyjściowych NEEDED (-n) i spróbuj
określić format wyjściowy w tym samym czasie, gdy te operacje wzajemnie się wykluczają. Każdy
flaga związana z informacjami ma równoważny specyfikator konwersji, więc użyj ich zamiast tego. Ty
może oczywiście nadal używać flag niezwiązanych z informacjami (takich jak --gadatliwy).
Istnieją trzy znaki, które wprowadzają specyfikatory konwersji.
· % - zastąpić informacjami
· # - ciche dopasowanie logiczne
· + - pełne dopasowanie
I istnieje wiele specyfikatorów konwersji. Staramy się dopasować specyfikator do
odpowiednią opcję.
· a - typ maszyny (EM).
· b - wiązać flagi
· e - nagłówki programu
· D - endian
· I - Osabi
· Y - eabi
· F - długa nazwa pliku
· f - krótka nazwa pliku
· i - interp
· k - Sekcja
· M - klasa IE
· N - określone potrzebne
· n - potrzebne biblioteki
· p - nazwa pliku (bez wyszukiwania)
· o - typ
· O - trwała
· r - ścieżki biegowe
· S - NAZWA
· s - symbol
· T - wszystkie teksty
· t - stan tekstu
· x - flagi Pax
SYMBOL PASUJĄCY
Określony ciąg przyjmuje formę [%[modyfikatory]%][[+-] nazwa>][,[.....]].
Jeśli symbol Nazwa jest pusty, to wszystkie symbole są dopasowane.
Jeśli symbol Nazwa jest kulą ziemską ("*"), wtedy wszystkie symbole są wyrzucane w formacie debugowania. Nie rób tego
polegać na strukturze tego wyniku, ponieważ zmienia się on, kiedy tylko mamy na to ochotę.
Jeśli pierwszym znakiem nazwy symbolu jest plus („+"), to dopasowuje tylko zdefiniowane symbole. Jeśli
to minus ("-"), pasują tylko do niezdefiniowanych symboli. Kiedy mówimy "zdefiniowane", mamy na myśli
symbol jest zdefiniowany w ELF vs posiadanie zewnętrznego odniesienia.
Umieszczenie modyfikatorów między znakami procentu („%") pozwala na bardziej szczegółowe filtry.
Istnieją grupy modyfikatorów. Jeśli nie określisz członka grupy, wszyscy wpiszą
ta grupa jest dopasowana.
· STT grupa (typ symbolu)
· n - STT_NOTYPE
· o - STT_OBJECT
· f - STT_FUNC
· F - PLIK_STT
· STB grupa (wiązanie symboli)
· l - STB_LOCAL
· g - STB_GLOBAL
· w - STB_WEAK
· STV grupa (widoczność symbolu)
· p - STV_DEFAULT
· i - STV_INTERNAL
· h - STV_HIDDEN
· P - STV_PROTECTED
· SHN grupa (nagłówek sekcji)
· d - zdefiniowane
· u - SHN_UNDEF
· a - SHN_ABS
· c - SHN_COMMON
Możesz wyszukiwać wiele symboli jednocześnie, używając przecinka („,") oddzielić
różne wyszukiwania. Każdy pasujący symbol zostanie wyświetlony, podczas gdy symbole niedopasowane
nie będzie.
ELF ETYPY
Możesz zawęzić wyszukiwanie, określając typ pliku obiektowego ELF (ETYPE). Linia poleceń
opcja przyjmuje wartość liczbową i/lub typ symboliczny. Wiele wartości można przekazać przecinkami
rozdzielony. Przykład -E ET_EXEC,ET_DYN,1
Oto normalna lista dostępna dla Twojej przyjemności. Oczywiście możesz podać dowolne
żądaną wartość liczbową.
· 0 - ET_NONE - nieznany typ
· 1 - ET_REL - przenośny plik
· 2 - ET_EXEC - Plik wykonywalny
· 3 - ET_DYN - obiekt udostępniony
· 4 - ET_CORE - plik podstawowy
ELF BITS
Możesz także zawęzić wyszukiwanie, określając rozmiar bitu ELF. Ponownie określ liczbę
wartość lub definicja symboliczna.
· 32 - KLASA ELF32 - 32-bitowe ELFy
· 64 - KLASA ELF64 - 64-bitowe ELFy
SEKCJA PASUJĄCY
A ! przedrostek pokaże tylko te ELF, które nie mają określonej sekcji.
POTRZEBNE NAZWA SONA PASUJĄCY
A ! przedrostek pokaże tylko ELF, które nie zależą od określonej biblioteki.
GŁÓWNĄ
http://hardened.gentoo.org/pax-utils.xml
RAPORTOWANIE ROBAKI
Podaj jak najwięcej informacji (korzystając z dostępnych opcji debugowania) i
wyślij raporty o błędach do opiekunów (zobacz AUTORSKI Sekcja). Proszę korzystać z Gentoo
Bugzilla w http://bugs.gentoo.org/ Jeśli to możliwe.
Korzystaj ze scanelf online za pomocą usług onworks.net