Czy ktoś wie o uzyskiwaniu pseudokodu dla x86-64 w IDA Pro? Próbowałem już wtyczki Hex-Rays w celu uzyskania pseudokodu, ale kiedy próbuję, pojawia się następujący błąd: „Obsługiwany jest tylko kod 32-bitowy”.
Komentarze
- cóż, jaki masz typ pliku binarnego? x86, x86_64, ARM …?
Odpowiedź
Dwie pozostałe odpowiedzi tutaj są nieaktualne.
Z witryny hex-ray, na stronie o dekompilatorze hex-ray:
Obecnie dekompilator obsługuje kod generowany przez kompilator dla procesorów x86, x64, ARM32, ARM64 i PowerPC. Planujemy przenieść go na inne platformy i dodać programistyczne API. Pozwoli to naszym klientom wdrażać własne metody analizy. Wyszukiwanie podatności, walidacja oprogramowania, analiza pokrycia to wskazówki, które natychmiast przychodzą na myśl.
W dniu 2014/06/04, wraz z wydaniem IDA 6.6 hex -rays oficjalnie wypuściło swój 64-bitowy dekompilator x86 i od tego czasu jest stale ulepszany. Oficjalną wersję można zobaczyć na stronie IDA 6.6 jako pierwszą nową funkcją, a także na ich dzienniku zmian .
Jest to oddzielny produkt i sprzedawany niezależnie od 32-bitowego dekompilatora x86 i obecnie jest wyceniany w tej samej cenie, co inne dekompilatory (zobacz oferty cenowe dla nazwanych licencji).
Ponad dwa lata po pierwszym wydaniu dekompilator jest w pełni funkcjonalny i uważany za wysokiej jakości.
Dwa obrazy korzystania z 64-bitowej dezasemblacji i dekompilacji architektury IDA w architekturze x86 (ze strony IDA 6.6 hex-ray):
(źródło: hex-rays.com )
Inne rozwiązania
Istnieją jednak inne rozwiązania, które zapewniają wtyczkę IDA do dekompilacji. Chociaż nie jest to dokładnie to, czego szukałeś, stanowią one inny możliwy sposób osiągnięcia zamierzonego celu:
- Bałwan , pełny -wydany dekompilator z wtyczką IDA
- wtyczka dla AVG „s Retargetable Decompiler online decompiler ( Wspomniany przez @ws)
- Wtyczka do dekompilacji IDA w języku Python o nazwie ida-decompiler ( Wspomniane przez @ 0xea)
Komentarze
- Istnieje również wtyczka z retdec.com/idaplugin . Obsługuje Intel x86, ARM, ARM + Thumb, MIPS, PIC32, PowerPC w ELF, PE , COFF, AR (archiwum) i Intel HEX. Pamiętaj, że proces dekompilacji odbywa się na ich serwerze, a nie lokalnie.
Odpowiedź
O ile wiem, wtyczka IDA Hex-ray obsługuje tylko dekompilację x86 i ARM (jeśli masz licencja na ARM). To nie działa na x86_64.
Jednak jeśli potrzebujesz czegoś, co będzie działać na x86_64, spójrz na ida-decompiler :
Wtyczka IDA, która próbuje dekompilować funkcję. Napisana w Pythonie. Aby wypróbować to w IDA, umieść kursor na funkcji i uruchom wtyczkę . Zdekompilowana funkcja pojawi się w oknie wyjściowym.
Oczywiście nie jest tak zaawansowana jak promienie szesnastkowe, ale jest to dobry krok w kierunku dobry, otwarty dekompilator.
Komentarze
- To było poprawne w chwili pisania tego tekstu, ale już nie jest. Spójrz na moją odpowiedź .
Odpowiedź
Jeśli absolutnie potrzebujesz pseudokodu i nie masz szczęścia w IDA Pro, możesz chcę wypróbować wersję demo hoppera : może generować pseudokod dla x86, x86-64 i ARM.