Сейчас на форуме: rtsgreg1989, zds, _MBK_ (+5 невидимых)

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

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

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

Всем привет.

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




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

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

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



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

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

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

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




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

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

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


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



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

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

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

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



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

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

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

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



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

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

google.com rainbowcrack

-----
HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE





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

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

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



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

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

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

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

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



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

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

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

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



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

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

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


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

char symbols[] = "abcd";

будет

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

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

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



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

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

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



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

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

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



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

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

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



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

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

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

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



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

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

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



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

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

mikluxo
Нефиг делать что ли, поднимать старые топики..
Напиши участикам этого топика в личку и спроси если надо..


 eXeL@B —› Основной форум —› Java to exe
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати