Для начала изучи самые популярные техники обхода, что вообще из себя представляет "обход". Дальше пробуй самостоятельно лопатить github проекта (их уиво-тутуиво). А там дальше сам начнешь понимать, что ты хочешь делать и почему. А ну еще конечно нужно понимание низкоуровневых ЯП.