ВЗЛОМ JAVA-АППЛЕТОВ

Андрей Каролик

Xakep, номер #052, стр. 052-064-6


public void mousePressed(MouseEvent mouseevent) { // обработка нажатия на кнопку мыши

this$0.mouseX = mouseevent.getX(); // получение текущего положения курсора мыши по горизонтали

this$0.mouseY = mouseevent.getY(); // получение текущего положения курсора мыши по вертикали

this$0.mousePressed = true; // выставление флажка

if(this$0.mouseY > this$0.AppletH - 24 && this$0.mouseX < 120) { // если курсор находится в прямоугольной области 120х24 пикселов в левом нижнем углу

this$0.mousePressed = false; // снятие флажка

try { // обработка исключения

URL url = new URL("http://www.eigelb.at"); // задается урл автора

AppletContext appletcontext = this$0.getAppletContext(); // ссылка на окно браузера, в котором загружен апплет

appletcontext.showDocument(url, "_blank"); // загрузка урла в новом окне браузера

}

catch(MalformedURLException malformedurlexception) { } // обработка исключения

this$0.mousePressed = false; // снятие флажка

} else { // если курсор не находится в прямоугольной области 120х24 пикселов в левом нижнем углу

this$0.dragStartX = this$0.mouseX; // начальная координата по горизонтали

this$0.dragStartY = this$0.mouseY; // начальная координата по вертикали

this$0.dragTracerX = 0; // обнуление траектории по горизонтали

this$0.dragTracerY = 0; // обнуление траектории по вертикали

this$0.dragStart = true; // выставление флажка

}

}

Достаточно удалить условный оператор if(this$0.mouseY > this$0.AppletH - 24 && this$0.mouseX < 120) и первую его ветвь:

public void mousePressed(MouseEvent mouseevent) {

this$0.mouseX = mouseevent.getX();

this$0.mouseY = mouseevent.getY();

this$0.mousePressed = true;

this$0.dragStartX = this$0.mouseX;

this$0.dragStartY = this$0.mouseY;

this$0.dragTracerX = 0;

this$0.dragTracerY = 0;

this$0.dragStart = true;

}

Этим ты убрал реакцию на клик мышкой по области, где написана ссылка на сайт автора. Теперь нужно удалить саму ссылку, которая прописана в Shifter.java в методе paint():

if(Zustand == 2) {

osg2.drawImage(offscreenImage, 0, 0, this); // прорисовка изображения в буфере

osg2.setColor(FarbeLinien); // цвет рамки

osg2.drawRect(0, 0, AppletW - 1, AppletH - 1); // прорисовка рамки

if(mouseY > AppletH - 24 && mouseX < 120) // если курсор находится в прямоугольной области 120х24 пикселов в левом нижнем углу

osg2.setColor(Color.black); // тогда ссылка пишется черным цветом

else

osg2.setColor(Color.gray); // иначе ссылка пишется серым цветом

osg2.drawString("http://www.eigelb.at", 10, AppletH - 10); // прорисовка ссылки

g.drawImage(offscreenImage2, 0, 0, this); // прорисовка изображения из буфера

}

Оставить нужно следующее:

if(Zustand == 2) {

osg2.drawImage(offscreenImage, 0, 0, this);

osg2.setColor(FarbeLinien);

osg2.drawRect(0, 0, AppletW - 1, AppletH - 1);

g.drawImage(offscreenImage2, 0, 0, this);

}

Вот и все, защиты как не бывало. Спокойно компилируй исходник в новый апплет. Если лениво паковать в *.jar, то в HTML-файле перепиши ссылку <applet code="Shifter.class" archive="Shifter.jar" width="256" height="256"> на <applet code="Shifter.class" width="256" height="256">. И выложи все три класса в ту же директорию, что и HTML-файл. Играйся на здоровье :).

Назад на стр. 052-064-5  Содержание  Вперед на стр. 052-064-7

Hosted by uCoz