Translate

sábado, 24 de febrero de 2018

Manual Extraer TOKEN de un producto XIAOMI para usar su API desde Android (Sin Root)

1. Habilitar en el dispositivo Android el modo desarrollador y la depuración USB y conectarlo al Ordenador

Descomprimir
Ir por el cmd de Windows al directorio donde hemos descomprimido el SDK Platform Tools y ejecutar adb backup -noapk com.xiaomi.smarthome -f backup.ab
En el dispositivo Android aceptar la copia de seguridad sin meterle password


Se crear un archivo en esa misma ruta que se llama bakckup.ab (Unos 30 megas)
Y en el dispositivo Android sale un mensaje de que la copia es correcta
3.       Descargar ADB Backup Extractor (https://sourceforge.net/projects/adbextractor/)
Descomprimirlo
Copiar el archivo de la copia de seguridad bakckup.ab a la carpeta recién descomprimida donde se ecuentra el archivo abe.jar (ADB Backup Extractor\android-backup-tookit\android-backup-extractor\android-backup-extractor-20180203-bin)
Ir a esa misma ruta desde el CMD de Windows y ejecutar
java.exe -jar abe.jar unpack backup.ab backup.tar
se creará un archivo en esa misma ruta que se llama backup.tar (unos 50 megas)
4.       Descomprimir el archivo backup.tar y veremos que aparece la base de datos miio2.db de la APP de xioami en la ruta backup\apps\com.xiaomi.smarthome\db
5.       Instalamos el programa DB Browser para SQLite (http://sqlitebrowser.org/) y lo abrimos. Arrastramos la BBDD a este programa y se abrirá.
Vamos a la pestaña ejecutar SQL y en la ventana pegamos el sig texto:
select token from devicerecord where localIP is "172.16.0.51"
Le damos al PLAY

Y en la ventana inferior nos muestra el TOKEN, podemos copiarlo con el raton.
NOTA: En lugar de sacar solo un token podemos sacar todos los de la SQL según su ip en una tabla con:
select token, localIP from devicerecord
Copiando todas las filas y las columnas podréis pegarlo en un Excel y contar que es de 32 caracteres para aseguraros de que es lo que buscáis.
En el Excel podéis contar el número de caracteres con =LARGO(A2)


viernes, 23 de febrero de 2018

Extraer TOKEN de un producto XIAOMI para usar su API desde IOS (Sin JailBreak)


1.       Hacer copia de seguridad del iphone con itunes en mono no cifrado


2.       Instalar el programa iBackup Viewer (http://www.imactools.com/iphonebackupviewer/)
Abrir el iBackup Viewer y seleccionar la última copia de seguridad (No debe tener un candado en ella)
Seleccionar estructura RAW


Seleccionar estructura de directorio


Buscar la carpeta: AppDomain-com.xiaomi.mihome, dentro tiene las carpetas library y Documents. En la derecha seleccionaremos Documents y la exportamos a nuestro PC (Por ejemplo al escritorio)


Nos crea la carpeta com.xiaomi.mihome que dentro tiene la Documents
Buscamos dentro de Documents el archivo xxxxxxxxxxxxx_mihome.sqlite (donde xxxxx es el núm. de ID de mi cuenta de Xioami que aparece en la parte de perfil de la APP de mi home)
3.       Instalamos el programa DB Browser para SQLite (http://sqlitebrowser.org/) y lo abrimos. Arrastramos la BBDD a este programa y se abrirá.
Vamos a la pestaña ejecutar SQL y en la ventana pegamos el sig texto:
select ZTOKEN from ZDEVICE where ZLOCALIP is "172.16.0.51"
Le damos al PLAY


Y en la ventana inferior nos muestra el TOKEN, podemos copiarlo con el raton.
NOTA: En lugar de sacar solo un token podemos sacar todos los de la SQL según su ip en una tabla con:
select ZTOKEN,ZLOCALIP from ZDEVICE
Copiando todas las filas y las columnas podréis pegarlo en un Excel.
Las versiones viejas de la app Mi HOME devuelve un token de 32 caracteres. Ese es el token que buscáis. Mientras que las apps nuevas de MI HOME devuelven en este caso un token de 96 caracteres, es un token cifrado que requiere hacer un paso extra.
En el Excel podéis contar el número de caracteres con =LARGO(A2)
4.       Vete a la URl http://aes.online-domain-tools.com/
Y para cada token que precises podrás descomprimirlo desde ella. Solo has de configurarla así:

** Input type: text
Input text (hex): your 96 character key
Selectbox Plaintext / Hex: Hex
Function: AES
Mode: ECB
Key (hex): 00000000000000000000000000000000
Selectbox Plaintext / Hex: Hex





Y en la parte inferior nos mostrará el token de 32 caracteres que buscamos. Aparece abajo en el cuadro de la derecha las 2 primeras líneas.



Podéis pegarlo es un TXT y luego al Excel y contar que es de 32 caracteres para aseguraros de que es lo que buscáis.

Si buscas otras opciones para sacar el token como por ejemplo un ios con jailbreak, un android, etc... no dejes de visitar el link https://github.com/jghaanstra/com.xiaomi-miio/blob/master/docs/obtain_token.md

Saludos

sábado, 17 de febrero de 2018

Programa de monitorizacion de equipos siempre encendidos

Posiblemente muchos de vosotros tengáis en vuestra RED de casa o de empresa equipo que siempre deben mantenerse encendidos. Me vienen por ejemplo a la mente equipos como:
- Camaras IP de vigilancia
- Grabadores de Camaras
- NAS
- Arduinos de monitorización
- Servidores
- Equipos de compartir impresoras o escaners
- Controles de infrarrojos
- Routers o puntos de accceso
- Equipos de mineria
Y cualquier cosa similar.



Pues aquí os dejo un programa de cosecha propia que se encargará de monitorizar este tipo de equipos y en el caso de que alguno esté mas de 15 minutos caído te mandará un correo electrónico. Funciona bajo windows sin problema.

Así seguirá enviando cada 15 minutos un mail hasta lo que volváis a encender.

Lo que hace el programa es hacer ping a esos equipos y si detecta 5 minutos si respuesta a dicho ping es cuando envía el mail. Para ello los equipos deben tener siempre la misma IP bien por que tengan IP fija o por que en el DHCP del router siempre se les asigna la misma por su MAC.

El programa lo podéis bajar de aquí. Check cada 15 minutos: https://drive.google.com/open?id=1NzqSY3lF7M3RNFHlTTVvjvt8TmMq0_WV

He realizado una version que hace lo mismo pero cada menos tiempo, en esta version se comprueba cada minuto y el mail de envia en el acto. Sería para redes muy estables y con control minucioso. Yo recomiendo la de 15 minutos. Check cada 1 minuto: https://drive.google.com/open?id=1zlDD1bpSiEzSh1XRg_Urv2B5QdlzPviP


Y para ponerlo a funcionar solo debéis configurar el archivo config.ini del cual os dejo un ejemplo de como podría ser su configuración.

computer01
192.168.0.1,192.168.0.2,192.168.0.3
grthamad@gmail.com
123456
smtp.gmail.com
587
true

Y llamar al .exe en el inicio de windows. Para esto debéis abrir la ventana de ejecutar (Win+R) y escribir shell:startup. Se os abrirá la carpeta de inicio de Windows y debéis crear en ella un acceso directo al .exe del programa. Así se llamará en el arranque de windows.



sábado, 27 de enero de 2018

Synology Surveillance Station Home Mode desde comando API

Si eres un poseedor de un equipo NAS de Synology que utilizas para grabación de cámaras IP con el complemento Surveillance Station tal vez quieras activar o desactivar el home mode desde algún ordenador, o similar...

 

Home mode por defecto solo se puede activar desde la página web de propio NAS o con la APP desde un móvil con geovalla. Yo probé y geovalla no va demasiado bien, en mi caso entraba en casa y no activaba el home mode.Se supone que Geovalla sirve para activar y desactivar home mode cuando se entra y se sale de casa... Así que me decidí a activarlo y desactivarlo externamente pero no encontraba forma alguna... hasta que vi que existe una API con la que poder comunicar ordenes de este estilo.

 

Sin mas ni mas me puse a crear un pequeño script que sirviese para activar o desactivar home mode con la ejecución de un simple .exe Os dejo el programa para su descarga, veréis que está compuesto por 3 archivos, un .ini de configuración y 2 .exe para activar y desactivar el home mode. Funciona bajo windows sin problema.

32 bits: https://drive.google.com/open?id=15iJ80YqO4PSP8w3qVjZ9aDnp12uxvM6_
64 bits: https://drive.google.com/open?id=1rtOmhavcja3eySdcyh_FwlVZA_5s-SkA


Si tenéis dudas podéis preguntar lo que necesitéis.