NSUserDefaults
General
NSUserDefaults es uno de los métodos más comunes para guardar las preferencias y propiedades del usuario. Almacena los datos en formato de archivo Property List (PList) en la carpeta de preferencias de la aplicación móvil.
Manual
Directorio de almacenamiento.
/var/mobile/Containers/Data/Application/<app-ID>/Library/Preferences/
Conversión de formato de archivo.
# Linux
## conversión a formato XML
plistutil -i <app-package-name>.plist -o nsuserdefaults.xml
# MacOS / iOS
## conversión a formato XML
plutil -convert xml1 <app-package-name>.plist && cat <app-package-name>.plist > nsuserdefaults.xml
## conversión a formato JSON
plutil -convert json <app-package-name>.plist && cat <app-package-name>.json > nsuserdefaults.json && rm <app-package-name>.json
Exportar archivo NSUserDefaults desde el dispositivo.
scp <user>@<device-ip-address>:/var/mobile/Containers/Data/Application/<app-ID>/Library/Preferences/<app-package-name>.plist <destination-directory>
Búsqueda de información dentro del archivo NSUserDefaults.
# Expresiones regulares
grep -Eorin "<regex>" nsuserdefaults.xml
# Búsqueda por palabras claves
grep -Eorin "<word-1>|<word-2>|<word-3>" nsuserdefaults.xml
# Búsqueda por nombres de "key"
grep -Ei "<key-1>|<key-2>|<key-3>" -A 1 nsuserdefaults.xml
Objection
Visualizar NSUserDefaults de una aplicación.
ios nsuserdefaults get
Exportar NSUserDefaults de una aplicación.
objection --gadget <app-package-name> run "ios nsuserdefaults get" > nsuserdefaults.txt
objection --gadget <process-ID> run "ios nsuserdefaults get" > nsuserdefaults.txt
Filtrar datos del NSUserDefaults de una aplicación.
objection --gadget <app-package-name> run "ios nsuserdefaults get" | grep -Ei "<word-1>|<word-2>|<word-3>"
objection --gadget <process-ID> run "ios nsuserdefaults get" | grep -Ei "<word-1>|<word-2>|<word-3>"
Última actualización
¿Te fue útil?