Decompiler ma na wejściu plik wykonywalny i próbuje stworzyć wysoki poziom, compilable, być może nawet w utrzymaniu pliku źródłowego, który robi to samo.
Jest zatem przeciwieństwem kompilatora, który bierze plik źródłowy i sprawia, że plik wykonywalny. Jednak ogólnie Dekompilator nie próbuje odwrócić wszelkie działanie dekompilator, a to zmienia program wejściowy, aż wynik jest kod źródłowy wysoki poziom. W związku z tym nie będzie odtworzenie oryginalnego pliku źródłowego; Prawdopodobnie nic podobnego.
To nie ma znaczenia, czy plik wykonywalny ma symboli, czy nie, czy został skompilowany z konkretnym języku. (Jednak deklaratywne językach jak ML nie są uznawane.)
Chodzi o to, aby stworzyć retargetable Decompiler (tzn taki, który może dekompilacji różnych typów plików kodu maszynowego z umiarkowanym wysiłku, np x86-okna, sparc-solaris, itp). Miała także być modułowy, tak, że różne części mogą być zastąpione dekompilator modułów doświadczalnych. To miał w końcu stać się interaktywne, la IDA Pro, ponieważ niektóre rzeczy (nie tylko nazwy zmiennych i komentarze, ale ich oczywiście bardzo ważne) wymaga interwencji ekspertów. Czy interaktywność należy w dekompilator lub oddzielne narzędzie, pozostaje niejasne.
Poprzez przekształcenie semantyki poszczególnych instrukcji, a przy użyciu skutecznych technik, takich jak Static Przypisywanie przepływu danych jednej analizie, Boomerang powinna być (w dużej mierze), niezależnie od dokładnego zachowania kompilatora, co wydarzyło się do użytku. Optymalizacja nie powinno mieć wpływu na wyniki. W związku z tym, celem jest ogólna Dekompilator.
Ograniczenia:
· W przypadku, gdy chcesz spróbować Boomerang, jak to jest w dekompilator (w przeciwieństwie do eksperymentowania z nim, lub jej poprawę), należy pamiętać o jej poważnych ograniczeń. Od początku roku 2004, Boomerang będzie tylko dekompilować X86 / X86 (Linux lub Windows PE), SPARC (Solaris lub przypuszczalnie Linux / SPARC), lub Power PC (Linux / PPC lub / Mac OS X) programów. W szczególności należy zwrócić uwagę, że nie będzie dekompilacji programów DOS lub NE (Windows 3.1). Dodanie kolejnego procesora jest duże (kilka miesięcy) przedsiębiorstwem.
· To będzie tylko generować C, a nie C ++. Będzie dekompilacji programów C ++ (i oczywiście, wszelkie rodzaje programów, w tym asemblerze). Możesz być w stanie przekazać wyedytować kilka programów w C ++ kod źródłowy użytkowej C ++. Dla MSVC kompilowane, obecnie trzeba spoonfeed na Decompiler i powiedzieć jej, że jest jeden parametr rejestr (thiscall konwencji wywołania). Przełączniki do obsługi tego są złożone; zobacz pomocą przełącznika -sf.
Szczegóły programowe:
Wersja: alpha 0.3
Filmu: 3 Jun 15
Licencja: Wolny
Popularność: 182
Komentarze nie znaleziono