LINUX.ORG.RU

Как разобрать java файлы реверсивно, чтобы найти функцию проверки валидности лицензии?

 


0

1

Есть уеб приложение php+java.

Oно работает на основе лицензии, которая генерируется от характеристик сервера (например, мак+ip).

Как разобрать java файлы реверсивно, чтобы найти функцию проверки валидности лицензии?

По идее, чтобы проверить валидность лицензии в jar в коде должна быть функция, которая сравнивает значение лицензии и сопоставляет с тем что посчитается от характеристик сервера.

Вопрос в том как найти эту функцию?

Нашел, что есть Java Decompilers. Нашел, что есть всякие shell скрипты, которые проверяют, есть ли string-значение в jar-файле.

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

Может, eclipse поставить?

Не могу найти ни в правилах, ни в оффтопик-листе запрета на варез, это с каких таких пор оно?

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Распространять нельзя, обсуждать можно. ТС хочет заняться «исследованиями безопасности».

Harald ★★★★★
()

Как найти

А ничего вроде gdb для java не придумали? Как то это стрёмно. Дебаг для java типа не нужен?

anonymous
()

Осуждаю! Заниматься исследованием безопасности java и не уметь писать скрипты.

peregrine ★★★★★
()

https://github.com/intoolswetrust/jd-cli

в консоле для каждого jar вызываешь на выходе получаешь zip файлы с декомпилированными сорцами. Ну и дальше продолжаешь «изучать безопасность». Если debug инфо для jar не было включено, то классы и функции будут представлять из себя A a; B b; Так же далеко не всё можно нормально декомпилировать - надо пробовать разные декомпиллеры.

Проблема в том, что jar-файлов много.

99% из них будут опенсорсные библиотеки, заходишь в файл и смотришь его MANIFEST.MF

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)

Этот новорег не осилил выделение файлов с шифтом, осуждаю.

izzholtik ★★★
()
Ответ на: комментарий от anonymous

Дебаггер встроен в jvm машину. Обычно отлаживаются с помощью IDE. Может кто и консольный отладчик упоролся написать, задача по сути тривиальная.

Legioner ★★★★★
()

Скинь список имён жарников. Отсеем библиотеки. Вряд ли тебе это поможет. Но все же.

Legioner ★★★★★
()

уеб приложение

:-)))))))))))))

hummer
()

А откуда собственно уверенность, что лицензия вообще проверяется на стороне приложения?) Если это «уеб» приложение, оно вполне может долбиться на какой ни будь сервачок автора этой приблуды.

Имхо, проверять лицензию в приложеньке все равно, что шифровать данные и вместе с ними пересылать ключ и алгоритм шифрования.

Saivrem
()
Ответ на: комментарий от Saivrem

Алгоритм генирации лицензии известен. Сам ключ могу сгенерировать встроенными тулзами.

Вопрос, как это в коде найти.

dopedopedope
() автор топика
Ответ на: комментарий от EXL

java-decompiler - да!

Вот им смотрю. Только он классы показывает и не умеет сквозной поиск по всему. Нужно каждый класс открывать и внутри него искать.

dopedopedope
() автор топика
Ответ на: комментарий от dopedopedope

Дружище, там есть опция сохранить все исходники в ZIP-архив. Сохраняешь, распаковываешь, грепаешь по grep -ri строку выхлопа или название класса и отталкиваешься от этого.

EXL ★★★★★
()

Чаще всего «функция проверки лицензии» размазана по коду в самых неожиданных местах типа получения списка шрифтов и т. п.

slyjoeh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.