В последнее время меня интересует код позади chatroulette.com. Как вы, наверное, знаете, это одноранговая веб-камера-чат, написанная на ActionScript, насколько я понимаю. Что меня интересует, так это то, что можно извлечь ip-адрес того, с кем вы сейчас общаетесь. Я видел службы, которые делают это, но они требуют, чтобы вы установили программу, которая работает на вашем компьютере, прослушивая UDP-пакеты. Мне было интересно, если бы был более простой метод.
Что я знаю, так это то, что JavaScript на странице связывается с приложением через ExternalInterface. В этой области я в значительной степени новичок, но, согласно моему ограниченному пониманию, вы не можете получить информацию из flash-приложения, если вы не настроили слушателя для вызова из javascript, а затем прикрепили обратный вызов к этому событию. Это правильно, или вы можете получить доступ к открытым функциям и переменным напрямую через JavaScript?
Например, есть публичная функция:
public function get outgoingAddress():String{
return (this.__info.outgoingAddress);
}
Можно ли получить к нему доступ напрямую через javascript?
Если это не так легко сделать, можно ли декомпилировать .swf-файл, изменить его (добавить некоторые функции), перекомпилировать и запустить вместо него? Я надеюсь, что кто-то может удовлетворить мое любопытство здесь.