Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Взлом сайта с клипартами

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [В Сети] >> Взлом сайта с клипартами
Имя
Сообщение << Старые топики   Новые топики >>
Взлом сайта с клипартами - 2010-07-23 07:02:39.443333   
greatilya

Сообщений: 2
Оценки: 0
Присоединился: 2010-07-23 06:45:09.930000
Имеется сайт:
http://www.inmagine.com/
У них ОООООчень много клипартов. Все они конечно же платные.
При регистрации у них дается возможность через флешку посмотреть картику, при этом её можно увеличивать как угодно. (примечание: поскольку флешка доступна даже без регистрации, главное знать путь, то предположу что взломать их можно)
Рассмотрим взлом на примере этой картинки:
http://zoom.inmagine.com/zoomv1/zoom.php?filename=rbvs0250221
Флешку я декомпилировал, вот результат:
movie 'izoom.swf' { // flash 7, total frames: 3, frame rate: 24 fps, 600x500 px, compressed frame 1 { stop(); this.onEnterFrame = function () { var v3 = int((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); this.loader.bar.loader._xscale = v3; if (_root.getBytesLoaded() &gt;= _root.getBytesTotal()) { delete this.onEnterFrame; nextFrame(); } }; } movieClip 7 { } movieClip 8 { } movieClip 9 { } frame 2 { stop(); var path = 'image.php'; _lockroot = true; C_WMIN = 400; C_HMIN = 400; this.imageMainClip.back_mc._visible = 0; myVar = new LoadVars(); myVar.onLoad = function (success) { if (success and this.image != 'false') { _global.IMAGE = {}; _global.IMAGE._url = this.image; _global.IMAGE.width = int(this.width); _global.IMAGE.height = int(this.height); _global.IMAGE.w = _global.IMAGE.width; _global.IMAGE.h = _global.IMAGE.height; _global.IMAGE.size = this.size; _global.k = 1; nextFrame(); } }; myVar.load(path add '?getImageInfo=1' add '&fname=' add _root.fname); } movieClip 11 { } movieClip 12 { } movieClip 13 { } movieClip 14 { } button 20 { on (release) { _root.loadMainImage(_root.path add '?image=' add _global.IMAGE._url add '&fname=' add _root.fname); } } movieClip 21 { } movieClip 23 { } movieClip 24 { } movieClip 25 { } movieClip 26 { } frame 3 { function applyZoom(x, y, w, h) { var v6 = w; var v4 = h; var v7 = 1; if (w &gt; h) { if (w &lt; C_WMIN) { v7 = C_WMIN / w; v6 = C_WMIN; v4 = h * v7; } } else { if (h &lt; C_HMIN) { v7 = C_HMIN / h; v4 = C_HMIN; v6 = w * v7; } } var v14 = _global.IMAGE.width / _global.IMAGE.w; var v9 = v6; var v10 = v4; _root.imageMainClip.sliderContainerMc.adjustSize(v 9, v10, loadSubClip, x, y, w, h, _root.imageMainClip.jpg_c.cont_mc._width, v6, v4); var v5 = IMAGE.w / w; var v13 = IMAGE.w - v9; var v12 = IMAGE.h - v10; _root.imageMainClip.jpg_c.cont_mc._x -= x * v5; _root.imageMainClip.jpg_c.cont_mc._y -= y * v5; var v11 = _root.imageMainClip.jpg_c.cont_mc._width; _root.imageMainClip.jpg_c.cont_mc._xscale *= v5; _root.imageMainClip.jpg_c.cont_mc._yscale *= v5; var v17 = _root.imageMainClip.jpg_c.cont_mc._width; _root.imageMainClip.loader._visible = true; _root.imageMainClip.back_mc._visible = false; } function invalidateListener() { Mouse.removeListener(mlist); } function activateListener() { mlist = new Object(); mlist.onMouseDown = function () { var v3 = _root.imageMainClip.the_mask.getBounds(_root); if (_root._xmouse &lt; v3.xMin or _root._ymouse &lt; v3.yMin or _root._xmouse &gt; v3.xMax or _root._ymouse &gt; v3.yMax) { return undefined; } this.startDraw(); }; mlist.onMouseUp = function () { this.stopDraw(); }; mlist.stopDraw = function () { if (drawbox._width &lt;= 0) { return undefined; } this.onMouseMove = undefined; var v3 = _root.drawbox.getBounds(_root.imageMainClip.jpg_c) ; var v7 = _root.drawbox._width; var v4 = _root.drawbox._height; var v6 = v3.xMin; var v5 = v3.yMin; drawbox.removeMovieClip(); _root.invalidateListener(); _root.applyZoom(v6, v5, v7, v4); }; mlist.startDraw = function () { px = _root._xmouse; py = _root._ymouse; _root.createEmptyMovieClip('drawbox', _root.getNextHighestDepth()); drawbox._x = px; drawbox._y = py; this.onMouseMove = function () { var px = _root._xmouse; var py = _root._ymouse; var gb = _root.imageMainClip.the_mask.getBounds(_root); if (_root._xmouse &lt; gb.xMin or _root._ymouse &lt; gb.yMin or _root._xmouse &gt; gb.xMax or _root._ymouse &gt; gb.yMax) { return undefined; } drawbox.clear(); with (drawbox) { lineStyle(1, 102, 100); beginFill(102, 20); moveTo(0, 0); lineTo(px - drawbox._x, 0); lineTo(px - drawbox._x, py - drawbox._y); lineTo(0, py - drawbox._y); lineTo(0, 0); endFill(); } updateAfterEvent(); }; }; Mouse.addListener(mlist); } } frame 3 { function loadSubClip() { arguments = arguments[0]; var v9; var v7; var v10; var v8; var v6; var v4; v9 = arguments[0]; v7 = arguments[1]; v10 = arguments[2]; v8 = arguments[3]; size = arguments[4]; v6 = arguments[5]; v4 = arguments[6]; var v5 = path add '?image=' add _global.IMAGE._url add '&x=' add v9 add '&y=' add v7 add '&w=' add v6 add '&h=' add v4 add '&sizex=' add v10 add '&sizey=' add v8 add '&original=' add size add '&fname=' add _root.fname; loadMainImage(v5); } function loadMainImage(thePath) { _root.imageMainClip.loader.bar.loader._xscale = 0; _root.invalidateListener(); this.imageMainClip.loader._visible = true; this.imageMainClip.back_mc._visible = false; var v5 = new MovieClipLoader(); var v4 = {}; v4.onLoadProgress = function (obj) { this.perc = int((obj.getBytesLoaded() / obj.getBytesTotal()) * 100); if (this.perc &gt; 0) { _root.imageMainClip.loader.bar.loader._xscale = this.perc; } }; v4.onLoadComplete = function (obj) { obj._visible = 0; obj._parent.onEnterFrame = function () { if (this.cont_mc._width &gt; 4 && this.cont_mc.getBytesLoaded() &gt;= this.cont_mc.getBytesTotal()) { delete this.onEnterFrame; this.cont_mc._xscale = 100; this.cont_mc._yscale = 100; this.cont_mc._x = 0; this.cont_mc._y = 0; _global.IMAGE.w = this.cont_mc._width; _global.IMAGE.h = this.cont_mc._height; this._parent.sliderContainerMc.adjustSize(this.con t_mc._width, this.cont_mc._height, fadeInImage); } }; }; v5.addListener(v4); this.imageMainClip.jpg_c.cont_mc._name = 'old_cont_mc' + _global.k; this.imageMainClip.jpg_c.createEmptyMovieClip('con t_mc', _global.k); v5.loadClip(thePath, this.imageMainClip.jpg_c.cont_mc); ++_global.k; trace(thePath); } function fadeInImage() { var v4 = _root.imageMainClip.sliderContainerMc.grey_mc.getB ounds(_root.imageMainClip); _root.imageMainClip.the_mask._x = v4.xMin; _root.imageMainClip.the_mask._y = v4.yMin; _root.imageMainClip.jpg_c._x = _root.imageMainClip.the_mask._x; _root.imageMainClip.jpg_c._y = _root.imageMainClip.the_mask._y; _root.imageMainClip.the_mask._width = _root.imageMainClip.jpg_c.cont_mc._width; _root.imageMainClip.the_mask._height = _root.imageMainClip.jpg_c.cont_mc._height; _root.imageMainClip.jpg_c.cont_mc._visible = true; _root.imageMainClip.jpg_c.cont_mc._alpha = 0; _root.imageMainClip.jpg_c.onEnterFrame = function () { if (this.cont_mc._alpha &gt;= 100) { this.cont_mc._alpha = 100; this._parent.loader._visible = false; this._parent.back_mc._visible = true; if (this.cont_mc._url == path) { this._parent.back_mc.btn.enabled = false; } else { this._parent.back_mc.btn.enabled = true; } delete this.onEnterFrame; _root.imageMainClip.loader.bar.loader._xscale = 0; _root.activateListener(); return false; } this['old_cont_mc' + (_global.k - 1)]._alpha -= 5; this.cont_mc._alpha += 5; }; } MovieClip.prototype.adjustSize = function (w, h, handler) { var args = arguments.slice(3); this.__started = false; this.__dx = 0; this.__dy = 0; this.onEnterFrame = function () { if (Math.abs(this.__dx) &lt; 0.1 and Math.abs(this.__dy) &lt; 0.1 and this.__started != false) { this.grey_mc._width = w; this.grey_mc._height = h; this.bianco._width = this.grey_mc._width + 20; this.bianco._height = this.grey_mc._height + 20; delete this.onEnterFrame; handler(args); return false; } this.__started = true; this.__dx = (this.__dx + (w - this.grey_mc._width) / 1.6) / 1.8; this.__dy = (this.__dy + (h - this.grey_mc._height) / 2.4) / 2.2; this.grey_mc._width += this.__dx; this.grey_mc._height += this.__dy; this.bianco._width = this.grey_mc._width + 20; this.bianco._height = this.grey_mc._height + 20; this.sfondo._width = this.grey_mc._width + 20; this.sfondo._height = this.grey_mc._height + 20; var v3 = this.grey_mc.getBounds(_root.imageMainClip); _root.imageMainClip.the_mask._x = v3.xMin; _root.imageMainClip.the_mask._y = v3.yMin; _root.imageMainClip.jpg_c._x = _root.imageMainClip.the_mask._x; _root.imageMainClip.jpg_c._y = _root.imageMainClip.the_mask._y; _root.imageMainClip.the_mask._width = this.grey_mc._width; _root.imageMainClip.the_mask._height = this.grey_mc._height; _root.imageMainClip.loader._x = Math.floor(v3.xMin - 10); _root.imageMainClip.loader._y = Math.floor(v3.yMax + 10); _root.imageMainClip.back_mc._x = Math.floor(v3.xMin - 20); _root.imageMainClip.back_mc._y = Math.floor(v3.yMax + 12); }; }; loadMainImage(path add '?image=' add _global.IMAGE._url add '&fname=' add _root.fname); im_info.text = 'Original image: ' add IMAGE._url.substr(IMAGE._url.lastIndexOf('/') + 1) add '\nimage info: width: ' add IMAGE.width add ', height: ' add IMAGE.height add ', size: ' add int((IMAGE.size / 1024) * 100) / 100 add ' Kb'; im_info2.text = im_info.text; } } еще узнал адрес скрипта который выдает информацию о картинке:
http://zoom.inmagine.com/zoomv1/image.php?getImageInfo=1&fname=rbvs0250221
Попробовал посмотреть снифером, никаких файлов в открытом виде не передается. Может ошибаюсь.
Есть энузиасты, которым тоже интересна эта тема?
Post #: 1
Страниц:  [1]
Все форумы >> [В Сети] >> Взлом сайта с клипартами







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.