Я бы начал с декомпиляции модуля и убедился, что декомпилированный код можно собрать в рабочую библиотеку. Например, вы можете использовать JD . Теперь я вижу, что у вас уже есть исходный код.
Важно сначала получить скомпилированный исходный код, потому что вам придется добавлять комментарии и javadoc при его изучении. Вам больше не нужно работать с исходным двоичным файлом, просто рассматривайте декомпилированный исходный код как очень плохо документированный нормальный код. Также рекомендуется переименовывать локальные переменные и параметры методов, чтобы сделать код проще для чтения.
Создание диаграмм классов из файлов .java
должно быть простым.
Понять процесс можно двумя способами: вручную или с помощью профилировщика. Для обоих методов сначала нужно найти точки входа, но если вы уже используете библиотеку, они должны быть достаточно очевидными. Затем вы просто вызываете метод API и шагаете по коду. Всегда делайте заметки о том, что вам интересно. (Во многих отношениях исследование неизвестного кода похоже на исследование подземелья в старой доброй приключенческой игре.) Преобразуйте эти заметки в комментарии javadoc, чтобы вы могли генерировать более информативные javadocs по мере продвижения.
Метод профилировщика больше предназначен для обнаружения общих моделей вызовов, но каждый профилировщик должен иметь представление стека вызовов, которое вы можете использовать.