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):

Przykład demontażu IDA 6.6
(źródło: hex-rays.com )

Przykładowa dekompilacja IDA 6.6

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:

  1. Bałwan , pełny -wydany dekompilator z wtyczką IDA
  2. wtyczka dla AVG „s Retargetable Decompiler online decompiler ( Wspomniany przez @ws)
  3. 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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *