- Хроники. - -

Включаем debug для chatroulette.

Posted By Ikutsin On 28 мая 2010 @ 23:12 In HTML, AJAX, JS & CSS,Лаборатория | Comments Disabled

[1]Что такое chatroulette рассказывать не буду, лучше всего о нем написано в луркоморье [2]. Задача другая, организовать пространство для реверсинга (извини Андрей [3], думаю теперь тебе уже не до блогов).

Подготовка площадки

  • И так, разбираем SWF — используем любой де-компилятор совместимый с Flash 10.
  • Качаем копию сайта с помощью софта, типа — Teleport. и До-за-гружаем то, что нужно для SWF (xml и еще какие-то  медиа файлы).
  • Собираем все это в LAMP [4] сервер
  • И.. обламываемся. Видео не грузится.

Разведка

  • Читаем код от де-компилятора. Изучаем информацию о логировании (уж очень сильно народ любит его оставлять) и подключении к серверу (первое, что замечаем — список IP в xml файле).
  • Вспоминем как выглядит RTMP, ставим wireshark и нюхаем трафик.
  • Оба способа приводят к Director.as:811.

Debug.add("url:" + _loc_5);
 if (_loc_5.indexOf("file://") != -1)
 {
 _loc_5 = "__localhost";
 }
 else
 {
 _loc_5 = _loc_5.replace("/www.", "/");
 _loc_5 = _loc_5.substring(_loc_5.indexOf("/") + 2, _loc_5.indexOf("."));
 if (_loc_5.indexOf("/") != -1)
 {
 _loc_5 = _loc_5.substring(0, _loc_5.indexOf("/"));
 }
 }
 Debug.add("url:" + _loc_5);
 if (_loc_5 == "chatroulette" || _loc_5 == "chatrt" || _loc_5 == "__localhost" || _loc_5 == "t")
 {
 AddressManager.__rtmpArr = _loc_1;
 AddressManager.__rtmfpArr = _loc_3;
 AddressManager.__instanceCount = this.__dataXml.servers.inst_amount.toString();
 SuperVisor.channel = "chatroulette";
 AddressManager.__instanceDirectory = this.__dataXml.servers.inst_dir.toString();
 AddressManager.__instanceSuffix = this.__dataXml.servers.inst_name.toString();
 Debug.add("Channel recognized as common: the room is now \"chatroulette\" (original url: \"" + _loc_5 + "\").");
 }

...

  • Так, нужно включить дебаг, но не приятно разочаровывает com.chatroulette.debug.Debug:9. И одновременно успокаивает Director:1200 (да, я в этом возрасте тоже мог столько строк в одном классе выдать):

Debug.debug_mode = this.loaderInfo.parameters.debug;
 Debug.alone_mode = this.loaderInfo.parameters.alone;

  • Передаем в SWF параметр debug=true. Теперь, как это сделать прямо в чат-рулете ведь видео не работает?

[5]

Подменяем SWF на сайте

Тут я вижу только два способа JS-shell [6] и GreaseMonkey.


load('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'); //load qjuery

$('embed').attr('src', 's2v0.swf?debug=true'); //обновляем url

  • Vizzi [7] ничего не ловит, видимо, Андрей позаботился о сборке без trace. Интнересно, откуда  у студента (не сайчас конечно) деньги на Flash IDE?
  • Для GreaseMonkey, это:
// ==UserScript==
// @name           debug
// @namespace      mine
// @description    debug on
// @include        http://chatroulette.com/
// ==/UserScript==
function addDebug() {
 var e = document.getElementsByTagName('embed')[0];
 e.src += "?debug=true";
}
addDebug();
<pre>

И еще,

Это не призыв к действию, а описание инструментария. Реализация и без этого предоставлена автором (http://chat rt.com/debug.html) проекта.

Для знающих английский, этих ресурсов будет достаточно: Dive into grease monkey [8] и Wiki [9].


Article printed from Хроники.:

URL to article: /1506-vklyuchaem-debug-dlya-chatroulette

URLs in this post:

[1] Image: /wp-content/uploads/2010/05/ChatRoulette2.jpg

[2] луркоморье: http://lurkmore.ru/ChatRoulette.com

[3] Андрей: http://www.google.ee/search?q=%C0%ED%E4%F0%E5%E5%EC%20%D2%E5%F0%ED%EE%E2%F1%EA%E8%E9&hl=ru&client=firefox&hs=dnl&rls=org.mozilla:ru:official&source=lnms&tbs=nws:1&ei=cSIATOLiA5OhOLas8K8O&sa=X&oi=mode_link&ct=mode&ved=0CBIQ_AU&prmdo=1

[4] LAMP: http://ru.wikipedia.org/wiki/LAMP#.D0.93.D0.BE.D1.82.D0.BE.D0.B2.D1.8B.D0.B5_.D1.80.D0.B5.D1.88.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B4.D0.BB.D1.8F_Windows

[5] Image: /wp-content/uploads/2010/05/Screenshot-28.05.2010-23_40_33.png

[6] JS-shell: /1112-javascript-shel-shell-v-kontekste-issleduemoj-stranicy

[7] Vizzi: http://code.google.com/p/flash-tracer/

[8] Dive into grease monkey: http://diveintogreasemonkey.org/

[9] Wiki: http://wiki.greasespot.net/Main_Page

Copyright © 2008 Все, что меня окружает. All rights reserved.