Имеется массив из байтов одной Java программы. Как мне получить её исходники в нормальном Java виде, с помощью ASM может как-то ?
Вот так выглядит массив (он намного больше, просто не вмещается сюда):
public static int[] classLoaderInBytes = {
0xCA,0xFE,0xBA,0xBE, 0x00,0x00,0x00,0x34, 0x01,0x40,0x0A,0x00, 0x15,0x00,0x9F,0x07,
0x00,0xA0,0x07,0x00, 0xA1,0x0A,0x00,0x03, 0x00,0x9F,0x08,0x00, 0xA2,0x0A,0x00,0xA3,
0x00,0xA4,0x0A,0x00, 0x03,0x00,0xA5,0x09, 0x00,0xA6,0x00,0xA7, 0x08,0x00,0xA8,0x0A,
0x00,0x03,0x00,0xA9, 0x08,0x00,0xAA,0x0A, 0x00,0x02,0x00,0xAB, 0x08,0x00,0xAC,0x0A,
0x00,0x02,0x00,0xAD, 0x0A,0x00,0x02,0x00, 0xAE,0x0A,0x00,0x15, 0x00,0xAF,0x0B,0x00
};
Конвертирую в байт массив:
byte[] bytes = new byte[classLoaderInBytes.length];
for(int i = 0; i < bytes.length; i++){
bytes[i] = (byte)classLoaderInBytes[i];
}
Хорошо бы сначала разобраться что именно хранится в массиве: один там класс или несколько.
Если там один .class файл без зависимостей, то можно попробовать сделать так:
Надо заметить, что декомпиляторы не всегда идеально справляются с задачей и не вся информация сохраняется в байт-коде. Но для относительно простого класса можно получить результат.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Написал Логин Фильтр, который не будем пропускать не авторизованного юзера :