Можно ли соскрести вспышку? - PullRequest
20 голосов
/ 08 февраля 2010

Я хотел бы очистить веб-сайт, чтобы программным путем собирать любые внешние ссылки внутри любых элементов флэш-памяти на странице. Я также хотел бы собрать любой другой текст, если это возможно, но ссылки являются важной частью. Это возможно? Бесплатная библиотека / служба для выполнения этой задачи была бы предпочтительнее, но если ее нет, как я могу выполнить задачу самостоятельно? Можно ли получить исходный код и извлечь из него?

Ответы [ 3 ]

10 голосов
/ 14 февраля 2010

Декомпиляция источника Flash позволит увидеть часть ActionScript файла Flash, который, как я обнаружил, часто содержит информацию, такую ​​как ссылки.

Бесплатный декомпилятор - Flare . Это только командная строка, и работает нормально. Он не будет декодировать некоторую информацию в новых форматах Flash (> CS3, я думаю). Он сбрасывает все AS в один файл.

Sothink SWF Decompiler - более сложная коммерческая программа. Он будет отлично работать с любым файлом Flash, который я пробовал, и результаты довольно тщательные и хорошо организованные. это основано на графическом интерфейсе, и я не знаю, легко ли это автоматизировать.

С помощью Flare, поскольку это инструмент командной строки, можно легко написать скрипт для получения SWF-файла, декомпилировать его, выполнить grep для 'http://', и записать результаты.

3 голосов
/ 08 февраля 2010

Вытащить «внешние ссылки» из флеш-памяти можно так же просто, как, например:

curl -s http://hostname/path/to/file.swf | strings | grep http

Конечно, это потерпит неудачу, если автор предпринял попытку скрыть URL.

YMMV много. Удачи!

1 голос
/ 08 февраля 2010

В качестве очень грубого первого шага вы могли бы использовать Google, чтобы получить текстовый фрагмент из SWF, учитывая, что SWF был проиндексирован Google и вы знаете, что это URL. например:

http://www.google.com/search?q=site%3Awww.michaelgraves.com%2Fmga.swf

...