-Изучение интерактивного дизассемблера, который используется для реверсинга. (ex. IDA)
-Получение нужной информации для инита dll : модули, оффсеты etc.
-Добавление hooking system, для реализации функционала.
-Написание функций.
Все понятно, если ты знаешь язык.