Сейчас на форуме: vsv1, johnniewalker, NIKOLA (+7 невидимых) |
eXeL@B —› Крэки, обсуждения —› Зашифрованные Java классы |
Посл.ответ | Сообщение |
|
Создано: 10 июня 2016 12:24 · Личное сообщение · #1 Добрый день форумчане! Имеется программа написанная на смеси Java/C++. Часть Java классов зашифрована. Расшифровка их происходит налету специальной Java машиной. То есть прога использует свою jvm.dll которая расшифровывает классы и потом передает в обычную jvm.dll. Пробовал модифицировать defineClass в рантайме чтобы сделать дамп классов после дешифровки, но дамп оказался тем же самым зашифрованным. Подскажите в каком направлении копать чтобы расшифровать классы. Всем доброго дня! |
|
Создано: 10 июня 2016 13:16 · Личное сообщение · #2 |
|
Создано: 10 июня 2016 13:59 · Личное сообщение · #3 |
|
Создано: 10 июня 2016 14:38 · Личное сообщение · #4 |
|
Создано: 10 июня 2016 15:00 · Личное сообщение · #5 |
|
Создано: 10 июня 2016 21:30 · Личное сообщение · #6 |
|
Создано: 11 июня 2016 13:14 · Личное сообщение · #7 |
|
Создано: 11 июня 2016 15:16 · Личное сообщение · #8 |
|
Создано: 11 июня 2016 21:33 · Личное сообщение · #9 |
|
Создано: 20 июля 2016 11:30 · Личное сообщение · #10 там не совсем ява машина, а что то типа proxy exe и dll, он все запросы через себя сразу на оригинальную jvm пропускает, НО при старте ставит свои хуки на функции в java.dll: _Java_java_lang_ClassLoader_defineClass0@28 _Java_java_lang_ClassLoader_defineClass1@32 _Java_java_lang_ClassLoader_defineClass2@32 и обрабатывает их по своему - то есть читает класс, определяет зашифрован или нет, если да - расшифровывает (алгоритм AES Rijndael, но не понял в чистом ли виде) и делает дальше то что делают оригинальные функции из java.dll Добавлено спустя 1 минуту jinoweb а как дамп классов реализовывал? |
|
Создано: 02 августа 2016 22:34 · Личное сообщение · #11 |
|
Создано: 23 сентября 2016 22:18 · Личное сообщение · #12 RAMZEZzz пишет: там не совсем ява машина, а что то типа proxy exe и dll, он все запросы через себя сразу на оригинальную jvm пропускает, НО при старте ставит свои хуки на функции в java.dll: _Java_java_lang_ClassLoader_defineClass0@28 _Java_java_lang_ClassLoader_defineClass1@32 _Java_java_lang_ClassLoader_defineClass2@32 и обрабатывает их по своему - то есть читает класс, определяет зашифрован или нет, если да - расшифровывает (алгоритм AES Rijndael, но не понял в чистом ли виде) и делает дальше то что делают оригинальные функции из java.dll Нашли ключ которым зашифрованы классы? Меня тоже интересует данный вопрос. |
|
Создано: 23 сентября 2016 23:34 · Личное сообщение · #13 assassin59 Ну не то что бы нашел... Сделал статик анпакер/пакер для этих классов. Извините сразу, поделиться не могу. Но подскажу некоторые моменты. Для каждого класса ключ уникальный,генерится хитрым алгоритмом с ксорками и таблицами из полного имени класса. У шифрокласса есть заголовок длиной 0x1a, в котором содержится сигнатура и контрольная сумма. Сам шифр тоже непростой, несколько раз aes, плюс ксорки по таблицам, перестановки и рекурсивные функции с AES. Разбирал долго, недели 3 по 8-10 часов в день. IDA с декомпиляторами вам в помощь. Но в паблик, если что получится выкладывать не советую, они и так защиту чуть ли не в каждой версии меняют. А в классах заготовки для использования донглов уже находил... |
|
Создано: 23 сентября 2016 23:54 · Личное сообщение · #14 |
|
Создано: 30 октября 2016 00:03 · Личное сообщение · #15 |
|
Создано: 30 октября 2016 01:46 · Личное сообщение · #16 |
eXeL@B —› Крэки, обсуждения —› Зашифрованные Java классы |
Эта тема закрыта. Ответы больше не принимаются. |