Czy istnieje narzędzie do odfiltrowania kodów zaciemnionych java?(2009) - Narzędzie do odświeżania kodów Java
Kody są pobierane z skompilowanej klasy, ale są zaciemnione i nieczytelne.
Czy istnieje narzędzie do odfiltrowania kodów zaciemnionych java?(2009) - Narzędzie do odświeżania kodów Java
Kody są pobierane z skompilowanej klasy, ale są zaciemnione i nieczytelne.
Czy próbowałeś, aby kod był mniej niejasny dzięki Java Deobfuscator (aka JDO), swojemu inteligentnemu dekompilatorowi?
Obecnie JDO wykonuje następujące operacje:
- zmienia nazwę metody ukrywane, zmienne, stałe i nazwy klas być unikalne i bardziej wskazuje ich rodzaju
- propogates zmian w całym drzewie cały źródłowego (beta)
- ma łatwy w użyciu interfejs GUI
- pozwala określić nazwę pola, metody i klasy (nowa funkcja!)
Obecnie JDO nie zrobić następujące (ale pewnego dnia)
- zmodyfikować metodę kodu bajtowego w żaden sposób
Pierwszym krokiem byłoby poznanie tego, które narzędzie zostało zaciemnione. Może jest już jakiś "odmalowacz" dla danego obfuscatora.
Z drugiej strony można również po prostu uruchomić IDE i wykorzystać jego moc refaktoryzacji. Zmień nazwę klasy, metody i zmiennej na coś poufnego. Wykorzystaj swoje ludzkie zdolności logicznego myślenia, aby dowiedzieć się, co kod faktycznie reprezentuje i nazwać je z wyczuciem. Obraz powoli, ale pewnie rośnie.
Powodzenia.
Nie wiem, jakiego obfuscatora używa się. A w procesie dekompilacji niektóre metody i zmienne pojawiają się jako "???" i one pochodzą z nikąd! Używam JD-GUI http://java.decompiler.free.fr/ – Salar
JDO może pomóc w tym.Zobacz http://stackoverflow.com/questions/1662766/tool-to-deobfuscate-java-codes/1662928#1662928 –
Ah, w ten sposób. Cóż, wtedy dekompiler nie obsługiwał oryginalnej wersji kompilatora, np. dekompilacja przeciwko Java 1.5, podczas gdy kod został skompilowany przy pomocy wersji 1.6. To nie zadziała. Przeczytaj dokumentację dekompilatora i/lub wypróbuj inne. – BalusC
Najprawdopodobniej tylko człowiekiem mindpower do sensu to. Uzyskaj najlepszy dostępny dekompiler i zastanów się nad jego wydajnością.
Użyłem Java Deobfuscator (aka JDO), ale ma kilka błędów. Nie działa z nazwami plików z rozróżnianiem małych i wielkich liter. Więc zmieniłem źródło i przesłałem łatkę do tego w sourceforge. The patch, Download
Nie gravedig ale napisałem narzędzie, które działa na większości obfuscators handlowych
Czy jest tam plik do odczytu? – 2371
Niezupełnie lol. Właśnie dodałem kompilację produkcyjną, więc jeśli przejdziesz do Pobrania, możesz pobrać ją z GUI – Contra
"JMD zostało przerwane z powodu braku czasu i zostało ostatnio zaktualizowane 24 listopada 2010." ... Dwa miesiące przed swoim postem. –
Może to będzie działać na Unix/Linux/MacOS?
Jeśli tak, możesz przenieść jeden z etapów procesu na maszynę wirtualną, w której rozpakowuje się kod, przed zmianą nazwy zbyt długiej. Jak długi jest limit nazwy pliku w systemie Windows?
Nie duplikat, chyba że można znaleźć taki, który mówi o * rozmyślaniu * (nie zaciemnianiu). –