ru_java


ru.java

все о языке программирования java



  • 1
JAD гляньте. Не припомню проблем с компиляцией его вывода.

спасибо, сейчас гляну

в итоге, JAD справился хуже, чем JD-core, некоторые классы вообще рассыпались на невнятные копии друг друга с постфиксом $<номер копии>

Тогда у меня есть сомнения что вы найдете что-то полностью рабочее на ваших классах. Я джадом декомпилил отдельные файлы, его вывод был вполне рабочий. Может кто-то еще подскажет.

буду копать дальше, а так, поправляю ошибки, в основном некритичные, то приведение типов кривое, то класс не импортировался, думаю за пару дней справлюсь вплоть до скомпилированного приложения

> невнятные копии друг друга с постфиксом $<номер копии>
Результат компиляции класса с внутренними анонимными классами никогда не видели? :)

Как же не видеть, видел конечно, просто не ожидал от декомпилятора, что он будет их распихивать по отдельным файлам. Логично же поместить анонимный класс туда, где он был создан.

байткод не всегда получается из компиляции с языка Java

оригинальным языком может быть scala / closure / xslt например, и маппинг в яву, грубо говоря, возможен лишь в частных случаях

во-вторых компиляторы и декомпиляторы сильно изменяются со временем, поэтому "у меня не работает" - "а у меня всё работает" это не разговор
попытайтесь указать версии компилятора и использованного вами декомпилятора например
может у вас jdk8 с новыми конструкциями, тогда таких декомпиляторов просто быть не может

также будет смешно, если вы банально пробуете компилять полученные сорцы более старым компилятором, чем исходный

все верно и это все учтено, исходный jdk/jre проекта - 1.6, язык - нативная java + библиотеки swing, поэтому JD-core в этом случае показало лучший результат, в отличии того же JAD, который все же староват для 1.6. Преемственность версий соблюдена. Поэтому просто тихим сапом, как писал выше, поправлю ошибки декомпиляции и будет все гуд. Тем более, восстановление практически 100%'е, т.к. названия классов, свойств, методов и переменных сохранено и восстановлено как у исходного проекта, а не мешанина из int aA, string bC.

Disclaimer: я автор Fernflower :)

Очень любопытно, не поделитесь парочкой классов из тех, что не компилируются? Чтобы больше половины вообще не обработались, да еще пустыми получились, на моей памяти пока не случалось... Буду благодарен, если выложите их куда-нибудь и дадите ссылку в личку - разберемся.

на такое даже и надеялся))) конечно же буду рад поделиться.

Прошу прощения что встреваю в вашу беседу, а также что пишу от ВКшного контакта. Уважаемый stiver_rus, подскажите, а есть ли возможность получить свежий фернфловер или хотя бы декомпилировать наши бинарники им? Исторически сложилось, что по данному проекту нет исходников, мы вроде как достаточно успешно декомпилируем его через jd-gui, но хотели бы попробовать еще и вашим. Или взять тот, что можно скачать из интернетов? Посоветуйте, вообщем, хотели бы стать вашими бета тестерами. Проект достаточно крупный и серьезный. Если интересно - напишите в почту plotnikovya(@)gmail(.)com

Все получилось самым лучшим образом, после правки ошибок все скомпилировалось и завелось в штатном порядке. Конечно, я считаю, что мне повезло на 99%, т.к. проект был скомпилин в debug режиме. Итого, резюмирую, JD-core справился с проектом написанным на нативной java, хотя и с ошибками при декомпиляции, которые легко правятся. Теперь надо дождаться stiver-rus, получится ли у него декомпилировать проект с помощью его разработки. Желаю ему в этом успехов.

  • 1
?

Log in