ВЗЛОМ JAVA-АППЛЕТОВ Андрей Каролик Xakep, номер #052, стр. 052-064-7 ЕЩЕ ПРИМЕРЫ Я мог бы привести еще десятки примеров, но, к сожалению, статья не резиновая. Надеюсь, ты понял основные принципы снятия защиты. А дальше практика, практика и еще раз практика. РЕСУРСЫ Теперь тебе совершенно по барабану, какие и откуда тянуть апплеты. Если даже апплет и "загажен", берешь его за ноги как Буратино, вытряхиваешь исходник и точечным хирургическим вмешательством удаляешь ночной бред автора. Свободу попугаям :). Вот тебе наиболее крупные залежи апплетов: http://javaboutique.internet.com http://freewarejava.com/applets P.S. Ломать апплеты иногда требуется не только для устранения защиты. Если даже апплет бесплатный и не содержит пакостных вставок, исходник может понадобиться, чтобы усложнить задумки автора для своих целей или использовать готовые куски кода в собственных апплетах. А чтение и разбор чужого кода - самый эффективный способ быстрому обучению программированию на Java. Этим занимаются даже матерые программеры, чтобы повышать свои профнавыки. Дерзай! ЧТО ТАКОЕ JAVA-АППЛЕТ? Java-апплет - это программка, работающая в среде браузера (запускается в окне браузера). Представляет она собой class-файл (*.class), который получается после компиляции java-файла (*.java), написанного на объектно-ориентированном языке Java. Широкое распространение апплеты получили благодаря своей особенности: исходник компилируется в команды виртуальной машины Java (JVM, Java Virtual Machine), и получаемый байт-код не зависит от типа процессора и архитектуры компьютера, на котором исполняется. От архитектуры зависит только виртуальная машина Java, которую можно надыбать на сайте производителя (SUN Microsystems, http://java.sun.com) совершенно бесплатно для любой из существующих сегодня компьютерных платформ. В последних версиях браузеров уже встроена JVM для выполнения апплетов, но по умолчанию может быть опционально отключена. Другая особенность апплетов - все стандартные функции, вызываемые в программе, подключаются только на этапе выполнения и не включаются в байт-код. Эта динамическая компоновка, с одной стороны, сильно уменьшает объем откомпилированной программы, что было и пока еще остается критично для скоростей передачи по инету. Это несомненный плюс, но, с другой стороны, интерпретация байт-кода и динамическая компоновка значительно замедляют выполнение апплетов. Спасает более мощный процессор. В HTML-файл апплет вставляется в виде ссылки с помощью тегов <applet> и </applet>, между которыми ставятся необходимые параметры апплета. Апплет выполняется на стороне клиента. Когда пользователь открывает твою пагу с апплетом, браузер загружает файл класса и запускает его на компьютере пользователя. Жалко, что возможности апплета в браузере сильно ограничены в целях безопасности ;). |