"Después del juego es antes del juego"
Sepp Herberger

lunes, 31 de octubre de 2016

Force brute attack a un lápiz de la pizarra Interwrite (Part Two)

Retomo un tema antiguo, ya tratado con anterioridad: el desmontaje de los lápices magnéticos de las pizarras Interwrite

Como los lápices siguen muriendo tengo suministro constante de ellos para experimentar, así que hace un par de semanas me decidí a diseccionar otro para confirmar o rebatir mis suposiciones del anterior artículo. Gracias al know-how de la anterior disección en esta ocasión la carnicería fue menos traumática para el lápiz.

Aquí vemos el corte realizado con una pequeña sierra de metal (con dientes minúsculos) para dejar a la vista la pila y el sistema de carga:



Ahora podemos ver como estaba yo equivocado en mi idea del cableado expuesta en el anterior post:




Cosas que quedan claras:
  • El polo positivo de la pila ya he comprobado con un multímetro que es el que apunta hacia abajo (ya que la pila está al revés de lo normal, con el polo negativo hacia arriba) y está conectado a terminal marcado + (más) en la placa del circuito impreso.
  • El polo negativo de la pila, el que está arriba, está conectado mediante un cable al a terminal marcado - (menos) en la placa del circuito impreso.
  • Los dos "brazos" de chapa que se usa para cargar el lápiz cuando está en la base no están directamente conectados a la pila. Están conectados al circuito impreso y desde allí cargarán la pila cuando reciban corriente de entrada.
Unas cuantas vistas más inferior y superior:





Por ultimo, fotos en HDR, para aprovechar que he descubierto que mi móvil tiene esto y saco fotos mucho mas claras con ello:



Bueno, con este lápiz parece mas sencillo poner una pila nueva, ya que no ha quedado tan destrozado. Estoy valorando probar a dar el cambiazo.

Una buena noticia es que Interwrite vende ahora unos modelos de lápices donde la pila es bastante mas fácil de intercambiar cuando llega al fin de su vida útil. Usan pilas recargables AAAA NiMh de 1.2V. Aquí una fotino y podemos ver que el lápiz se abre con una pestañita y sin que haga falta mutilar la carcasa:

Bueno, dije que intentaría volver antes de que hubiese presidente, pero no he podido cumplir mi promesa. Mal empezamos la legislatura.

viernes, 21 de octubre de 2016

Comandos útiles para gestionar los puntos de acceso wifi Dlink DIR-860L

Bueno, ya hemos hablado antes de nuestro DD-WRT embebido en los puntos de acceso Dlink. Conforme vamos trabajando con ellos y a sabiendas de que nos darán algún que otro quebradero de cabeza voy haciendo una lista de comandos interesantes.

Recordemos que accedemos a ellos por ssh, aunque tienen interfaz web y telnet (esta última normalmente desactivada por poco segura). Todos estos comandos están referidos a la red normal de 2.4Ghz. Si tenemos además activa la de 5Ghz habrá comandos equivalentes.

Levantar la red wifi manualmente para que se puedan conectar al punto de acceso:
# ifconfig ra0 up
Apagar la wifi:
# ifconfig ra0 down
Ver estado de la red wifi:
# cat /sys/class/net/ra0/operstate
Averiguar el SSID de la red wifi:
# nvram get wl0_ssid
Ver muchos parámetros de la red wifi:
# nvram show | grep wl0
La contraseña de acceso ssh se guarda en /etc/passwd, como cualquier Unix. Dicha contraseña se cambia con:
# setpasswd micontrasena
Luego, el interface web para acceder por navegador tiene su propio usuario de acceso que no tiene por que ser "root", pero en nuestro caso si lo es por mantener la homogeneidad en todos los centros. También tiene una contraseña que coincide con la de /etc/passwd. Ambos se establecen con:
# setuserpasswd usuario micontrasena
# nvram commit
Ojo, cuando ejecutamos setuserpasswd la contraseña de /etc/passwd también se cambia pasados unos instantes. Podemos consultar usuario y contraseña para el acceso web con:
# nvram get http_username
# nvram get http_passwd
Veremos que se almacenan ambos codificados con md5, con formatos del estilo "$1$.NhRDhhO$CB9/G3KJV8.cfUyQUMie3/".

Otra cosa que solemos hacer es activar el protocolo https y desactivar el protocolo http para llegar al punto de acceso. Desde linea de comandos haremos:
# nvram set http_enable=0
# nvram set https_enable=1
# nvram commit
Recordemos que "nvram commit" escribe los cambios en la memoria del punto de acceso para que se guarden de manera permanente.


Addenda 24 noviembre: mi compañero Chema me pasa otro comando interesante, para cambiar el canal de emisión de la wifi o dejarlo en automático (valor "0" en la asignación):
# nvram set wl_channel=7
# nvram set wl0_channel=7
# nvram commit

Otra cosa que hemos advertido en este router es que es bastante lerdo a veces a la hora de aplicar los cambios realizados y no viene mal hacer un:
# reboot
Para que se configure bien de acuerdo a nuestras órdenes.

Bueno, pues como dijo el T-800 al oficial de policía que no le permitía presentar sus respetos a Sarah Connor:


A ver si lo consigo antes de que haya gobierno, que estoy en ascuas por saber quien es el presidente.

miércoles, 5 de octubre de 2016

Modificar y reempaquetar un .deb

Recientemente he tenido algún problema con 2 paquetes que me daban quebraderos de cabeza a la hora de mantener la coherencia de mi sistema de paquetes Debian. Ya que tenemos un eX-presidente que piensa que se puede traspasar los límites del Estado de Derecho por el "bien común" (de unos pocos) he pensado que yo también puedo traspasar los límites de las reglas del sistema de paquetes para mantener la coherencia. Cada uno hace la puñeta hasta donde puede :-P.

Para uno de ellos había en repositorios una versión mayor y se actualizaba al hacerse pkgsync. Ni siquiera un hold funcionaba para hacer que se quedase quietecito. La solución pasaba por modificar el paquete original y cambiar internamente el número de versión, poniendo una mucho mas alta (de la 2.0.4 a la 2.9.9, por ejemplo) para asegurarnos que por mucho tiempo que pase no se va a machacar dicha versión en ninguna actualización.

Para el otro el problema era que tenía una dependencia que instalaba una aplicacioncilla de diseño de circuitos electrónicos que no era necesaria, pero esto provocaba una cascada de instalaciones que acababa chocando con las dependencias de otro paquete de terceros que si era imprescindible (el software de la pizarra Interwrite, concretamente). En este caso tenia que modificar las dependencias del paquete original y quitar lo que molestaba.

Si no tenemos el paquete que queremos modificar a mano podemos descargar el .deb de repositorios con:
# apt-get download mipaquete
Esto nos descarga mipaquete-xxx.deb. Ahora necesitamos desempaquetarlo para hurgar dentro. Para ello usamos dpkg-deb
# apt-get install dpkg
# mkdir trabajo
# dpkg-deb -R mipaquete-xxx.deb trabajo
Esto desmontará el paquete y lo quedará dentro de "trabajo" para que podamos retocarlo. Supongamos que hemos descargado el paquete arandr para modificarlo. Los datos a retocar para los casos que he expuesto antes están en:
# cat trabajo/DEBIAN/control
Package: arandr
Version: 0.1.9-1
Architecture: all
Maintainer: Ubuntu Developers 
Original-Maintainer: Christian M. Amsüss 
Installed-Size: 309
Depends: python (>= 2.7), python (<< 2.8), x11-xserver-utils | xrandr, python-gtk2
Section: x11
Priority: optional
Homepage: http://christian.amsuess.com/tools/arandr/
Description: Simple visual front end for XRandR
 ARandR is a visual front end for XRandR 1.2/1.3 (per display options), which
 provides full control over positioning, saving and loading to/from shell
 scripts and easy integration with other applications.
Modificando el apartado "Version" puedo poner la que yo quiera, modificando "Depends" puedo añadir o quitar dependencias. Una vez retocado a nuestro gusto tocra reempaquetar:
# dpkg-deb -b trabajo mipaquete-yyy.deb
Y se creará el fichero mipaquete-yyy.deb que podremos a instalar a mano con:
# dpkg -i mipaquete-yyy.deb; apt-get -f install
Y ya tenemos nuestro paquete tuneado para que no de problemas con lo que queramos hacer. Por supuesto no estamos circunscritos a trabajo/DEBIAN/control, también podemos retocar los scripts de pre y post-instalación, los mismos ficheros que componen el paquete y que se instalan por /usr/bin/ y demás ubicaciones. Incluso podemos crear un paquete desde cero así de una forma rápida, usando otro como plantilla.

Nos vemos cuando haya otras cosas interesantes que contar... o cuando tengamos Gobierno, lo que antes llegue.