Czy są jakieś programy linuksowe, które mogą deasemblować OS X -owy uniwersalny x86/x86_64 z Mach-O binarnym jak objdump? GND binutils 'objdump obsługuje pliki ELF i Windows PE, ale nie Mach-O.Dezasembler Linux-a typu Mach-O
Odpowiedz
AFAIK, rodzime narzędzia binarne Darwina są częścią pakietu cctools. Nie mają tej samej składni wiersza poleceń ani wyjścia, co GNU binutils. Później binutils (tj., 2.22) obsługują jednak format Mach-O. Możesz je wstępnie skonstruować, z prefiksem "g
" do nazw narzędzi, jak wspomniano here. Alternatywnie, można skompilować binutils, z czymś takim:
> ./configure --prefix=$CROSSTOOLDIR --target=x86_64-apple-darwin \
--enable-64-bit-bfd --disable-nls --disable-werror
Montaż przyniesie bin/
katalogu, gdzie media są poprzedzone x86_64-apple-darwin
. Powinien obsługiwać format i386 Mach-O (i pliki binarne FAT) dobrze.
To zadziałało. Dziękuję Ci bardzo. – Jeff
Dzięki za milion! Świetnie pracował!^_^ – TrinitronX
Po prostu, aby było jasne, to jest do budowania binutils specjalnie dla Mac osx? Nie dla Linuksa takie jak pierwotne pytanie? –
Kilka znanych narzędzi do inżynierii odwrotnej plików binarnych Mach-O to: z otool, ciągi znaków, nm, otx itd. To zdecydowanie działa na systemie MAC OSX, myślę, że działa również na Linuksowej platformie.
Nie, otool nie działa w systemie Linux. Jeśli masz jakiekolwiek dowody przeciwne, proszę je podać. Jeśli masz wersję innych narzędzi, które działają w systemie Linux na Mac OS X, proszę podać, skąd je wziąłeś. – pts
tak ... otool to narzędzie do obsługi cmd w systemie OSX ... Istnieje alternatywne narzędzie dla platformy Linux .. Google i znajdź to! – Anil
Próbowałem googling i mam ... tę odpowiedź. – Buge
W odniesieniu do odpowiedzi Jeffa:
bintuils nie obejmuje powiązanie wsparcia (LD/GLD) dla Mach-O nie, nawet w obecnym wydaniu 2.23, który jest bardzo rozczarowujące, ale nie zaskakujące. Tak się niestety dzieje, gdy tworzy się system operacyjny i wymyśla się na nowo rzeczy, "których naprawdę nie trzeba wymyślać na nowo". Każdy ma inne priorytety. Wciąż nie słyszałem końca a.out vs elfa od niektórych osób.
staram się uruchomić pliki binarne ELF na OSX? https://stackoverflow.com/a/2613170/1867574
Możesz dezasemblować pliki binarne Mach-O w systemie Linux za pomocą Hopper. W przeciwieństwie do programu objdump ma bardzo ładny graficzny interfejs użytkownika.
Myślę, że potrzebujesz otool
. Jest on zawarty w mac osx command tools
. Na przykład, jeśli chcesz zdemontować a.out
, wystarczy wpisać otool -tv a.out
w linii poleceń.
- 1. Wybór Linuxa IPC?
- 2. Wskazówki dotyczące nauki wbudowanego linuxa
- 3. Kompilowanie jądra Linuxa Błąd xt_CONNMARK.h
- 4. Jądro Linuxa Unieważniające wpisy TLB
- 5. Jak mogę przydzielić pamięć w jądrze Linuxa na ciąg znaków typu char *?
- 6. Przeczytaj wersję jądra Linuxa używając C?
- 7. skrypt bash dla Linuxa z wieloma pythonami
- 8. Transmisja na żywo HTTP: Koszmar Linuxa
- 9. os.system() wykonać komendę pod którą powłoką Linuxa?
- 10. Jak stworzyć użytkownika Linuxa używając C/C++?
- 11. Definicje segmentów dla Linuxa na x86
- 12. minimum C++ zrób plik dla linuxa
- 13. Środowisko wirtualne dla hakowania jądra Linuxa
- 14. Usługa kopii zapasowej Linuxa z obsługą Glacier
- 15. Ustawianie licencji na moduły w jądrze Linuxa
- 16. Miejsca ucieczki w ścieżce linuxa z Ruby gsub
- 17. Anaconda 3 dla Linuxa Nie ma pakietu gwarantującego?
- 18. W jaki sposób Docker uruchamia jądro Linuxa pod hostem MacOS?
- 19. Initramfs wbudowany w niestandardowe jądro Linuxa nie działa
- 20. Jak udostępnić funkcję jądra Linuxa do ftrace function_graph tracer?
- 21. Jenkins/Hudson CI Minimalne wymagania dla instalacji Linuxa RH
- 22. Monitory Linuxa modyfikujące pierwszy znak po odczytaniu portu szeregowego()
- 23. Jakie jest znaczenie znaków zapytania? w śladach wywołania paniki Linuxa?
- 24. Czy istnieje dezasembler + debugger dla java (ala OllyDbg/SoftICE dla asemblera)?
- 25. Obsada typu rodzajowego do interfejsu typu ograniczenie
- 26. typu mającego konwersję do typu && operatora
- 27. Polimorfizm typu zwrotnego w językach typu C
- 28. Jak utworzyć wystąpienia typu typeclass promowanego typu?
- 29. Błąd typu minimalizacji strat typu tensorflow
- 30. F # - Rozszerzenie typu VS Rozszerzenie typu
Czy jesteś pewien, że 'binutils' nie obsługuje Mach-O? Być może musisz to skonfigurować i przekompilować (oczywiście, że twoja dystrybucja standardowa 'binutils' nie obsługuje tego, ponieważ nie ma takiej potrzeby)? –
Czytałem gdzieś, że GNU binutils nie wspierał tego. Po prostu założyłem, że port mac został zmodyfikowany, aby go obsłużyć. Tak nie jest, jak opisuje @Brett Hale. – Jeff