Русский / Russian English / Английский

Сейчас на форуме: rustavelli7, Storage, morgot (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Java to exe
Посл.ответ Сообщение

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 1 февраля 2007 15:30 New!
Цитата · Личное сообщение · #1

Всем привет.

Столкнулся с программой написанной на Java и превращенной в exe. Из кода следует что такое превращение совершила утилита exe4j (hттp://www.ej-technologies.com/products/exe4j/overview.html). Может кто сталкивался уже с ней или с чем-то подобным? Мне бы джаву оттуда вынуть. Буду рад любым советам.


Ранг: 450.3 (мудрец)
Статус: Участник

Создано: 2 февраля 2007 01:12 New!
Цитата · Личное сообщение · #2

Я hiew-ом вытаскивал. Ищи начало в EXE по строчке PK (начало архива), у меня ниже был ещё META-INF, обрезай всё что выше, а полученный файл переименовывай в JAR. Так же возможно, что при запуске ЕХЕ кидает явовский файл в TEMP.

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 2 февраля 2007 03:06 New!
Цитата · Личное сообщение · #3

Я так пробовал - не получилось. Он повидимому как-то шифрует. Я запустил, посмотрел FileMon'ом, он в temp создает 3 jar. Попробовал их декомпилить - это не сама прога, она по всей видимости еще где-то зарыта.

А ты именно exe4j обработанную прогу так смотрел? Или может другим чем? Версию не знаешь?


Ранг: 450.3 (мудрец)
Статус: Участник

Создано: 2 февраля 2007 03:49 New!
Цитата · Личное сообщение · #4

egorovshura пишет:
А ты именно exe4j обработанную прогу так смотрел?


Нет не им. Но его скачивал в числе остальных конверторов что бы запихнуть снова. Так ничего и не понравилось, впихнул назад в тот ЕХЕ который неизвестно чем был сделан.

Ранг: 310.8 (мудрец)
Статус: Участник

Создано: 4 февраля 2007 00:29 New!
Цитата · Личное сообщение · #5

egorovshura пишет:
Попробовал их декомпилить - это не сама прога, она по всей видимости еще где-то зарыта.

Т.е. они декомпилятся, но нужных кодов там нет ?! Авторы exe4j пишут, что включение jar в exe - это дополнительная опция, т.ч. не исключено, что есть еще источники jar кроме экзешника.

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 4 февраля 2007 07:07 New!
Цитата · Личное сообщение · #6

tundra37 пишет:
.е. они декомпилятся, но нужных кодов там нет ?! Авторы exe4j пишут, что включение jar в exe - это дополнительная опция, т.ч. не исключено, что есть еще источники jar кроме экзешника.

Вроде нашел. jar лежал в отдельном файле, с измененным расширение и он еще зашифрован. Расшифровывает его java код, который лежит оверлеем в экзешнике. Интересная штука: помимо того, что тела классов зашифрованы в jar'е там еще после расшифровки у них имена поменяны. обфусцированы короче. причем новые имена - это MD5 хеши старых. попробовал брутфорс написать на подбор имени (написал в Java) - гиблое дело - за 6 часов дошел только до длины в 7 символов. а там больше тысячи классов. так что вроде имена и можно восстановить, но вот только времени на это уйдет куча. может у кого есть быстрый брутфорс для MD5? и вообще реально хоть что-то восстановить за мыслимое время, если длина имени я предполагаю в районе 10 символов, а может и больше. а то я в криптографии вообще ничего не шарю.


Ранг: 172.2 (ветеран)
Статус: Участник

Создано: 4 февраля 2007 10:49 New!
Цитата · Личное сообщение · #7

google.com rainbowcrack


Ранг: 240.5 (наставник)
Статус: Участник
Author of ACKiller

Создано: 4 февраля 2007 10:58 New!
Цитата · Личное сообщение · #8

egorovshura
Попробуй подобрать имена по смыслу, поищи символьные строки (если они не защифрованы =) ).

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 4 февраля 2007 13:26 New!
Цитата · Личное сообщение · #9

ProTeuS
rainbowcrack - интересная идея. как раз мой вариант.

HoBleen
еще бы мне какой-нить алгоритм, который бы делал брутфорс, но на основе некоторых оределенных слов. ну например я уверен, что у меня в имени класса есть слово Value, так вот чтобы этот алгоритм перебирал
имена типа aaaValue, ......, getValue.

Если объединить rainbowcrack и такой псевдословарный брутфорс, то мне кажется что эту задачу можно решить.

Ранг: 310.8 (мудрец)
Статус: Участник

Создано: 4 февраля 2007 23:12 New!
Цитата · Личное сообщение · #10

egorovshura пишет:
Если объединить rainbowcrack и такой псевдословарный брутфорс

Это невозможно в принципе. Кстати rainbow только гипотетически тебе поможет. Готовые таблицы есть для 7 значных паролей, которые и так можно подобрать. Проще все-таки сделать полуавтоматическое восстановление - тебе ведь все равно какие имена будут, лишь бы там было твое "ключевое слово".
Вот и генери Value001 Value002 и т.д. В зависимости от "интеллекта" программы переименования можно и всякие Get Put добавить и т.п.

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 4 февраля 2007 23:52 New!
Цитата · Личное сообщение · #11

tundra37 пишет:
Это невозможно в принципе. Кстати rainbow только гипотетически тебе поможет. Готовые таблицы есть для 7 значных паролей, которые и так можно подобрать. Проще все-таки сделать полуавтоматическое восстановление - тебе ведь все равно какие имена будут, лишь бы там было твое "ключевое слово".
Вот и генери Value001 Value002 и т.д. В зависимости от "интеллекта" программы переименования можно и всякие Get Put добавить и т.п.


Непонятно почему невозможно. Я также составляю таблицы, но только вместо обычного exhaustive перебора я делаю перебор по символам и словам. Т.е. у меня вместа скажем алфавита

char symbols[] = "abcd";

будет

string symbols[] = {"a", "b", "c", "d", "Value", "value"}

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

По поводу длины пароля (в символах алфавита переборщика) 7 - это не предел. Есть и 10 и помоему больше.
Однако при использованиии такого модифицированного алфавита размер искомой строки значительно увеличивается, особенно если слово быдет состоять из нескольких слов в алфавите

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 5 февраля 2007 00:01 New!
Цитата · Личное сообщение · #12

tundra37
пока писал понял, что действительно rainbow собственно не нужен. я думал вначале сгенерить таблицы, а потом пользуясь ими пройтись по всем 1500 закодированным строкам, но мне никто не мешает прямо в брутфорсе делать цикл по всем строкам и прямо там все строки и проверять.

Ранг: 310.8 (мудрец)
Статус: Участник

Создано: 6 февраля 2007 03:15 New!
Цитата · Личное сообщение · #13

egorovshura
1) Алгоритм и исходник расчитаны на символьный charset. Т.ч. ничего не выйдет - придется перелопачивать весь текст.
2) Начиная с 9 знаков перебор и построение таблиц выходит за рамки одного компа и практически нереально их найти. Для 10 если и есть, то только для символов+цифры(без больших/маленьких). Увы в java буквы могут быть любые и вроде еще доллар есть, т.ч. готовых таблиц не будет.

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 6 февраля 2007 04:21 New!
Цитата · Личное сообщение · #14

tundra37
вобсчем . можно наверное эту идею оставить

Ранг: 1.0 (гость)
Статус: Участник

Создано: 12 августа 2007 19:16 New!
Цитата · Личное сообщение · #15

Да вот только вы забываете что программам на Яве нужно еще знать имена класов.
Следовательно exe4j должна была где-то создать таблицу сопастовления имен классов и их МД5 -)

egorovshura если не сложно скинь прогу которой ты jar расшифровывал. Ссылку.

Ранг: 2.1 (гость)
Статус: Участник

Создано: 26 августа 2007 10:14 New!
Цитата · Личное сообщение · #16

А прога то сама где???


Ранг: 161.0 (ветеран)
Статус: Участник

Создано: 26 августа 2007 10:58 New!
Цитата · Личное сообщение · #17

mikluxo
Нефиг делать что ли, поднимать старые топики..
Напиши участикам этого топика в личку и спроси если надо..
 eXeL@B —› Основной форум —› Java to exe

Видеокурс ВЗЛОМ