Загрузка страницы

Reverse Engineering iOS Screen Mirroring with Golang, Daniel Paulus

GoWayFest 4.0, Online – July 11-12, 2020

Reverse Engineering iOS Screen Mirroring with Golang, Daniel Paulus

Have you ever wondered how closed source features are reverse engineered? I find few things as challenging and fun as creating meaning from a bunch of hex dumps only by using analytical and engineering skills, to open up a proprietary protocol and build working software on top of it.

The QuickTime application gives you the possibility to stream and record live audio and video from iOS devices connected to a MacOSX host. I was interested in seeing how this feature works and how it can be implemented in Go to enable all operating systems to support it.

As usual, Apple did not publish any documentation on how this feature works. Therefore, the only way to get there was to reverse engineer it from scratch. I managed to get a working implementation for Linux and would like to share and discuss my approach to reverse engineering this protocol. I find reverse engineering these features very rewarding because as you Go, you get the chance to really understand how things like h264, pcm audio, synchronization or USB data transfers work on a low level.

In my talk I will show you:
- how to debug and analyze USB traffic on a Mac with Wireshark;
- easy ways of how to make sense of network/usb protocols just by looking at hex dump representations;
- how to implement a USB device codec with golang and libusb;
- and how to stream h264 video data over the network or save it to a file.

The whole project is MIT licensed and well documented, so that anyone can go ahead and implement it in their favorite language.

Видео Reverse Engineering iOS Screen Mirroring with Golang, Daniel Paulus канала SPACE
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
24 ноября 2020 г. 22:50:29
00:31:58
Яндекс.Метрика