Есть ли дискемблер + отладчик для Java (Ala Ollydbg / Softice для ассемблера)?

StackOverflow https://stackoverflow.com/questions/2539614

Вопрос

Есть ли утилита, похожая на Ollydbg / Softice для Java? IE EXECTETE CLASS (FROM JAR / с путем класса) и, без исходного кода, покажите разборку промежуточного кода с возможностью шага через / шаг / поиск ссылок / редактирование конкретного промежуточного кода в памяти / Применить редактирование к файлу. Анкет

Если нет, то можно ли вообще написать что -то подобное (при условии, что мы готовы жить без точки доступа для продолжительности отладки)?

РЕДАКТИРОВАТЬ: Я не говорю о JAD, JD или CAVAJ. Это прекрасные декомпиляторы, но я не хочу декомпилятора по нескольким причинам, наиболее заметным является то, что их результаты неверны (в лучшем случае, иногда просто просто неправильно). Я не ищу волшебных «скомпилированных байтов в код Java» - я хочу увидеть фактические байты, которые собираются выполнить. Кроме того, я хотел бы возможность изменить эти байты (как и в ассамблее отладчика) и, надеюсь, написать измененную часть обратно в файл класса.

EDIT2: я знаю, что Javap существует - но это делает только один путь (и без какого -либо анализа). Пример (код, взятый из документации VMSPEC): из кода Java мы используем «Javac» для составления этого:

void setIt(int value) {
    i = value;
}
int getIt() {
    return i;
}

в файл Java .class. Используя javap -c, я могу получить этот вывод:

    Method void setIt(int)
   0    aload_0
   1    iload_1
   2    putfield #4
   5    return
    Method int getIt()
   0    aload_0
   1    getfield #4
   4    ireturn

Это нормально для части разборки (не очень хорошо без анализа - «Поле № 4 - это пример. I»), но я не могу найти два других «инструментов»:

  1. Отладчик, который сами проходит по самим инструкциям (со стеком, дампами памяти и т. Д.), позволяющий мне изучить фактический код и среду.
  2. Способ обратить вспять процесс - отредактировать разобранный код и воссоздать файл .class (с отредактированным кодом).
Это было полезно?

Решение

Попробуйте использовать ScriptLink

<sharepoint:scriptlink defer="false " id="SPScriptLink " localizable="false " name="jquery-x.x.x.js " runat="server"></sharepoint:scriptlink> 
.

или

<SharePoint:Scriptlink runat="server" Name="~sitecollection/Style Library/[YOUR SITE]/js/jquery.js" Language="javascript" />
.

Управление сценарием гарантирует, что скрипт загружен только один раз и также гарантирует, что другие зависимости были загружены первыми

Другие советы

Взгляни на JAD Decortier для декомпилирования кода Java. Затем вы можете запустить встроенный отладчик IDE, используя произведенные источники. IDE может быть Intellij, Eclipse или Netbeans. Этот подход не является полностью автоматическим, но он должен выполнять работу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top