3 puntos por GN⁺ 25 일 전 | 1 comentarios | Compartir por WhatsApp
  • Samsung Magician para macOS se instaló para configurar el cifrado por hardware, pero como no funcionó correctamente se intentó quitarlo y no existe ningún botón para desinstalarlo
  • Al ejecutar el script de limpieza interno de la app, se producen más de 500 errores y la mayoría de los archivos quedan intactos porque falla el cambio de propietario
  • Aunque se borraron manualmente decenas de carpetas y archivos, 8 archivos de extensiones de kernel quedaron protegidos por SIP, por lo que fue necesario entrar en modo de recuperación
  • Para desactivar y volver a activar SIP fue necesario arrancar dos veces en modo de recuperación, siguiendo un procedimiento total de 18 pasos para completar la eliminación
  • A pesar de ser solo una utilidad de disco, su complejidad excesiva y componentes innecesarios hacen que sea extremadamente difícil de quitar, con características de bloatware

Problemas en el proceso de eliminación de Samsung Magician

  • Samsung Magician se instaló para configurar la función de cifrado por hardware de un SSD externo, pero como no funcionó correctamente fue necesario eliminarlo
  • La versión para macOS no tiene ningún botón de desinstalación ni permite arrastrarla para borrar, y dentro de una ruta profunda de la app incluye el script CleanupMagician_Admin_Mac.sh
  • Al ejecutar ese script, aparecen más de 500 errores chown: Operation not permitted, falla el cambio de propietario de los archivos y no se realiza la eliminación
  • El script no maneja los errores y simplemente repite la ejecución sobre todos los archivos antes de terminar
  • Como resultado, la mayoría de los archivos permanecen en el sistema

Intento de eliminación manual

  • Por eso, se intentó borrar manualmente carpetas y archivos relacionados con Samsung usando el comando rm -rf
    • Se realizó eliminación manual en varias rutas como Application Support, Preferences, Caches, LaunchAgents, LaunchDaemons, Extensions y Logs
  • Después, al comprobar con el comando find / -iname "*samsung*magician*", seguían existiendo 27 archivos residuales
    • Archivos de extensiones de kernel en /Library/StagedExtensions/ y /System/Volumes/Data/Library/StagedExtensions/
    • Archivos de recibos de paquete en /private/var/db/receipts/
    • Archivos de procesos en caché en /private/var/folders/.../C/
    • La lista de Crash Reporter y la carpeta Samsung Magician dentro de Application Support, entre otros
  • Aunque se repitió el comando sudo rm -rf, 8 archivos de extensiones de kernel seguían sin poder borrarse

Procedimiento en modo de recuperación para borrar archivos de extensiones de kernel

  • Los archivos restantes estaban protegidos por SIP (System Integrity Protection) y no podían eliminarse en modo normal
  • Fue necesario apagar la Mac y arrancar en modo de recuperación, desactivar SIP con el comando csrutil disable y luego reiniciar
  • Después de borrar los archivos de extensiones de kernel, hubo que volver a entrar en modo de recuperación y reactivar SIP con el comando csrutil enable
  • Este proceso requirió 2 arranques en modo de recuperación y un procedimiento total de 18 pasos
  • Solo para borrar cuatro archivos de extensiones de kernel y sus copias fue necesario reiniciar dos veces y entrar al modo de recuperación

Complejidad excesiva de la estructura interna de Samsung Magician

  • Dentro del programa hay animaciones PNG cuadro por cuadro
    • Para mostrar el estado “Health: Good” se usan 150 archivos PNG
    • También existen conjuntos separados de PNG para “Health: Critical”, el tema “Gamer” y las animaciones de progreso y éxito del reconocimiento de huella
    • Como resultado, una simple utilidad de disco incluye cientos de archivos PNG
  • Componentes adicionales incluidos
    • Framework Electron: integra todo el motor Chromium para mostrar un gráfico circular del espacio en disco
    • Framework Squirrel: incluye la función de actualización automática
    • ReactiveObjC, Mantle: frameworks para programación reactiva
    • Fuentes propietarias de Samsung en múltiples grosores (200~800)
    • Archivos de localización multilingüe (coreano, japonés, chino, alemán, francés, italiano, ruso, portugués, español, árabe, hindi, etc.)
    • Imágenes de banners publicitarios (banner_1.jpg~banner_5.jpg)
    • Documentación de ayuda en 10 idiomas y más de 40 capturas de pantalla
  • Debido a esta composición, el programa es evaluado como una forma de software excesivo (bloatware) con carga y complejidad innecesarias

Resumen de los 18 pasos para eliminar completamente Samsung Magician

  1. Buscar un botón para desinstalar dentro de la app (no existe)
  2. Encontrar el script de limpieza dentro del bundle de la app
  3. Ejecutar el script, obtener 500 errores y fallar en la eliminación
    4~14. Repetir la eliminación manual en Application Support, Preferences, Caches, LaunchAgents, LaunchDaemons, Extensions, Receipts, Folders, etc.
  4. Confirmar con el comando find la existencia de 8 archivos protegidos por SIP
  5. Apagar la Mac, arrancar en modo de recuperación y desactivar SIP
  6. Eliminar los archivos protegidos de extensiones de kernel
  7. Reiniciar en modo de recuperación y reactivar SIP
  • En total se requieren 18 pasos y 2 reinicios en modo de recuperación, un procedimiento excesivo para quitar una simple utilidad de disco
  • En conclusión, Samsung Magician es un software extremadamente difícil de desinstalar y con una estructura innecesariamente compleja

1 comentarios

 
GN⁺ 25 일 전
Comentarios de Hacker News
  • En los 90 desarrollé una utilidad de disco llamada PartitionMagic
    Fue una de las primeras herramientas que permitían ajustar particiones dinámicamente
    Me hace pensar que quizá el nombre del producto de Samsung se inspiró en eso
    Extraño la época en que instalar era simplemente copy . to / y desinstalar era delete /

    • En Mac, si una app normal no se instala simplemente arrastrándola, eso ya es una gran señal de alerta
      Evitaría ese tipo de apps y buscaría una alternativa de una empresa que entienda bien cómo funciona Mac
      Antes el instalador de Chrome llegó a pedir privilegios de administrador y dejó al sistema sin poder arrancar
      Las utilidades del sistema o los drivers son una excepción, pero PartitionMagic era realmente excelente
    • “PartitionMagic” ayudó muchísimo a los usuarios domésticos
      Creo que valdría la pena explorar si una cultura de retroalimentación negativa dentro de la organización termina causando problemas de integración técnica
      Un “proceso de instalación de 18 pasos” es claramente un problema y parece algo que Samsung debería tratar como prioridad interna
      También bromea con que el nombre “Magician” parece reflejar metafóricamente la cultura corporativa de Samsung
    • Vi el título y pensé: “¿‘utilidad de disco’? ¿Como PartitionMagic?”; me alegró ver que justo era de eso de lo que hablaban
      De verdad era un programa excelente
    • PartitionMagic no era una simple utilidad, sino una herramienta emblemática de su época
    • Antes, todos los toolkits esenciales de los técnicos incluían PartitionMagic
      Era increíblemente estable y ahorraba mucho tiempo
  • En Mac solo intenté borrar algo, pero tuve que entrar en modo recuperación → csrutil disable → reiniciar → borrar la extensión de kernel → entrar otra vez en modo recuperación → csrutil enable → reiniciar de nuevo…
    Todo eso solo para eliminar unos archivos muertos
    Esto es completamente culpa de Apple. Apple fue quien hizo que ni siquiera root tuviera privilegios administrativos plenos

    • Pero el sistema le pertenece a Apple, no al usuario
      Está bien comprar dispositivos de Apple, pero ellos nunca prometieron un sistema abierto
      Si una actualización elimina una función, eso no era un derecho sino solo una capacidad que te permitían tener
    • Si te molesta, simplemente puedes desactivar esa protección una vez
      Incluso la mayoría de los power users la dejan activada por seguridad
    • El procedimiento es molesto, pero al final es una salvaguarda para proteger contra acciones maliciosas
    • Esto está funcionando tal como fue diseñado, y de hecho va en la dirección correcta
      Root (uid=0) no debería poder modificar libremente las partes profundas del sistema
      Los cambios a nivel kernel no deberían ser posibles con privilegios cotidianos, y esa es precisamente la esencia de System Integrity Protection
      Si existe una mejor forma, habría que proponérsela a Apple, pero no se deberían ignorar estas protecciones
  • Hace tiempo distribuí un producto para macOS y al desinstalarlo aparecía un error de papelera
    En ese momento Finder no tenía una API de extensiones, así que para agregar un menú había que hacer ingeniería inversa de Finder e inyectarle código
    Como resultado, Finder mantenía abierto el bundle de la app y no se podía borrar hasta reiniciar
    Más tarde apareció una API de extensiones para Finder y eso lo resolvió, pero macOS también tiene su propia complejidad interna

    • Según Raymond Chen, las extensiones de Shell son la causa más común de los fallos de Explorer
      Que macOS no tuviera esa API quizá incluso fue una buena decisión de diseño
    • macOS está basado en Unix, así que se pueden borrar archivos abiertos; me pregunto si Finder hacía una verificación aparte
    • Este problema parece menos culpa de macOS y más el típico problema de file handles que también es común en Windows
    • En realidad, más que culpar al SO, parece el resultado de que la app tocó el sistema de forma anormal
    • Llevo más de 10 años usando Mac, pero casi solo uso Finder para hacer clic en el botón de AirDrop
  • macOS está lleno de pop-ups de permisos para cosas como la cámara o la ejecución en segundo plano,
    pero no evita que sus socios industriales dejen archivos imposibles de borrar por todo el sistema

    • Esta seguridad en realidad no es más que teatro para reducir el control del usuario y reforzar el efecto de lock-in corporativo
      Al final, el usuario controla menos y Apple/MS/Google tienen más poder
    • Antes una utilidad para manejar archivos .pkg tenía una opción de borrado por línea de comandos, pero ya no existe
      Hoy prefiero herramientas de desinstalación open source como PearCleaner
    • Muchas veces ni siquiera está claro cuál es el propósito de las ventanas de permisos
      A veces aparece una frase extraña como “el lenguaje de programación solicita acceso”
  • Hace como 10 años compré una TV Samsung económica y tenía latencia de audio variable
    Algunos días estaba sincronizada y otros llegaba con cientos de ms de retraso
    No puedo creer que vendieran un producto así, y decidí no volver a comprar nada de Samsung

    • Suelta la broma de si acaso en esa época procesaban el sonido con Electron
  • Da risa al leerlo, pero en realidad es una realidad trágica
    Parece que el bloat del software va a seguir empeorando
    Uno se pregunta por qué las grandes empresas están tan obsesionadas con las tecnologías web que incluso ponen una utilidad de disco en manos de un desarrollador web

    • La razón es que RR. HH. sin perfil técnico dirige las contrataciones
      Contratan gente por las palabras clave de stacks web de moda más que por capacidad técnica real
      Al final todo se llena de desarrolladores de React y no queda nadie que sepa hacer software adecuado para su propósito
  • Personalmente evito los productos de Samsung, y al final eso me ha librado de varios problemas

    • Ver anuncios en el menú de una TV Samsung que compró mi suegro me produjo rechazo inmediato
      En Hawái usé una lavadora Samsung que tenía un modo DOWNLOAD para conectarse con una app
      Pasaba varios minutos detectando la ropa agitándola antes del lavado y casi no usaba agua
      Además, un refrigerador Samsung que vi en una tienda tenía congelada la tablet de la puerta
      Después de esas tres experiencias, dejé por completo los productos Samsung
  • Meter todo el framework de Electron solo para mostrar un gráfico circular del espacio en disco
    “La RAM es barata, y la RAM sin usar es un desperdicio” — parece ser la filosofía de la gerencia de Samsung

  • Consejo para quien quiera instalar Samsung Magician para actualizar firmware
    En realidad se puede actualizar el firmware de forma segura sin este programa

    • Luego sigue una pregunta pidiendo el método concreto
  • Si conoces el software coreano, todo esto se entiende
    Es común que los botones estén hechos como imágenes JPEG