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

 eXeL@B —› Вопросы новичков —› Защита ПО написанного на Java и ее обход.
Посл.ответ Сообщение

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

Создано: 08 сентября 2009 19:54 · Поправил: 7Merlin
· Личное сообщение · #1

Всем привет. Заинтересовался данной темой и начав искать в интернете попал на этот замечательный форум. Даже не думал что такие ресурсы есть в рунете . Поискав по форуму нашел лишь кое-какие упоминания Java. Мои исследования по этому вопросу только начинаются и хочу сразу извиниться за то, что может быть задам слишком общие вопросы, но мне просто очень срочно нужно войти в курс дела, понять что вообще возможно и невозможно. Насколько я понял защита ПО на Java сильно отличается от защиты программ написанных на компилируемых языках (с таким я раньше немного сталкивался и кое что знаю и в ассемблере и в win api). И еще, может быть это и не совсем "православно" для этого форума, но меня интересует не только взлом, но и сама защита, то есть то, как этот взлом усложнить.

Ясное дело что первым барьером в защите является обфускация. Т.к. при декомпиляции видны все исходники. Я попробовал Proguard - кое как конечно запутывает, но помоему все же можно найти нужное место.

Вопросы следующие:
1) Идеальны ли декомпиляторы? Может быть есть какието вещи которые им не поддаются и соответственно которые можно использовать для защиты. (Я пробовал только jad и у него были проблемы с декомпиляцией обработчиков исключений, а может и не только этого. Если есть чтонибудь значительно лучше, покажате).
2) Если не получается декомпилировать (с ошибками например) можно ли дебажить както без исходников код? Или например раскомпилировать только часть классов, исправить кое какие ошибки, и дебажить хотя бы эту часть классов, остальные оставив в объектном виде.
3) Читал здесь гдето про редакторы .class файлов... то есть они позволят отредктировать код без декомпиляции/перекомпиляции. Так вот, что делают с java-классами при взломе? (по аналогии что делают вместо вставки NOP вместо вызова определенных функций? подсовывают свой класс какойто или что?
4) Есть чтонибудь такое для Java-программ как упаковщики или протекторы? (ну кроме того же proguard который кроме обфускации немного чтото оптимизирует).
5) Есть ли чтото сложное во взломе Java-программ или это даже легче по сравнению со скомпилированными программами?
6) Может быть есть какието извращения с загрузчиками классов или чтото еще такое, совсем непохожее на взлом/защиту обычных программ?
7) А если программа лезет кудато в интернет для активации, или чтото в этом роде, и отказывается работать если доступа к инету нет, что можно сделать?
8) Существует ли впринципе такая защита, про которую ты все знаешь, знаешь как она работает, но так устроена, что взламывать очень долго или трудно или невозможно? (то есть основанная не на какомто секрете который рано или поздно раскроется, а на идее или техническом способе).

Меня в первую очередь интересуют обще-философские ответы, но и детали тоже будут интересны.




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 08 сентября 2009 20:48
· Личное сообщение · #2

Реконструирование Java-программ
www.wasm.ru/article.php?article=1009005

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes



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


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