반응형 Research/[아프리카TV] 그리드 프로그램 분석3 아프리카TV 프로그램 분석 (3) - P2P 패킷 구조 분석 요즘 프로그램 분석하는게 취미가 된것마냥, 여가 시간이 나면 계속 분석만 하고 있네요 ㅎㅎ 벌써 아프리카TV 프로그램 분석 주제로 세번째 포스팅을 하게 되었습니다! 이번 포스팅의 주제는 P2P 패킷에 대해 분석한 내용을 다루었습니다. 나름의 Handshake 과정이 있었으며, 이번 분석으로 실제 미디어 파일을 받기까지 어떠한 작업이 이루어졌는지 알 수 있었는데요. 프로그램이 좀 방대하지만 이 포스팅에서는 720p 영상에 한하여 분석한 내용이 있으니 참고하셔서 봐주세요 :D 1. 통신 순서 이 프로그램에서 P2P 통신을 할 때 나름의 명칭이 있었는데요.(물론, 다른 P2P에서도 동일한 네이밍을 쓸수도 있음) 데이터를 요청하는 시청자를 Child, 영상 데이터를 제공해주는 시청자를 Parent라고 합니다. .. 2023. 12. 21. 아프리카TV 프로그램 분석 (2) - Grid Network 지난 포스팅에 이어서 고화질 스트리머 프로그램 분석글을 작성하겠습니다. 이 전 포스팅에서는 스트리밍 데이터를 받기 전에 어떠한 작업들이 이루어지는지 알아보았는데요. 이번 포스팅에서는 영상 데이터를 어디서 받아오는지를 중심으로 내용을 구성해보았습니다. 또한 Frida로 바이너리를 후킹하여 원하는 정보를 쉽게 받아오는 스크립트도 함께 소개드리겠습니다.1. Client와 Center 서버간의 통신이 전 포스팅에서 afreecastreamer.exe를 실행하고, 실시간 방송을 재생하면 Center로 불리는 아프리카 서버 (TCP PORT:19000)로 연결되는 것을 확인하였습니다. 이 Center와 연결한 후에는 다양한 작업을 하지만, 눈에 띄는 몇 가지만 나열해보면 아래와 같습니다.1) Client -> Ce.. 2023. 12. 13. 아프리카TV 프로그램 분석 (1) - 초기 네트워크 설정 오늘은 갑자기 호기심이 생긴 아프리카TV의 프로그램을 분석해보았습니다. 좀 더 정확히 말하자면, 아프리카TV의 영상을 1080P 고화질로 볼 수 있도록 하는 고화질 스트리머라는 프로그램인데요. 이 고화질 스트리머라는 것은 그리드 딜리버리 프로그램이라고 하여, 사용자들간의 데이터를 교류하며 딜레이 및 화질을 개선하기 위한 프로그램이라고 하는데요. 과연 어떤식으로 수행되는지 궁금하여 분석을 좀 시도해보았습니다. 최종 목표는 바이너리 분석까지 진행하고 내부에서 어떤 일이 일어나는지 작성하는 것이었으나, 아무래도 본업이 있는지라 많은 시간을 투자하진 못했구요. 프로세스 상태와 네트워크 변화들을 중심으로 분석한 내용들이니 참고하여 재밌게 봐주세요. (+기술적인 내용은 별로 없음..) 1. 프로세스 가장 먼저 프로.. 2023. 12. 8. 이전 1 다음