Ранг: 9.5 (гость) Активность: 0.01↘0 Статус: Участник
Создано: 02 сентября 2012 11:51 · Поправил: geograph · Личное сообщение · #1
Есть exe-программа написанная на java. Рядом с программой есть папка bin, в которой лежат java-библиотеки, внутри папка jetvm c файлом jvm.dll. В процессе работы в папке bin создается файл %имя_программы%.tmp, но он всегда нулевого размера, хотя ProcessMonitor показывает что создается файл 4Мб и блокируется функцией LockFile. Под отладчиком программа работает нестабильно, чаще всего вылетает (антиотладочные плагины не помогают). PEID ничего не показывает
Нет, к сожалению Excelsior JET jar extractor не помог. Пишет:
Code:
* Excelsior-JET jar extractor v.1.0(C)2008 by Snow Panther [UG]*
* Reading file.: ok!
* Processing...:
* Press <ENTER> to continue...
и ничего не происходит, jar-а нет. Поиск по сигнатуре zip'а тоже ничего не дал. А какие еще бывают компиляторы java в exe? Там еще файл \rt\jetrt\baseline760.dll есть может это другой компилятор?
На сайте разработчика сказано, что они не запаковывают jar внутри exe, а компилирует java-классы в нативный exe. Т.е., как я понимаю, пытаться вытащить из exe jar-файл бесполезно.
Последний раз как я работал с етим протектором, то а) мне удалось вытянуть *.jar, но! б) все лиц. классы были длинной 0. вобщем скорей всего ява байт код превращен в натив (весь врядли, но нужные интересные места точно)
sendersu О, оказывается и ты ковырял эту дрянь?) Попался линуховый бинарь скомпиленный этой штукой. Версия - jet-760-mp5 (pro, en) Так-же извлёк содержимое jar файла, но как ты и сказал, всё важное там 0 размера. Но нативным кодом там не очень пахнет. Скорее, на вид - какая-то виртуальная машина. Возможно, байткод перегоняется в свой формат. Кто нибудь имел успешный опыт с этим монстром?
vovanre По ссылке не то. Там речь про шифрование .class файлов. Excelsior же перегоняет байткод в натив с помощью AOT компиляции (подобное есть в mono, когда под iOS билд собирается, ибо под iOS не может работать JIT), там уже никаких .class не остаётся, если их пометили при накрывании. Т.к. при накрывании некоторые классы могут оставить без "защиты", то в комплекте будет и JVM, для JIT компиляции оставшегося байткода.
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.
vovanre Угу, 4kusNick прав, там классы уже скомпилены. Вот только вопрос остаётся не закрытым - прот во всех случаях компилит чистый нативный код или там есть какие-то опции защиты? Просто, это совсем не похоже на чистый код из классов
VodoleY Да не, нужны хоть какие-то факты о внутреннем устройстве защиты. И стоит-ли там вообще искать что-то привычное для человеческого глаза. Код в статике вообще анриал копать, а с динамикой облом - отладка чего-то валится