Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Java Decompiler  (Прочитано 4518 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Riateche

  • Автор темы
  • Активист
  • *
  • Сообщений: 279
    • Просмотр профиля
    • Idzaaus
Java Decompiler
« : 21 Апреля 2009, 16:11:49 »
Скажите, пожалуйста, есть ли нормальный декомпилер джавы (под Linux, конечно), причем такой, чтобы выданный им код потом сразу компилировался? Самый популярный - Jad, но он у меня выдавал несколько синтаксических ошибок и кучу совпадений имен. К тому же сайт его сейчас лежит, и скачать его неоткуда (не нашел). А в прошлый раз качал с этого самого лежащего сайта, Linuxовая версия не пошла, запускал вайном виндовую... В общем, изврат.

Прошу не отсылать в гугл и на список всех возможных декомпилеров, я его уже видел (кстати, практически все они под винду). Интересует ваш собственный успешный опыт в декомпиляции.

Нужно это мне для того, чтобы можно было любую программу для мобильника декомпилировать, заменить в нем один из стандартных классов на самописный и скомпилить обратно. Такое вообще возможно?

Оффлайн K_E_S_T

  • Участник
  • *
  • Сообщений: 198
  • пси][опат
    • Просмотр профиля
Re: Java Decompiler
« Ответ #1 : 21 Апреля 2009, 23:10:10 »
 я лишь вас немного поправлю: декомпилить надо JAR. jad - описание jar-а для телефона, а все классы и т.д лажет в jar-e

Оффлайн zera

  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Java Decompiler
« Ответ #2 : 22 Апреля 2009, 10:18:19 »
чтобы заменить класс и декомпилировать не надо

Оффлайн amiheev

  • Участник
  • *
  • Сообщений: 152
    • Просмотр профиля
Re: Java Decompiler
« Ответ #3 : 22 Апреля 2009, 10:47:52 »
Скажите, пожалуйста, есть ли нормальный декомпилер джавы (под Linux, конечно), причем такой, чтобы выданный им код потом сразу компилировался? Самый популярный - Jad, но он у меня выдавал несколько синтаксических ошибок и кучу совпадений имен. К тому же сайт его сейчас лежит, и скачать его неоткуда (не нашел). А в прошлый раз качал с этого самого лежащего сайта, Linuxовая версия не пошла, запускал вайном виндовую... В общем, изврат.

Прошу не отсылать в гугл и на список всех возможных декомпилеров, я его уже видел (кстати, практически все они под винду). Интересует ваш собственный успешный опыт в декомпиляции.

Нужно это мне для того, чтобы можно было любую программу для мобильника декомпилировать, заменить в нем один из стандартных классов на самописный и скомпилить обратно. Такое вообще возможно?
Ты с этой страничкой знаком?
http://www.wasm.ru/print.php?article=1009005

Оффлайн Riateche

  • Автор темы
  • Активист
  • *
  • Сообщений: 279
    • Просмотр профиля
    • Idzaaus
Re: Java Decompiler
« Ответ #4 : 22 Апреля 2009, 12:39:22 »
я лишь вас немного поправлю: декомпилить надо JAR. jad - описание jar-а для телефона, а все классы и т.д лажет в jar-e
Я прекрасно это понимаю. JAD - название распространенного декомпилера.

чтобы заменить класс и декомпилировать не надо
А как тогда сделать? Я хочу, чтобы вместо стандартного TextBox использовался написанный мной.

amiheev, спасибо, почитаю.

Оффлайн K_E_S_T

  • Участник
  • *
  • Сообщений: 198
  • пси][опат
    • Просмотр профиля
Re: Java Decompiler
« Ответ #5 : 22 Апреля 2009, 13:44:36 »
файл jar открывается архиватором ;)

Оффлайн makvell

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Java Decompiler
« Ответ #6 : 22 Апреля 2009, 14:03:49 »
И что? :) открывается, получаем кучу *.class :) а человек хочет получить исходники, кмк.

Оффлайн Riateche

  • Автор темы
  • Активист
  • *
  • Сообщений: 279
    • Просмотр профиля
    • Idzaaus
Re: Java Decompiler
« Ответ #7 : 22 Апреля 2009, 14:46:44 »
Хм, попробовал скомпилить класс с именем TextBox, положить его в архив. Вроде работает, потом еще попробую с каким-нибудь настоящим приложением.

Оффлайн K_E_S_T

  • Участник
  • *
  • Сообщений: 198
  • пси][опат
    • Просмотр профиля
Re: Java Decompiler
« Ответ #8 : 22 Апреля 2009, 17:44:56 »
работает??? О_О

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

Оффлайн DnSL48

  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
Re: Java Decompiler
« Ответ #9 : 22 Апреля 2009, 22:40:56 »
1. Большинство продуктов пропускают через обфускатор. Даже opensource. Делают это для того, чтобы повысить производительность, т.к. обфускатор оптимизирует байт-код.
2. Для того, чтобы заменить класс - не обязательно его декомпилировать. Можно просто заменить его. Главное оставить API невредимым.
3. Самый адекватный - jad. Но надежнее будет, все же, дизассемблер.
ArchLinux x86_64

Оффлайн Riateche

  • Автор темы
  • Активист
  • *
  • Сообщений: 279
    • Просмотр профиля
    • Idzaaus
Re: Java Decompiler
« Ответ #10 : 23 Апреля 2009, 13:18:09 »
По идее, обфускатор не может затрагивать ссылки на стандартные классы - они сохраняются, то есть вы всегда сможете отличить, например, класс формы от класса канвас.

Оффлайн Jython

  • Участник
  • *
  • Сообщений: 173
  • Ubuntu 9.04 - user
    • Просмотр профиля
Re: Java Decompiler
« Ответ #11 : 23 Апреля 2009, 19:30:31 »
Скажите, пожалуйста, есть ли нормальный декомпилер джавы (под Linux, конечно), причем такой, чтобы выданный им код потом сразу компилировался? Самый популярный - Jad, но он у меня выдавал несколько синтаксических ошибок и кучу совпадений имен. К тому же сайт его сейчас лежит, и скачать его неоткуда (не нашел). А в прошлый раз качал с этого самого лежащего сайта, Linuxовая версия не пошла, запускал вайном виндовую... В общем, изврат.

Прошу не отсылать в гугл и на список всех возможных декомпилеров, я его уже видел (кстати, практически все они под винду). Интересует ваш собственный успешный опыт в декомпиляции.

Нужно это мне для того, чтобы можно было любую программу для мобильника декомпилировать, заменить в нем один из стандартных классов на самописный и скомпилить обратно. Такое вообще возможно?

http://www.opennet.ru/docs/HOWTO/Java-Decompiler-HOWTO.html

 

Страница сгенерирована за 0.027 секунд. Запросов: 22.