2011-08-09 3 views
3

AMF 프로토콜을 통해 일종의 서버 측 호출을 사용하는 것으로 보이는 플래시 웹 사이트를 크롤링하도록 요청 받았습니다. 나는이 프로토콜에 익숙하지 않지만이 라이브러리 (http://www.pyamf.org/index.html)를 발견했습니다.리버스 엔지니어링 AMF

서버로 보내지는 페이로드와 응답을 볼 수 있습니다. 특정 핵심 요소를 만들 수 있지만 전체적으로 요청이나 응답을 이해하지 못합니다.

나는 도서관이 어떻게 든 도움이 될 것이라고 생각하지만 어디서부터 시작해야할지 확신하지 못한다. AMF 통화를 리버스 엔지니어링하는 데 필요한 리소스 나 기술을 알고있는 사람이 있습니까? 그렇지 않은 이유를 누군가가 설명 할 수 있습니까?

+0

AMF 자체는 이진 플래시 파일입니다. 호출 자체가 AMF 파일을 반환하지만 그렇지 않습니까? – bzlm

+0

AMF는 Actionscript Message Format이며 Flash에 데이터를 전송하기위한 프로토콜입니다. 그것은 플래시 파일 자체가 아닙니다. –

답변

7

너 자신을 써라.

  • 파이썬 : PyAMF
  • 루비 : RocketAMF
  • 자바 : BlazeDS
  • PHP : Zend::AMF
  • 다음 언어로 AMF 구문 분석에 대한 몇 가지 라이브러리 목록은 멀리 간단한 검색 더 많은과이며,

AMF가 일반적으로 작동하는 방식을 이해하면 원격 프로 시저 호출 (RPC) 계층이있는 객체 직렬화 형식입니다. 모든 RPC 호출은 매개 변수 목록과 함께 해당 서비스에서 호출 할 서비스 이름과 메서드로 구성됩니다. Flex를 사용하는 경우 Adobe의 오픈 소스 AMF 구현 인 BlazeDS 외에는 문서화되지 않았지만 위의 모든 라이브러리에서 지원되는 RPC 프로세스의 일부 추가 레이어가 있습니다.

Charles도 확인할 수 있습니다. Charles은이를 통해 프록시 된 AMF 요청을 deserialize하여 역 엔지니어링을 좀 더 쉽게 할 수 있습니다.

4

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

그것은 꽤입니다 오랫동안 읽었지 만 구현하는 많은 라이브러리 중 일부의 코드를 참조하면 가져올 수 있어야합니다.

의 프로토콜에 대한 참조의 좋은 목록도 있습니다 : AMF (RocketAMF)을 구문 분석 할 수있는 라이브러리를 구축하고있는 사람, 난 당신이 기존의 라이브러리 중 하나가 아니라 사용을 권합니다으로 http://osflash.org/documentation/amf