2013-10-24 3 views
0

первый раз проводки здесь так легко идти на меня :)Java - декомпилировать и перекомпиляции - для Noobie

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

Вот ситуация, у нас есть это Java приложение из ныне несуществующей компании. Одному из наших парней удалось получить исходный код, но он был недоступен, поэтому мне пришлось прибегнуть к другим мерам, чтобы попытаться получить необходимые изменения. Я использовал jd-gui, чтобы найти файл класса, который мне нужно изменить, а также строки (есть серьезно только 3 строки, которые мне нужно изменить ...). jd-gui сохранит файл класса как .java-файл, и я уверен, что если бы я смог вернуть файл .java в файл класса, мне просто нужно было бы использовать winrar, чтобы вернуть его обратно. Я читал здесь и там, получить классный файл из этого не так просто.

Я пробовал использовать eclipse для создания нового проекта, я попробовал javac, который жаловался на какую-то строку кода, которая ничего не имеет к делу, и я предполагаю, что это действительно говорит мне, что есть функция, которая не может иметь дело с, так как его определен в другом файле класса, бла-бла-бла ...

Почему это сложно? «Скомпилированный» java-файл (класс?) Имеет ссылки на другие файлы классов, в которых он нуждается, я не хочу, чтобы компилятор запускал программу, просто вернул ее вместе и предположил, что я правильно понял свои пути. Я не программист по своей природе и был сильным кормлением себя javascript (да, да, не то же самое), но мне очень нужно сделать несколько незначительных изменений, а затем никогда не трогать его снова.

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

+0

Даже если у вас есть скомпилированный источник, это не значит, что у вас есть пакеты, которые использует источник. Вы должны получить файлы .jar для этих пакетов и импортировать их в свой путь сборки в Eclipse. Только тогда вы сможете восстановить этот проект. – Signus

+0

попробуйте cavaj decompiler. – Sorter

+0

проклятье, это было быстро! Таким образом, в основном файле jar есть куча файлов jar, таких как «commons-cli-1.2.jar» и множество других. это то, о чем вы говорите? – chiefjeef

ответ

0

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

Попробуйте это. В Eclipse перейдите к. Окно> Настройки> Запуск/Отладка> Запуск.

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

Смежные вопросы