На базе ЦДПО МФТИ и кафедры Информатики и Вычислительной Математики с сентября стартует курс “Основы реверс-инжиниринга и оптимизации программ на ARM”, посвящённый нативному программированию, оптимизации, отладке и исследованию скомпилированных программ под мобильную или встраиваемую ARM-платформу.
Курс практический и проводится в формате вебинаров. Он ориентирован на промышленных программистов любого уровня, и всех, кто хочет понимать работу ПО на низком уровне. Слушатели узнают, как писать производительный и эффективный нативный код, оптимизировать и комбинировать необходимые участки, нативно отлаживаться, в общем, действовать вне уютной JVM или другого виртуализованного окружения. Приобретенные навыки позволят ускорить узкие места своего проекта на порядок, повысить эффективность разработки и поиска уязвимостей. Студенты и сотрудники МФТИ также приглашаются к посещению.
В ходе курса слушатели узнают:
- особенности микропроцессорной ARM-архитектуры
- особенности GCC в области компиляции, генерации кода, оптимизации и профилировки
- специальные приемы отладки и дизассемблирования в gdb
- приёмы дизассемблирования
- специфику вызова нативного кода из JVM и наоборот
- паттерны генерации машинного кода из исходного в GCC на ARM, отличия и функционально-эквивалентные участки на ARM и x86
Научатся:
- работать с GCC, GDB, Binutils objdump, Gradle, Android NDK, Android Studio и др.
- правильно применять оптимизационные флаги GCC, тонко оптимизировать код на уровне алгоритма, программы и компилятора, осуществлять профилировку программы
- итеративно отлаживаться на основе дизассемблерных листингов в GDB
- дизассемблировать ELF, исполняемые файлы
- осуществлять написание нативного кода для использования из Android-приложений
- понимать соответствие отдельных участков кода на Си и Ассемблере
По результатам курса выдаётся диплом-удостоверение о повышении квалификации образца ЦДПО МФТИ.
Курс продлится три недели. Объем учебной программы – 36 часов, стоимость обучения – 14 000 рублей. При определенных условиях (смотрите ниже) студенты и сотрудники МФТИ могут пройти курс бесплатно.
Запись на курс и дополнительная информация о нем доступна по ссылке.
Курсы от ЦДПО могут пройти даже те слушатели, которые никакого отношения к МФТИ не имеют. Все курсы платные, однако сотрудникам МФТИ при выполнении определенных требований ректорат оплачивает обучение. Для этого необходимо заполнить служебную записку (есть на сайте института) и дождаться, когда сформируется учебная группа.
Студентам сложнее: данная возможность доступна только сотрудникам института. Тем не менее, представители ЦДПО рекомендуют студентам все же оставлять заявки на прохождение курса, указав в форме записи просьбу оплатить обучение. Есть и другое решение: по личной договоренности с преподавателем студент может стать вольнослушателем и получить доступ ко всем учебным материалам. Отличие в том, после успешного прохождения курса вольнослушатели не получают сертификаты. Преподаватель данного курса, Николай Ефанов (nefanov90@gmail.com), готов взять в качестве вольнослушателей 10 студентов. Торопитесь: на момент публикации одно место уже занято!