Narzędzie wiersza poleceń Patchelf pozwala nam modyfikować biblioteki pliku wykonywalnego ELF. Jest to bardzo przydatne, gdy przeprowadzamy analizę sterty na innej wersji libc niż ta używana przez system zdalny lub gdy nie mamy dostępu do kodu źródłowego i chcemy uruchomić wiele wersji libc w tym samym systemie. Możesz pobrać patchelf z repozytorium GitHub5 lub po prostu zainstalować go za pomocą sudo apt install patchelf. W tym laboratorium załatamy plik binarny hello, aby korzystał z interpretera i wersji libc:
- Najpierw tworzymy folder lib i kopiujemy systemowe pliki ld-linux.so i libc:
- Teraz możemy załatać plik binarny hello i potwierdzić, że zmiany zostały wprowadzone pomyślnie i że nasz program działa: