ВЗЛОМ JAVA-АППЛЕТОВ Андрей Каролик Xakep, номер #052, стр. 052-064-3 ЛОМКА Весь процесс можно условно разделить на отдельные этапы: поиск нужного апплета в инете, скачивание его байт-кода (сам апплет), вытягивание из него исходного кода, внесение требуемых изменений непосредственно в исходник и компиляция апплета заново. ПОИСК И СКАЧКА Процесс больше стихийный, чем систематизированный. Искать можно через поисковик, описав требуемые возможности апплета, на сайтах, где выложены горы апплетов (фриварных и шароварных), на сайтах контор или индивидуалов, специализирующихся на создании единичных и навороченных апплетов, либо просто гуляя по разным пагам, где уже использованы какие-либо апплеты. Кому как нравится. Если ссылка на апплет выставлена, то качай без проблем. Если ссылки нет, то полезай внутрь HTML-файла, смотри в теге <applet> адрес к апплету и выкачивай прогой типа GetRight. ДЕКОМПИЛЯЦИЯ Делается за считанные секунды при помощи NMI's Java Code Viewer (см. выше). Если апплет халявный, то зачастую исходник к нему уже прилагается, и париться не надо. УДАЛЕНИЕ МУСОРА Останется удалить ту часть кода, которая отвечает за надоедливую рекламную надпись или другую навязанную шнягу. В принципе, исходный код на Java можно читать и редактировать даже в обычном NotePad. Но после внесения изменений понадобится сделать проверку на корректность удаления кусков кода, объявлений переменных, которые входили в удаленные части кода, ссылок на эти переменные и других операций с этими переменными в других местах исходника. Проще всего это делать в визуальных средствах разработки Java-приложений и апплетов. Самым лучшим средством считается Borland JBuilder, этой прогой и советую воспользоваться. КОМПИЛЯЦИЯ Когда удалишь нечистоты, новый апплет для дальнейшего использования необходимо откомпилировать, в результате получится новый class-файл. Тут уже NotePad не поможет, и без JBuilder не обойтись. ПРИМЕР ЛОМКИ Теперь самое вкусное, ломаем реальный апплет. В качестве примера я выбрал интересные апплеты, которые действительно могут тебе пригодиться. На примере я наглядно покажу весь процесс от и до. Поймут даже те, кто до этого не знал Java в принципе :). ЦЕЛЬ НУМЕР ОДИН Первым по списку под удар попал проект ET Applets (www.entanke.se), который занимается разработкой довольно качественных(!) апплетов для веба и приторговывает ими по 30 зеленых за комплект (10 разных апплетов с вариациями для каждого). Непорядок, будем лечить :). Удобно, что к каждому апплету есть несколько примеров и подробная, а главное доступная документация (на английском). Защита апплетов сделана привязкой к доменному имени сервака, куда ты их выкладываешь. По хитрой формуле, которая зашита внутри апплета, генерируется ключ и сравнивается с введенным в параметрах апплета между тегами <applet> и </applet>. Если он не совпадает, то все апплеты работают, но в самом начале в режиме задержки выдают следующий текст "Demo version delay. Applet by Entanke. Only for private use. Click here for info!". Гадость, короче :). |