Разработчик пожаловался, что утилиту Samsung Magician на macOS не так просто удалить. Для этого надо пройти через 18 шагов, вручную очищать файловую систему и дважды перезагружать компьютер. При этом у приложения нет встроенного деинсталлятора, а содержимое пакеты вызывает вопросы.

Samsung Magician — утилита для управления твердотельными накопителями от Samsung. С её помощью пользователи могут проводит диагностику дисков, проверять подлинность, состояние и производительность.
В своём блоге разработчик рассказал, что установил Magician, чтобы задать пароль для аппаратного шифрования накопителя Samsung T7 Shield. Сделать этого не получилось, поэтому автор решил избавиться от утилиты, но не нашёл деинсталлятор. Перетаскивание в корзину тоже не удаляло приложение.
Глубоко в директории пакета удалось найти скрипт для удаления приложения:
sh ~/Library/'Application Support'/Samsung/'Samsung Magician'/SamsungMagician.app/Contents/Resources/CleanupMagician_Admin_Mac.sh
Запуск скрипта не помог, и в терминале появилось около 500 ошибок типа chown: Operation not permitted. Всё дело в том, что скрипт меняет владельца каждого файла и затем пытается удалить его, но macOS автоматически блокирует каждую такую попытку.
Скрипт не останавливается, не ловит ошибки, не пробует план Б. Он просто с тупым упорством долбится в стену по каждому файлу, а потом завершает работу с видом: «Ну всё, шеф, готово». После этого все файлы, разумеется, по-прежнему оставались на месте.
После неудачи со скриптом разработчик решил вручную запустить команду rm -rf для каждой папки Samsung. Всего удалось найти девять папок:
~/Library/Application Support/Samsung~/Library/Preferences/com.samsung.*~/Library/Caches/com.samsung.*~/Library/Logs/Samsung*/Applications/Samsung Magician.app~/Library/LaunchAgents/com.samsung.*/Library/LaunchDaemons/com.samsung.*/Library/Extensions/*amsung*/Library/Application Support/Samsung
Может показаться, что после этого Samsung Magician бесследно исчезла, но при запуске find / -iname "*samsung*magician*" обнаружилось ещё 27 файлов в системе. И это после выполнения скрипта и девяти ручных команд. Последние четыре файла пришлось удалять с помощью перезагрузки Mac, перехода в Recovery Mode и выполнения csrutil disable.
Автор отмечает, что большего всего вопросов вызывает не трудности с удалением, а архитектура самого приложения и использованные технические решения. В директории удалось найти более 150 PNG-файлов покадровой анимации вращающегося кружка загрузки. Всё это только для того, чтобы показывать пользователю статус загрузки.
Это не шутка. Инженеры Samsung это реализовали, менеджеры одобрили, а QA протестировали (по крайней мере должны были), и ни на одном этапе ни один человек не поднял руку и не спросил: «А дисковая утилита точно должна поставляться со 150 вручную пронумерованными картинками вращающегося кружка?».
Это не единственный набор изображений для покадровой анимации. Инженеры собрали комплекты практически для каждого экрана загрузки. Всего в пакете Magician несколько сотен PNG-файлов для декоративных анимаций.
Вот что ещё удалось найти в файлах приложения:
-
Фреймворк Electron — полноценный движок Chromium для вывода графиков состояния накопителя.
-
Фреймворк Squirrel для автообновления.
-
Фреймворк ReactiveObjC и Mantle — инструменты для реактивного программирования.
-
Кастомные шрифты Samsung со множеством начертаний.
-
Файлы локализации чуть ли не для всех языков Земли: корейского, японского, китайского, немецкого, французского, итальянского, русского, португальского, испанского, арабского, хинди, бенгальского, тамильского, телугу, гуджарати, каннада, малаялам, маратхи, урду, суахили, филиппинского, африкаанс.
-
Рекламные баннеры в виде JPG-файлов.
-
Документация с более чем 40 скриншотами на десяти языках.
Samsung Magician — это зараза. Памятник раздутому софту, любовное письмо ненужным программам и корпоративному булшиту, и жирный, мясистый средний палец каждому пользователю, который всего лишь хотел поставить пароль на свой портативный диск.
ссылка на оригинал статьи https://habr.com/ru/articles/1023026/