Обратный инжиниринг AMF

Меня попросили просканировать флеш-сайт, который, похоже, использует какой-то серверный вызов по протоколу AMF. Я совершенно не знаком с этим протоколом, но нашел эту библиотеку (http://www.pyamf.org/index.html).

Я могу просматривать полезные данные, отправленные на сервер, а также ответ. Я могу различить определенные ключевые элементы, но в целом не понимаю ни запроса, ни ответа.

Я предполагаю, что библиотека как-то поможет, но не знаю, с чего начать. Кто-нибудь знает о ресурсах или методах обратного проектирования вызова AMF или может кто-нибудь объяснить, почему это маловероятно?


person Kevin Dolan    schedule 09.08.2011    source источник
comment
Сам AMF представляет собой двоичный файл Flash. Сам вызов возвращает файл AMF, не так ли?   -  person bzlm    schedule 09.08.2011
comment
AMF - это формат сообщения ActionScript и протокол для отправки данных во Flash. Сам по себе это не флеш-файл.   -  person Alan Geleynse    schedule 09.08.2011


Ответы (2)


Как человек, создавший библиотеку, которая может анализировать AMF (RocketAMF), я бы посоветовал вам использовать один из существующие библиотеки, а не писать свои собственные. Ниже приведен список некоторых библиотек для разбора AMF по языкам, а многие другие можно легко найти:

Что касается понимания того, как обычно работает AMF, это формат сериализации объектов с уровнем удаленного вызова процедур (RPC). Все вызовы RPC состоят из имени службы и метода вызова этой службы, а также списка параметров. Если они используют Flex, есть несколько дополнительных уровней к процессу RPC, которые нигде не документированы, кроме реализации Adobe AMF с открытым исходным кодом, BlazeDS, но поддерживаются всеми вышеперечисленными библиотеками.

Вы также можете попробовать Charles, который способен десериализовать запросы AMF, которые передаются через него через прокси, делая обратное инженерия немного проще.

person warhammerkid    schedule 09.08.2011

Опубликована документация по протоколу AMF.

Вы можете найти копию спецификации AMF 3 по адресу: http://opensource.adobe.com/wiki/download/attachments/1114283/amf3_spec_05_05_08.pdf

Протокол AMF 0, который является более старой версией протокола, доступен по адресу: http://opensource.adobe.com/wiki/download/attachments/1114283/amf0_spec_121207.pdf

Это довольно долгое чтение, но если вы обратитесь к коду некоторых из многих библиотек, которые его реализуют, вы сможете его получить.

Также есть хороший список ссылок на протокол по адресу: http://osflash.org/documentation/amf

person Alan Geleynse    schedule 09.08.2011