По поводу лайков и комментариев - кури в сторону парсеров, думаю selenium, phantomjs подойдет.
По поводу копирования музыки - имхо, лучше запуска adb, как дочернего процесса через питон, не найдешь. Кури в сторону subprocess и подобных.
Это нужно для гарантии того, что в наследуемых классах будет реализован метод с тем же названием и похожим функционалом. Например, у классов Треугольник и Круг должен быть реализован абстрактный метод get_area, который считает площадь. Иначе можно писать в одном классе area, в другом get_area, что вызывает путаницу и проблемы с поддержкой кода. Имхо, думаю это не вся суть:)
Я не очень специалистъ по безопасности, но для шифрования используется обычно некий ключ, она же соль, ибо тот же алгоритм с другим ключем даст иной результат. Без нее расшифровать довольно трудновато будет, я думаю.
Могу посоветовать в общем случае, не по языку. У нас есть ПО, которое запускается только при определенных условиях. Если условия не подходят, то это ПО создает рядом с собой батник и запускает его, а само выгружается. Батник затем действует независимо. В нем прописано удаление экзешника ПО и затем он удаляет сам себя.
В вашем случае я думаю можно сделать все так же, только сам главный экзешник обновлять в последнюю очередь