Archivos en la categoría 'Tips'

Empty Standby List

Jueves, Diciembre 28th, 2023

EmptyStandbyList.exe is a command line tool for Windows (Vista and above) that can empty:

  • process working sets,
  • the modified page list,
  • the standby lists (priorities 0 to 7), or
  • the priority 0 standby list only.

The executable file below is signed.
Download: EmptyStandbyList.exe

Usage:

EmptyStandbyList.exe workingsets|modifiedpagelist|standbylist|priority0standbylist

Warning: All this text was yanked from it’s original autor at https://wj32.org/. Since the server does not work/respond anymore I rescued the article and exe from archive.org. I found this solution to a common problem of windows using and not freeing standby memory. If you like me do not use swap file then things goes nasty when memory fills up. Adding an schedule task in Task Scheduler calling EmptyStandbyList.exe every 5m does a nice job ensuring that the memory is clean and free.

Expired RSA SecurID Token revival (guerrilla hack)

Lunes, Enero 25th, 2016

I had lying around an expired RSA SecurID with the typical blank display only showing a small 3 in the right.

Looking for some info about expired tokens I found an old topic at flickr (original URL here) where Travis Goodspeed managed to revive one the tokens with a simple trick: apply 3v for a second in two of the pads behind the protective plate.

Here is the diagram:

Expired RSA SecurID Token Revival Diagram

Expired RSA SecurID Token Revival Diagram

Here the revived Token:

Expired RSA SecurID Token Revived

Expired RSA SecurID Token Revived

The token was expired since november 2011 but still got battery to keep working.

I Haven’t tested if token still is valid to autenticate against RSA daemon after revival.

Editando una imagen initrd a pelo

Martes, Septiembre 28th, 2010

En realidad es muy sencillo y generalmente conocido comprimir y descomprimir un árbol de archivos para editar por ejemplo las opciones del arranque del init y demás, esta entrada es mas a titulo personal para recordarlo en un futuro. Para descomprimir:

cp initrd.img initrd.gz
gunzip < initrd.img | cpio -i –make-directories

y para comprimir:

find ./ | cpio -H newc -o > initrd.cpio
gzip initrd.cpio
mv initrd.cpio.gz initrd.img

Así de sencillo!

iPod Touch 1.1.3 Jailbreak FIX

Viernes, Mayo 16th, 2008

Bueno, llevo ya una temporadita con el iPod Touch mas contento que unas castañuelas desde que lo compré (allá antes de las pasadas navidades) y desde que tengo la version 1.1.3 jailbreak siempre he tenido un problema a la hora de hacer un reinicio del hardware: la entrada del iPod Touch en recovery mode, esa imágen que obtenemos cuando compramos un iPod que consta del cable del mismo y una flecha apuntando al icono del iTunes, diciendonos que conectemos el iPod al iTunes.
El reinicio de hardware solo se da ante dos ocasiones:

  1. Te quedas sin batería.
  2. Haces un apagado forzado manteniendo pulsados los dos botones.

Contrariamente a lo que mucha gente piensa, el ‘apagado’ que se consigue manteniendo pulsado el botón de encendido no es un reinicio del hardware real si no que al parecer el iPod Touch entra en un modo de hibernación, de manera que al encenderlo de nuevo no entra en modo de recuperación.

Otra diferencia entre el apagado real y la hibernación en el iPod Touch es que tarda mucho menos en arrancar desde la hibernación que desde el apagado real.

Volviendo al tema principal, es fácil arrancar el iPod Touch desde el modo de recuperación con programas como el iBrick que con un simple toque de ratón teniendo conectado el iPod Touch al ordenador nos quita el modo y nos consigue arrancar el iPod.

El problema de este método es que dependemos del ordenador, por lo que si por cualquier motivo sufrimos un reinicio del hardware en cualquier situacion lejana a un PC con iBrick (estás en clase y derrepente se te cuelga el iPod por una aplicación experimental) te tienes que esperar a poder conectar el iPod a algun ordenador para arrancarlo.
Existe una forma de arreglarlo, aunque personalmente pienso que es un poco chapuza ya que no indaga en el motivo real de la entrada del iPod en el modo de recuperación si no que hace un bypass del modo de recuperación, es usando una aplicación de linea de comandos que viene dentro del mismo directorio de iBrick (si no lo tienes puedes descargarlo de aqui) llamada iphoneinterface.exe.

Desde Windows, ejecutamos el iphoneinterface.exe con un doble click habiendo conectado el iPod Touch en modo recuperación previamente (obvio) y nos aparecerá el siguiente mensaje:

s_iPhoneInterface
s_Logging in restore.log: 0
s_I NEED A WAY TO EXIT THIS MODE
s_To exit, you need to do a full restore
r_recovery

Es importante que nos aparezca la última línea que dice r_recovery ya que nos indica que se ha detectado un iPod en modo de recuperación.

Ahora se le tiene que decir a la ‘bios’ del iPod que arranque siempre de forma automática:

setenv auto-boot true

y despues guardar los cambios y arrancar:

saveenv
fsboot

Con lo que despues de ejecutar las 3 instrucciones la consola quedaría así:

s_iPhoneInterface
s_Logging in restore.log: 0
s_I NEED A WAY TO EXIT THIS MODE
s_To exit, you need to do a full restore
r_recovery
setenv auto-boot true
s_setenv auto-boot true: 0
r_recovery
saveenv
s_saveenv: 0
r_recovery
fsboot
s_fsboot: 0
r_recovery

Realmente a mi con el comando fsboot no me arrancó el iPod, le hice otro hard reset manteniendo pulsados ambos botones y al encenderlo de nuevo ya me arrancaba bien y sin problemas.

Enjaulando UnrealIRCd, Chroot.

Martes, Marzo 11th, 2008

La verdad es que soy algo paranoico respecto a tener servicios cara a internet, por ello todos tienen sus jaulas, y UnrealIRCd no iba a ser menos.

UnrealIRCd tiene una opcion en include/config.h que al menos en teoría debería de autoenjaularse, pero no parece funcionar bien, por lo que he decidido ejaularlo a la antigua.

Para ello a la hora de compilar le defino un directorio temporal (donde quiero mi configuración y binario, /Unreal) y tras compilar y hacer make install, se creará la carpeta /Unreal (ojo, sin los certificados, hay que copiarlos a mano) con el unreal listo para correr, pero como soy una persona dentro de lo normal ordenada, muevo la carpeta de / a /chroot/ircd, quedando /chroot/ircd/Unreal.

El siguiente paso consiste en copiarle las librerías adecuadas a la jaula para que funcione bien el binario. Para ello:

# cd /chroot/ircd; mkdir lib
# ldd /chroot/ircd/Unreal/ircd
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xa339e000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0xa3388000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xa3384000)
libc.so.6 => /lib/tls/libc.so.6 (0xa324c000)
/lib/ld-linux.so.2 (0xa33d7000)
# cp /lib/libcrypt.so.1 lib/
.. (seguimos copiando librerías)
# cp /lib/libc.so.6 lib/

Ahora viene el directorio /etc de nuestra jaula. Para ello he creado en mi sistema el usuario ircd y creado en /chroot/ircd/etc sendos archivos passwd con solamente la linea de usuario ircd y group con la linea de grupo para posteriores permisos. También he copiado los archivos localtime y resolv.conf desde /etc a /chroot/ircd/etc.

Por último, es necesario para el correcto funcionamiento de UnrealIRCd (al menos con soporte ssl) el dispositivo /dev/urandom:

# mkdir dev; cd dev
# mknod -m 0644 /chroot/ircd/dev/urandom c 1 9

Con todo esto la jaula ya debería de estar preparada para ser lanzada. No hay que olvidarse de configurar correctamente el unrealircd.conf ni de los permisos:

# chown -R ircd:ircd /chroot/ircd

Para correr el ircd, yo recomiendo usar chrootuid, que es como chroot pero que rueda el programa deseado como un usuario específico:

# chrootuid /chroot/ircd ircd /Unreal/ircd

Si todo funciona correctamente el UnrealIRCd ya debería de estar corriendo perfectamente enjaulado.